API
Seedance 2.0 Fast API
VideoL’API Seedance 2.0 Fast genera video di 4–15 secondi in 480p / 720p 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.
Corpo
application/jsonmodelstringobbligatorioseedance-2-0-fastinput.promptstringobbligatorioDescrivi soggetto, azione, scena, illuminazione, movimento della telecamera e tempi. Gli spazi iniziali e finali vengono rimossi.
input.frames_imagesstring[]opzionaleLista 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 Fast 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[]opzionaleLista 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[]opzionaleLista 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[]opzionaleLista 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.durationintegeropzionaleDurata del video in secondi interi, da 4 a 15. Il valore predefinito è 5. I crediti consumati dipendono dalla durata.
Predefinito: 5
input.resolutionstringopzionaleRisoluzione video. Usa uno dei valori in minuscolo elencati sotto. La risoluzione determina la tariffa in crediti.
Predefinito: 720p
input.aspect_ratiostringopzionaleRapporto tra larghezza e altezza. Il valore predefinito è 16:9. I fotogrammi possono guidare la composizione finale.
Predefinito: 16:9
input.soundbooleanopzionaleIndica 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/createcurl -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-fast",
"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-fast",
"status": "processing",
"credits": 500
}
}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.
idstringobbligatorioIdentificatore dell’attività in data.id, uguale al task_id inviato nella richiesta di verifica.
statusstringobbligatoriofailed_reasonstringopzionaleRestituito 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-fast",
"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-fast",
"status": "failed",
"data": null,
"failed_reason": "Generation failed."
}
}Consumo di crediti
Crediti per secondo fatturabile in base a risoluzione e modalità dei riferimenti video.
| Generazione | 480P | 720P |
|---|---|---|
| Senza video di riferimento | 50 | 100 |
| Con video di riferimento | 30 | 60 |
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à.
