API

Seedance 2.0 API

Video

L’API Seedance 2.0 genera video di 4–15 secondi in 480p / 720p / 1080p / 4K da testo, fotogrammi o riferimenti multimodali. La modalità riferimento accetta fino a 9 immagini, 3 video e 3 file audio. Ogni immagine deve avere dimensioni massime di 30 MB.

Autorizzazioni

Bearerstringheaderobbligatorio

Chiave API per autorizzare le richieste

Corpo

application/json
modelstringobbligatorio
seedance-2-0
input.promptstringobbligatorio

Descrivi soggetto, azione, scena, illuminazione, movimento della telecamera e tempi. Gli spazi iniziali e finali vengono rimossi.

input.frames_imagesstring[]opzionale

Lista di uno o due URL di immagini HTTPS pubblici: fotogramma iniziale e finale facoltativo. Questa modalità non può essere combinata con reference_images, reference_videos o reference_audios.

Con input.frames_images, Seedance 2.0 usa automaticamente il rapporto adaptive in base ai fotogrammi forniti.

Numero massimo di URL: 2.

Dimensione massima per immagine: 30 MB.

Esempio: ["https://example.com/first-frame.png","https://example.com/last-frame.png"]

input.reference_imagesstring[]opzionale

Lista di URL HTTPS pubblici di immagini di riferimento. Combinabile con reference_videos e reference_audios, ma non con frames_images. Invia stringhe URL, non file o base64.

Numero massimo di URL: 9.

Dimensione massima per immagine: 30 MB.

Esempio: ["https://example.com/your-image.png"]

input.reference_videosstring[]opzionale

Lista di URL HTTPS pubblici di video di riferimento. Non combinare con frames_images. I video modificano il consumo di crediti; consulta la riga e la formula corrispondenti.

Numero massimo di URL: 3.

Esempio: ["https://example.com/your-video.mp4"]

input.reference_audiosstring[]opzionale

Lista di URL HTTPS pubblici di audio di riferimento. Combinabile con altre liste reference_*, ma non con frames_images.

Numero massimo di URL: 3.

Esempio: ["https://example.com/your-audio.mp3"]

input.durationintegeropzionale

Durata del video in secondi interi, da 4 a 15. Il valore predefinito è 5. I crediti consumati dipendono dalla durata.

Predefinito: 5

4–15
input.resolutionstringopzionale

Risoluzione video. Usa uno dei valori in minuscolo elencati sotto. La risoluzione determina la tariffa in crediti.

Predefinito: 720p

480p720p1080p4k
input.aspect_ratiostringopzionale

Rapporto tra larghezza e altezza. Il valore predefinito è 16:9. I fotogrammi possono guidare la composizione finale.

Predefinito: 16:9

16:99:161:13:44:321:9
input.soundbooleanopzionale

Indica se generare audio insieme al video. Il valore predefinito è false. Invia un booleano JSON, non una stringa.

Predefinito: false

Esempi di richiesta

Scegli una modalità: nessun contenuto multimediale per testo in video; frames_images per fotogrammi iniziale e finale; oppure combina reference_images, reference_videos e reference_audios per i riferimenti. frames_images non può essere combinato con liste multimediali reference_*. Le risorse sono liste di URL HTTPS pubblici, non file o base64. Sostituisci gli URL example.com. Salva data.task_id e interroga POST /api/v1/check fino a completed o failed.

POST /api/v1/create
curl -X POST https://nanobanana.io/api/v1/create \
  -H "Authorization: Bearer sk_live_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "seedance-2-0",
  "input": {
    "prompt": "Un’auto d’epoca rossa percorre una strada costiera al tramonto. La telecamera segue dolcemente il fianco dell’auto mentre la luce calda si riflette sul mare.",
    "duration": 5,
    "aspect_ratio": "16:9",
    "resolution": "720p",
    "sound": false
  }
}'
POST /api/v1/create · HTTP 201
{
  "data": {
    "task_id": "task_example",
    "model": "seedance-2-0",
    "status": "processing",
    "credits": 750
  }
}

Interroga questo endpoint usando l’ID attività restituito finché l’attività non viene completata o fallisce. Consigliamo un polling ogni 5 secondi per controllare lo stato più recente.

POST /api/v1/check
{
  "task_id": "task_example"
}

Risposta

Stato dell’attività restituito da POST /api/v1/check. ID, URL e timestamp seguenti sono esempi.

idstringobbligatorio

Identificatore dell’attività in data.id, uguale al task_id inviato nella richiesta di verifica.

statusstringobbligatorio
completed indica che la generazione è riuscita e data.data contiene i risultati. Negli altri stati, data.data è null.
failed_reasonstringopzionale

Restituito solo quando status è failed, per spiegare il motivo dell’errore. Il campo è omesso per completed e processing.

Completata · completed

Gli URL di download sono in data.data.results.

POST /api/v1/check · HTTP 200
{
  "data": {
    "id": "task_example",
    "created_at": 1791244800,
    "model": "seedance-2-0",
    "status": "completed",
    "data": {
      "results": [
        "https://example.com/generated.mp4"
      ],
      "processing_time": 120
    }
  }
}

Altri stati

Con processing o failed, data.data è null. Questo esempio mostra failed: solo failed include failed_reason. Continua le verifiche con processing; interrompile con failed.

POST /api/v1/check · HTTP 200
{
  "data": {
    "id": "task_example",
    "created_at": 1791244800,
    "model": "seedance-2-0",
    "status": "failed",
    "data": null,
    "failed_reason": "Generation failed."
  }
}

Consumo di crediti

Crediti per secondo fatturabile in base a risoluzione e modalità dei riferimenti video.

Crediti per secondo fatturabile in base a risoluzione e modalità dei riferimenti video.
Generazione480P720P1080P4K
Senza video di riferimento80150400500
Con video di riferimento4890240300

Ogni richiesta genera un video. Se durata o risoluzione sono omesse, si applicano i valori predefiniti. I riferimenti video possono aumentare il consumo; usa la riga e la formula appropriate.

Scegli la riga in base alla presenza di reference_videos. Totale = secondi di video generati × tariffa al secondo. Solo immagini o audio usano la riga senza video di riferimento.

Il campo credits restituito da POST /api/v1/create mostra i crediti addebitati per l’attività.