LogoDocumentazione Wan API
LogoDocumentazione Wan API
Pagina inizialePanoramica di Wan APIGuida all’integrazione di Wan APIWan 3.0Wan 3.0 PrimeWan 3.0 ProWan 3.0 Prime ProSeedance 2.5Seedance 2.0

Seedance 2.0

Guida API di Seedance 2.0: generazione video, fotogrammi e riferimenti, esempi di richieste, polling delle attività, download e prezzi.

Seedance 2.0 supporta testo, primo e ultimo fotogramma e riferimenti di immagini, video e audio, con output a 480p, 720p, 1080p, 4K. Genera video lunghi fino a 15 secondi per richiesta. Dettagli del modello e Playground.

Collegarsi a Wan API

Usa https://api.wanapi.app come URL di base dell'API. Crea una chiave con la famiglia di modelli Seedance nelle impostazioni delle chiavi API e inviala come Authorization: Bearer YOUR_API_KEY. Conserva le chiavi sul tuo server. Il Playground usa la sessione del sito e addebita lo stesso saldo dell'account; non richiede di incollare una chiave nel browser.

L'accesso richiede un account abilitato con saldo sufficiente. GET /v1/models elenca i modelli disponibili per la tua chiave. I modelli Seedance usano POST /v1/videos; seleziona il modello nel corpo JSON.

ImpostazioneSeedance 2.0
ID modellobytedance/seedance-2.0
resolution480p, 720p, 1080p, 4k; valore predefinito: 720p.
duration4–15 secondi di video in uscita oppure -1 per la durata automatica; valore predefinito: 5.
aspectRatioadaptive, 16:9, 4:3, 1:1, 3:4, 9:16, 21:9; valore predefinito: adaptive.
generateAudiotrue per impostazione predefinita. false non riduce la tariffa per token.
OutputUn video per richiesta, a 24 fps.

I campi della richiesta descrivono tutti i 13 campi di primo livello. Usa i nomi indicati qui, compresi aspectRatio e generateAudio.

Inviare un'attività di Seedance 2.0

Questa richiesta da testo a video produce una clip di quattro secondi a 720p. Imposta WAN_API_KEY con la tua chiave Seedance sul server. Invia una sola volta e salva l'id restituito.

curl https://api.wanapi.app/v1/videos \
  -H "Authorization: Bearer $WAN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "bytedance/seedance-2.0",
  "prompt": "A paper boat floats through a sunlit stream. Slow tracking shot.",
  "resolution": "720p",
  "aspectRatio": "16:9",
  "duration": 4,
  "generateAudio": true
}'

Interrogare un'attività di Seedance 2.0

Salva l'id restituito come TASK_ID, poi interroga l'attività con la stessa chiave. L'invio restituisce una ricevuta dell'attività; il video è disponibile al completamento. Inizia il polling ogni cinque secondi; consulta stati delle attività e download.

curl "https://api.wanapi.app/v1/videos/$TASK_ID" \
  -H "Authorization: Bearer $WAN_API_KEY"

Prezzi di Seedance 2.0

Le tariffe sono in USD per un milione di token video. I token video in ingresso e in uscita determinano il costo finale. Risoluzione, durata e video di riferimento influiscono sul consumo; usa la tariffa corrispondente alle richieste con o senza video di riferimento. L'audio non ha una fascia di prezzo separata.

Tariffe attualiStima in USD / secondo fatturabile
Prezzi stimati di Seedance 2.0 in USD per secondo fatturabile (16:9, 24 fps)
RisoluzioneVideo di riferimentoPrezzo ufficialePrezzo Wan APIRisparmio
480pSenza video0,0703 USDNon disponibile—
480pCon video0,0432 USDNon disponibile—
720pSenza video0,1512 USDNon disponibile—
720pCon video0,0929 USDNon disponibile—
1080pSenza video0,3742 USDNon disponibile—
1080pCon video0,2284 USDNon disponibile—
4KSenza video0,7776 USDNon disponibile—
4KCon video0,4666 USDNon disponibile—

Le stime si basano su un output in 16:9 a 24 fps. Altri rapporti d’aspetto e le dimensioni effettive dell’output possono modificare il costo.

Senza video di riferimento, si contano solo i secondi di output. Con un video di riferimento, si contano i secondi di input e di output; la durata di input fatturabile è pari almeno a due terzi della durata di output, arrotondati per eccesso al secondo intero.

Confronto ufficiale: Prezzi internazionali a consumo di BytePlus. Verificato il 2026-10-15. I prezzi di Wan API si aggiornano automaticamente.

I token video in ingresso e in uscita determinano il costo finale. Le richieste non riuscite non vengono addebitate.

Consulta prezzi e stime di Seedance 2.0. Controlla la stima nel Playground prima dell'invio.

Campi della richiesta

Invia un oggetto JSON. model è obbligatorio, insieme a un prompt non vuoto o almeno un input multimediale. Gli altri campi sono facoltativi. I campi sconosciuti vengono rifiutati.

CampoTipoSpecifica
modelstringObbligatorio: bytedance/seedance-2.0.
promptstringIstruzioni testuali; fino a 20.000 caratteri su questo servizio. È obbligatorio un prompt o un input multimediale.
imageURL o oggetto URLURL dell'immagine del primo fotogramma, oppure un oggetto con type: "url", url e mediaType facoltativo. Usa image oppure frameImages, non entrambi.
frameImagesarrayUn first_frame e un last_frame facoltativo. Ogni elemento contiene frameType e image; vedi l'esempio dei fotogrammi qui sotto.
inputReferencesarrayFino a 9 immagini e 3 video. Ogni elemento contiene type: "url", url e mediaType. È accettata anche la forma URL con data/mediaType.
aspectRatiostringadaptive (predefinito), 16:9, 4:3, 1:1, 3:4, 9:16, 21:9.
resolutionstring480p, 720p, 1080p, 4k. Valore predefinito: 720p. Accetta anche 854x480, 1280x720, 1920x1080 e 3840x2160 come livelli di risoluzione; usa aspectRatio per scegliere il formato.
durationinteger4–15 secondi di video in uscita oppure -1 per la durata automatica. Valore predefinito: 5.
fpsintegerFisso a 24; omettilo oppure invia 24.
seedintegerFacoltativo; da -1 a 2147483647. La ripetibilità non è garantita. Non specificare anche providerOptions.bytedance.seed.
generateAudiobooleanGenera audio. Valore predefinito: true; disattivarlo non cambia la tariffa per token.
nintegerFisso a 1; un video per richiesta.
providerOptionsobjectOggetto bytedance facoltativo: referenceAudio (fino a 3 URL HTTP(S)), seed (stessi limiti del campo seed di primo livello). draft: true non è supportato. Le opzioni sconosciute vengono rifiutate.

Combinazioni di input e limiti dei contenuti

  • Usa image per un primo fotogramma oppure frameImages per un primo fotogramma e un ultimo facoltativo. Un ultimo fotogramma da solo e i tipi di fotogramma duplicati vengono rifiutati.

  • I fotogrammi non possono essere combinati con inputReferences o providerOptions.bytedance.referenceAudio.

  • La modalità riferimenti accetta fino a 9 immagini, 3 video e 3 clip audio, per un massimo di 15 riferimenti totali.

  • Gli input multimediali devono essere URL HTTP(S) pubblici. Non sono accettati caricamenti di byte né URL con credenziali.

  • Immagini: JPEG, PNG, WebP, BMP, TIFF o GIF; meno di 30 MB; ogni lato di 300–6000 pixel; rapporto d'aspetto 0.4–2.5.

  • Video: MP4 o MOV; massimo 50 MB per file; ogni clip di 2–15 secondi e massimo 15 secondi complessivi; 300–6000 pixel per lato, rapporto d'aspetto 0.4–2.5, 24–60 fps.

  • Audio: MP3 o WAV; massimo 15 MB per file; ogni clip di 2–15 secondi e massimo 15 secondi complessivi. È richiesta almeno un'immagine o un video di riferimento.

  • Dimensioni, codifica e durata dei contenuti remoti vengono verificate durante l'elaborazione; la sola validazione dell'URL non garantisce che un file sia utilizzabile.

  • Questo endpoint non espone il rendering finale da una precedente attività di bozza né opzioni native arbitrarie per le attività.

Esempi con fotogrammi e riferimenti

Invia questi corpi allo stesso endpoint POST /v1/videos. Prima dell'invio, sostituisci ogni URL example.com con un tuo URL multimediale direttamente accessibile. Mantieni disponibili gli URL di input fino al completamento dell'attività.

Primo e ultimo fotogramma

Per un solo primo fotogramma, usa image: "https://example.com/first-frame.jpg" e ometti frameImages. Per definire l'inizio e la fine della clip, usa:

{
  "model": "bytedance/seedance-2.0",
  "prompt": "The camera slowly moves from the opening scene to the closing scene.",
  "frameImages": [
    {
      "frameType": "first_frame",
      "image": "https://example.com/first-frame.jpg"
    },
    {
      "frameType": "last_frame",
      "image": "https://example.com/last-frame.jpg"
    }
  ],
  "aspectRatio": "adaptive",
  "resolution": "720p",
  "duration": 4
}

Riferimenti di immagini, video e audio

Inserisci gli input di immagini e video in inputReferences, con un tipo MIME esplicito. Inserisci gli URL audio in providerOptions.bytedance.referenceAudio. Non aggiungere input di fotogrammi a questa richiesta.

{
  "model": "bytedance/seedance-2.0",
  "prompt": "Use the character from the image and the camera movement from the video.",
  "inputReferences": [
    {
      "type": "url",
      "url": "https://example.com/character.jpg",
      "mediaType": "image/jpeg"
    },
    {
      "type": "url",
      "url": "https://example.com/motion.mp4",
      "mediaType": "video/mp4"
    }
  ],
  "providerOptions": {
    "bytedance": {
      "referenceAudio": [
        "https://example.com/sound.wav"
      ]
    }
  },
  "resolution": "720p",
  "duration": 4
}

Polling e download del video

Un'attività accettata restituisce un oggetto come questo. ID e timestamp di esempio sono illustrativi:

{
  "id": "task_EXAMPLE",
  "object": "video",
  "model": "bytedance/seedance-2.0",
  "status": "queued",
  "progress": 0,
  "created_at": 1792022400
}

Interroga periodicamente GET /v1/videos/{task_id} con la tua chiave API. La query restituisce lo stesso ID pubblico dell'attività e lo stesso modello. Usa status per decidere quando interrompere il polling; progress non è una stima del tempo rimanente.

StatoSignificatoPasso successivo
queuedL'attività è stata accettata.Continua il polling.
in_progressLa generazione è in corso.Continua il polling.
completedIl video è pronto.Leggi videos[0].url e scarica il video.
failedLa generazione non è riuscita.Interrompi il polling e controlla error.

Una query completata include videos, un array di oggetti contenenti url e mediaType. I timestamp sono espressi in secondi Unix; completed_at compare quando viene registrato il completamento.

{
  "id": "task_EXAMPLE",
  "object": "video",
  "model": "bytedance/seedance-2.0",
  "status": "completed",
  "progress": 100,
  "created_at": 1792022400,
  "completed_at": 1792022460,
  "videos": [
    {
      "url": "/v1/tasks/task_EXAMPLE/artifacts/video/content",
      "mediaType": "video/mp4"
    }
  ]
}

Se l'URL restituito è un percorso relativo, risolvilo rispetto a https://api.wanapi.app e autenticati con la tua chiave API. Per l'esempio precedente:

curl "https://api.wanapi.app/v1/tasks/$TASK_ID/artifacts/video/content" \
  -H "Authorization: Bearer $WAN_API_KEY" \
  -o video.mp4

Se viene restituito un URL multimediale HTTPS firmato, usalo direttamente senza inoltrare la chiave API a quell'host. Gli URL dei risultati possono scadere. Salva i video da conservare nel tuo spazio di archiviazione. Il polling e il download di un risultato esistente non creano un'altra generazione.

Un'attività non riuscita include un oggetto error con code e message, per esempio:

{
  "id": "task_EXAMPLE",
  "object": "video",
  "model": "bytedance/seedance-2.0",
  "status": "failed",
  "error": {
    "code": "generation_failed",
    "message": "Video generation failed"
  }
}

Fatturazione e gestione degli errori

L'addebito finale dipende dal consumo effettivo di token video e dalla tariffa attuale del modello. La stima del Playground è una stima massima, non un preventivo fisso. Clip più lunghe e risoluzioni di output maggiori possono aumentare il consumo di token. Le richieste non riuscite non vengono addebitate.

  • Parametri non validi: correggi i campi o la combinazione di input prima di inviare di nuovo. Controlla formati e limiti dei contenuti, oltre alla sintassi degli URL.
  • Autenticazione o accesso al modello: usa una chiave Seedance valida e abilitata per il modello richiesto.
  • Saldo insufficiente: aggiungi fondi prima di una nuova richiesta a pagamento. Un limite della chiave non aggiunge credito all'account.
  • Errore temporaneo nel polling: riprova la GET con intervalli crescenti e un tempo massimo di attesa. Una query non riuscita non significa che la generazione sia fallita.
  • Timeout dell'invio o ID attività mancante: l'esito potrebbe essere sconosciuto. Non ripetere automaticamente la POST; potrebbe creare una seconda attività a pagamento.
  • Errore di download: riprova il risultato esistente prima di avviare una nuova generazione.

Conserva l'ID attività e contatta l'assistenza se occorre indagare su un invio dall'esito incerto.

Scarica lo schema OpenAPI di Seedance 2.0.

Seedance 2.5

Guida API di Seedance 2.5: generazione video, fotogrammi e riferimenti, esempi di richieste, polling delle attività, download e prezzi.

Indice

Collegarsi a Wan APIInviare un'attività di Seedance 2.0Interrogare un'attività di Seedance 2.0Prezzi di Seedance 2.0Campi della richiestaCombinazioni di input e limiti dei contenutiEsempi con fotogrammi e riferimentiPrimo e ultimo fotogrammaRiferimenti di immagini, video e audioPolling e download del videoFatturazione e gestione degli errori