ByteDance: Seedance 2.0
ByteDance Seedance 2.0 combina la generazione nativa di audio e video con riferimenti di immagini, video e suoni. Dirigi nuove scene, modifica filmati esistenti o estendi una sequenza; l’edizione standard comprende output documentato a 1080p e 4K a 10 bit.
Informazioni sul modello
Questa descrizione illustra le funzionalità del modello. Gli input, gli output e le opzioni disponibili in Ailoot per il metodo selezionato sono elencati di seguito.
Seedance 2.0 è il modello standard di ByteDance Seed per la creazione audiovisiva multimodale. Combina testo, immagini, video e audio in un’architettura di generazione congiunta, con flussi creativi separati per scene guidate da riferimenti, modifica video ed estensione video. È utile quando il brief richiede sia una recitazione coerente sia informazioni visive o sonore specifiche ricavate da materiali preparati.
Riferimenti multimodali e controllo della regia
Le immagini possono definire l’aspetto del soggetto, lo stile visivo e la composizione. I riferimenti video possono guidare l’azione, il movimento di camera e gli effetti. L’audio può guidare il timbro della voce, la musica o i dialoghi. Definisci il ruolo di ciascun materiale, quindi descrivi la scena da ottenere. Il produttore sottolinea il controllo della recitazione, dell’illuminazione, delle ombre e del linguaggio della camera.
Per una storia di prodotto, prepara un’immagine del prodotto, un riferimento per il movimento di camera e un’indicazione audio. Un brief potrebbe essere: «Preserve the blue glass vase from Image 1. Use the slow sideways tracking movement from Video 1. The vase sits on a sunlit shelf, with soft instrumental music based on Audio 1.» Il risultato previsto è una scena messa in scena ex novo che combina informazioni selezionate dai riferimenti.
Gli input di riferimento possono combinare immagine e audio, immagine e video, video e audio oppure tutti e tre. Non sono supportati input costituiti soltanto da audio né testo con audio senza immagine o video. Sono documentate anche la generazione tradizionale di video da testo, la generazione con primo fotogramma e quella con primo e ultimo fotogramma. Se sono importanti composizioni iniziali e finali fisse, usa il flusso dedicato ai fotogrammi di confine: indicare un’immagine di riferimento come punto finale in un prompt omni-reference è soltanto un modo indiretto di guidare il risultato.
Modificare un filmato
Il modello può sostituire un soggetto, aggiungere o rimuovere oggetti, cambiare elementi e ridisegnare o correggere parti di un video. Descrivi la modifica specifica e identifica il filmato sorgente. Per un’aggiunta, includi il momento e la posizione in cui compare; per una rimozione o una sostituzione, indica con precisione l’oggetto e ciò che deve restare.
Per esempio: «Replace the desk lamp in Video 1 with the brass lamp in Image 1. Keep the camera movement, desk arrangement and lighting direction.» Il risultato desiderato è una versione modificata della scena con la sostituzione prevista. Controlla le aree invariate oltre al nuovo oggetto, in particolare durante occlusioni, movimenti e cambi di inquadratura.
Estendere e collegare una sequenza
Seedance 2.0 può estendere un video in avanti o all’indietro e collegare fino a tre clip forniti con transizioni generate. Specifica la direzione temporale e il nuovo evento. Per un raccordo, ordina i clip e descrivi la transizione tra ogni coppia, per esempio una camera che attraversa una porta in un’inquadratura e arriva nell’ambiente successivo.
Un’estensione semplice restituisce di norma la continuazione sviluppata attorno al filmato sorgente; includi un’istruzione chiara se il risultato finale deve anche ripetere il segmento originale. Nel completamento di un collegamento tra due o tre clip, il flusso documentato può includere sia materiale originale sia nuovi contenuti di transizione. È utile per sviluppare un’apertura o una conclusione oppure collegare scene preparate senza lasciare indefinita l’azione di raccordo.
Output dell’edizione standard e 4K
L’edizione standard documenta MP4 a 24 fps e durate da 4 a 15 secondi. I livelli di output sono 480p, 720p e 1080p con profondità colore a 8 bit, più 4K con profondità colore a 10 bit. I rapporti supportati sono 21:9, 16:9, 4:3, 1:1, 3:4 e 9:16. Sono documentati anche l’inquadratura adattiva e la selezione automatica della durata. L’edizione Fast ha una propria specifica di output più limitata, a 480p/720p.
L’output 4K usa la codifica H.265/HEVC. La codifica a 10 bit conserva più gradazioni tonali e transizioni cromatiche più uniformi, importanti per materiali con variazioni sottili di luce o colore. Verifica che l’ambiente di riproduzione e montaggio previsto possa decodificare questo formato; alcuni browser e dispositivi non lo riproducono direttamente. La compatibilità del contenitore non garantisce di per sé la compatibilità della decodifica video.
Il modello può generare suono sincronizzato o video muti e può restituire l’ultimo fotogramma generato per una scena successiva. L’audio generato è mono. La famiglia 2.0 non supporta la modalità separata di anteprima Draft in due fasi, quindi non bisogna dedurre la presenza di questa funzione da un’altra edizione Seedance.
Preparazione dei riferimenti e limiti sostanziali
La capacità documentata per i riferimenti arriva a nove immagini, tre video e tre clip audio. Nel profilo documentato del produttore non sono accettati caricamenti diretti di immagini o video di riferimento contenenti volti umani reali; per i ritratti si usa il flusso supportato dedicato alle risorse per ritratti. Ogni clip video e audio deve durare 2–15 secondi. Tutti i riferimenti video insieme devono rientrare in 15 secondi, e tutti i riferimenti audio insieme hanno un proprio limite totale di 15 secondi. I file video usano MP4 o MOV a 24–60 fps, fino a 200 MB ciascuno; i file audio usano WAV o MP3, fino a 15 MB ciascuno. I formati immagine elencati sono JPEG, PNG, WebP, BMP, TIFF, GIF, HEIC e HEIF. Le immagini devono essere inferiori a 30 MB ciascuna e il corpo della richiesta non deve superare 64 MB. Nel profilo documentato per i riferimenti in ingresso, larghezza e altezza delle immagini devono essere entrambe strettamente comprese tra 300 e 6.000 pixel, con un rapporto larghezza/altezza strettamente compreso tra 0.4 e 2.5. I video di riferimento consentono 300–6.000 pixel per dimensione e rapporti di 0.4–2.5, estremi inclusi, con 407.696–8.295.044 pixel totali. I video MP4 o MOV usano video H.264/AVC o H.265/HEVC e audio AAC o MP3.
Ordina i file deliberatamente e richiama ciascuno con il tipo di contenuto e il numero: Image 1, Video 1 e Audio 1. Il numero segue l’ordine tra i file di quel tipo. Spiega quali caratteristiche trasferire e quali contenuti sorgente non devono definire la nuova scena. Le lingue documentate per i prompt comprendono inglese, spagnolo, indonesiano, portoghese e giapponese. Mantieni coerente la lingua parlata all’interno di un dialogo; la guida sconsiglia di mescolare lingue, salvo per i nomi propri. Per lavori guidati dalla voce, separa chi parla, la battuta esatta e le indicazioni di interpretazione.
Prepara le immagini iniziale e finale con inquadrature compatibili. Una differenza tra l’immagine in ingresso e le dimensioni di uscita può provocare un ritaglio o un brusco cambiamento visivo; dimensioni corrispondenti e inquadratura adattiva sono rimedi documentati. Concentra la descrizione sull’evento e sui ruoli dei riferimenti. Il produttore avverte che prompt lunghi possono disperdere le informazioni, facendo ignorare dettagli. Controlla il movimento risultante, la continuità dei riferimenti, la resa audio e i raccordi tra scene come parti distinte del risultato creativo.
Pianificazione delle inquadrature e indicazioni per il testo
Per una scena complessa, organizza il brief come Shot 1, Shot 2 e Shot 3, specificando in ordine camera, azione del soggetto, posizione e suono. La guida consiglia un movimento di camera per inquadratura e di privilegiare azioni lente e collegate. Le indicazioni temporali precise per singola inquadratura sono instabili, quindi una sequenza di eventi è un controllo migliore rispetto all’imposizione di più finestre temporali esatte.
Il modello genera anche testo comune, compresi slogan, sottotitoli e fumetti. Puoi indicarne colore, trattamento visivo, posizione e comparsa. Usa caratteri comuni invece di caratteri rari o simboli speciali e controlla il testo mentre si muove. Per i riferimenti dei soggetti, associa chiaramente ogni risorsa al personaggio o all’oggetto previsto. Diverse viste di un prodotto possono fornire informazioni visive differenti; collage del personaggio da più angolazioni possono confondere l’identità del volto. Per i personaggi, la raccomandazione documentata è usare un primo piano chiaro e un’immagine a figura intera separati.
Comportamenti da controllare prima del montaggio
La guida documenta sottotitoli indesiderati, loghi, personaggi duplicati e variazioni di stile. Materiale sorgente pulito, etichette coerenti e vincoli espliciti riducono questi rischi, ma non garantiscono che testo indesiderato o figure duplicate scompaiano. Più di quattro persone di riferimento sono segnalate come rischio per la stabilità, distinto dal numero di file accettato dal modello.
L’estensione video può creare un salto o un ritorno indietro nell’azione al raccordo, e continuazioni ripetute possono accumulare degrado nella qualità dell’immagine. Controlla i fotogrammi di confine e limita le estensioni sovrapposte. Una voce di riferimento può differire dal timbro sorgente; la narrazione può terminare con un clic o un’interruzione brusca, per cui una dissolvenza audio è un rimedio documentato. I caratteri cinesi polifonici, poco comuni o di forma simile possono essere pronunciati male. Per un effetto animato preciso, come un conto alla rovescia, un riferimento di movimento è più informativo di una sola richiesta verbale. Questi sono motivi concreti per controllare separatamente identità, testo, movimento e suono quando si seleziona il clip.
Ailoot Ultra · Video POST /v1/videos bytedance/seedance-2.0
bytedance/seedance-2.0Introduzione
ByteDance Seedance 2.0 combina la generazione nativa di audio e video con riferimenti di immagini, video e suoni. Dirigi nuove scene, modifica filmati esistenti o estendi una sequenza; l’edizione standard comprende output documentato a 1080p e 4K a 10 bit.
- Input accettati
- Testo · Immagini · Audio
- Risultati
- Video
Disponibile in Ailoot · input e metodi
Ailoot Ultra · Video POST /v1/videos
- Tipi di input
text,image,audio- Tipi di output
video- Formato di output
- byte MP4 originali; nessuna normalizzazione o transcodifica
| Campo | Tipo | Requisito | Valori e limiti | Predefinito |
|---|---|---|---|---|
Campomodel | Tipostring | RequisitoObbligatorio | Valori e limiti bytedance/seedance-2.0 | Predefinito— |
Campoprompt | Tipostring | RequisitoObbligatorio | Valori e limiti | Predefinito— |
Campoduration | Tipointeger | RequisitoObbligatorio | Valori e limiti 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 Minimo: 1 Massimo: 600 | Predefinito— |
Camporesolution | Tipostring | RequisitoFacoltativo | Valori e limiti 480p, 720p, 1080p, 4K | Predefinito— |
Campoaspect_ratio | Tipostring | RequisitoFacoltativo | Valori e limiti 1:1, 3:4, 9:16, 4:3, 16:9, 21:9, 9:21 | Predefinito— |
Campogenerate_audio | Tipoboolean | RequisitoFacoltativo | Valori e limiti false, true Condizioni: A 480p e 720p, omettere generate_audio seleziona il prezzo con audio e false seleziona il prezzo senza audio. A 1080p e 4K, il prezzo della risoluzione si applica a entrambe le impostazioni. Controlla has_audio nel risultato per la traccia audio restituita. | Predefinito— |
Campoframe_images | Tipoarray | RequisitoFacoltativo | Valori e limiti Numero minimo di elementi: 1 Numero massimo di elementi: 2 Contenuto in input: Array di oggetti fotogramma. Ciascuno contiene type=image_url, image_url con url e frame_type=first_frame o last_frame. Ogni ruolo compare al massimo una volta. Usa URL HTTPS pubblici. Chiavi esatte: type, image_url, frame_type Condizioni: Queste chiavi si applicano a ogni oggetto fotogramma. Ometti frame_images per una richiesta di solo testo. | Predefinito— |
Campoinput_references | Tipoarray | RequisitoFacoltativo | Valori e limiti Contenuto in input: Array di oggetti di riferimento a immagini o audio. Imposta type su image_url o audio_url e fornisci l'oggetto URL corrispondente contenente url. Il prezzo dei riferimenti video resta non determinabile. Condizioni: Ometti frame_images per usare la modalità con riferimenti. Usa URL HTTPS pubblici. | Predefinito— |
Camposize | Tipostring | RequisitoFacoltativo | Valori e limiti 480x480, 480x640, 480x854, 640x480, 854x480, 1120x480, 720x720, 720x960, 720x1280, 720x1680, 960x720, 1280x720, 1680x720, 1080x1080, 1080x1440, 1080x1920, 1440x1080, 1920x1080, 2520x1080, 3840x2160, 2160x3840, 2160x2160, 2880x2160, 2160x2880, 5040x2160 Schema: ^[1-9][0-9]*x[1-9][0-9]*$ | Predefinito— |
Camposeed | Tipointeger | RequisitoFacoltativo | Valori e limiti Minimo: -9.223.372.036.854.775.808 Massimo: 9.223.372.036.854.775.807 | Predefinito— |
Campocallback_url | Tipostring | RequisitoFacoltativo | Valori e limiti Schema: ^https:// | Predefinito— |
Camposession_id | Tipostring | RequisitoFacoltativo | Valori e limiti | Predefinito— |
Campotrace | Tipoobject | RequisitoFacoltativo | Valori e limiti | Predefinito— |
Campouser | Tipostring | RequisitoFacoltativo | Valori e limiti | Predefinito— |
Combinazioni di materiali in input
Da testo a video · Un prompt scritto. · Obbligatorio: model, prompt, duration
Fornisci un prompt testuale e una durata supportata in secondi interi. Usa una dimensione esatta tra quelle elencate oppure una risoluzione e un rapporto d'aspetto che corrispondano a dimensioni elencate.
model: Tipo: string · bytedance/seedance-2.0
prompt: Tipo: string · Numero massimo di byte UTF-8: 10.000 · Sono richiesti caratteri diversi dagli spazi: Sì
Da immagine a video · Un prompt scritto e l'immagine di un fotogramma. · Obbligatorio: model, prompt, duration, frame_images
frame_images è un array di oggetti con type=image_url, image_url contenente url e frame_type. Usa un URL HTTPS pubblico dell'immagine; first_frame e last_frame possono comparire ciascuno una sola volta. Usa una dimensione di uscita elencata o dimensioni compatibili. Non aggiungere riferimenti video.
Chiavi esatte: type, image_url, frame_type
model: Tipo: string · bytedance/seedance-2.0
prompt: Tipo: string · Numero massimo di byte UTF-8: 10.000 · Sono richiesti caratteri diversi dagli spazi: Sì
Reference to video · Un prompt scritto e riferimenti a immagini o audio. · Obbligatorio: model, prompt, duration, input_references
input_references è un array. Ogni oggetto contiene type=image_url oppure type=audio_url e un oggetto URL corrispondente contenente url. Usa collegamenti HTTPS pubblici. Ometti frame_images per selezionare la modalità con riferimenti. Non è possibile determinare il prezzo dei riferimenti video.
model: Tipo: string · bytedance/seedance-2.0
prompt: Tipo: string · Numero massimo di byte UTF-8: 10.000 · Sono richiesti caratteri diversi dagli spazi: Sì
Parametri e ciclo di vita del metodo
| Parametro | Contratto |
|---|---|
Parametrocontent_type | Contrattoapplication/json |
Parametrorequired | Contrattomodel, prompt, duration |
Parametromaterial_types | Contrattotext, image, audio |
Parametroadditional_properties | Contrattofalse |
Parametrooptional_controls | Contrattoresolution, aspect_ratio, generate_audio, frame_images, input_references, size, seed, callback_url, session_id, trace, user |
Ciclo di vita: submit_once_poll_original
GET /v1/videos/{public_id}
GET /v1/videos/{public_id}/content
Tariffe
Calcolo del costo finale
Le tariffe visualizzate stimano il costo prima della generazione. L'addebito finale viene calcolato in base al costo registrato per la generazione originale. La durata misurata dell'output e le quantità previste non costituiscono la quantità finale fatturabile.
Le tariffe non aggiungono opzioni alla richiesta. I parametri supportati sono elencati nel metodo selezionato.
- Modalità rapida
- Non specificato Quando è selezionata la modalità rapida
- Modalità flex
- Non specificato Quando è selezionata la modalità flex
- Sforzo massimo di ragionamento
- Non specificato Quando lo sforzo massimo di ragionamento usa l'adeguamento predefinito (default)
Tariffe stimate per il confronto
Prezzi per configurazione
Associa ogni costo alle condizioni indicate. Usa una sola tariffa per ogni insieme di configurazioni alternative.
| Configurazione | Listino delle tariffe | Quantità prevista | Unità di fatturazione | Condizioni di fatturazione | Costo |
|---|---|---|---|---|---|
| ConfigurazioneTariffe base dei token | Listino delle tariffeTariffa base | Quantità prevista— | Unità di fatturazione— | Condizioni di fatturazione— | Costo Input · Token in input · Stima solo a fini di confronto — / 1K token Output · Token in output · Stima solo a fini di confronto — / 1K token Input · Lettura dalla cache · Stima solo a fini di confronto — / 1K token Input · Scrittura nella cache · Stima solo a fini di confronto — / 1K token Input · Scrittura nella cache, 1 ora · Stima solo a fini di confronto — / 1K token |
| ConfigurazionePrezzo dei token video | Listino delle tariffe— | Quantità prevista— | Unità di fatturazioneper 1K token video | Condizioni di fatturazioneIn questa chiave tariffaria non è dichiarata alcuna condizione aggiuntiva. | Costo Output · Prezzo dei token video · Stima solo a fini di confronto $0.014 per 1K token video La tariffa per token video è il riferimento di prezzo principale. Le stime indicative al secondo sono riferimenti separati, non un addebito aggiuntivo. |
| ConfigurazionePrezzo dei token video | Listino delle tariffe— | Quantità prevista— | Unità di fatturazioneper 1K token video | Condizioni di fatturazioneresolution: 1080p | Costo Output · Prezzo dei token video · Stima solo a fini di confronto $0.0154 per 1K token video La tariffa per token video è il riferimento di prezzo principale. Le stime indicative al secondo sono riferimenti separati, non un addebito aggiuntivo. |
| ConfigurazionePrezzo dei token video | Listino delle tariffe— | Quantità prevista— | Unità di fatturazioneper 1K token video | Condizioni di fatturazioneingresso: with_video_input; risoluzione: 1080p | Costo reference · Prezzo dei token video · Stima solo a fini di confronto $0.0094 per 1K token video La tariffa per token video è il riferimento di prezzo principale. Le stime indicative al secondo sono riferimenti separati, non un addebito aggiuntivo. |
| ConfigurazionePrezzo dei token video | Listino delle tariffe— | Quantità prevista— | Unità di fatturazioneper 1K token video | Condizioni di fatturazioneresolution: 4k | Costo Output · Prezzo dei token video · Stima solo a fini di confronto $0.008 per 1K token video La tariffa per token video è il riferimento di prezzo principale. Le stime indicative al secondo sono riferimenti separati, non un addebito aggiuntivo. |
| ConfigurazionePrezzo dei token video | Listino delle tariffe— | Quantità prevista— | Unità di fatturazioneper 1K token video | Condizioni di fatturazioneingresso: with_video_input; risoluzione: 4k | Costo reference · Prezzo dei token video · Stima solo a fini di confronto $0.0048 per 1K token video La tariffa per token video è il riferimento di prezzo principale. Le stime indicative al secondo sono riferimenti separati, non un addebito aggiuntivo. |
| ConfigurazionePrezzo dei token video | Listino delle tariffe— | Quantità prevista— | Unità di fatturazioneper 1K token video | Condizioni di fatturazioneingresso: with_video_input | Costo reference · Prezzo dei token video · Stima solo a fini di confronto $0.0086 per 1K token video La tariffa per token video è il riferimento di prezzo principale. Le stime indicative al secondo sono riferimenti separati, non un addebito aggiuntivo. |
| ConfigurazionePrezzo dei token video | Listino delle tariffe— | Quantità prevista— | Unità di fatturazioneper 1K token video | Condizioni di fatturazioneopzione audio: without_audio | Costo Output · Prezzo dei token video · Stima solo a fini di confronto $0.014 per 1K token video La tariffa per token video è il riferimento di prezzo principale. Le stime indicative al secondo sono riferimenti separati, non un addebito aggiuntivo. |
| ConfigurazioneCosto stimato della generazione | Listino delle tariffe— | Quantità previstastima per una generazione | Unità di fatturazione— | Condizioni di fatturazione— | Costo Output · Costo di generazione stimato · Stima solo a fini di confronto $0.3024 stima prima della generazione Questa stima non è un addebito aggiuntivo né una tariffa fissa per la generazione completata. |
Ailoot prenota un importo stimato prima di una richiesta. Dopo il risultato, addebita il costo finale in base all’utilizzo misurato. Per lo streaming, l’addebito usa il record finale di utilizzo. Come funzionano la prenotazione e l’addebito finale →
Dettagli della tariffa di riferimento
I listini di riferimento del modello non modificano la selezione del metodo, i preventivi o gli addebiti. Gli addebiti attivi usano le tariffe del metodo Ailoot selezionato.
Riferimenti tariffari delle configurazioni video
Prezzi per configurazione
Associa ogni costo alle condizioni indicate. Usa una sola tariffa per ogni insieme di configurazioni alternative.
| Configurazione | Condizioni di fatturazione | Costo |
|---|---|---|
| ConfigurazionePrezzo dei token video | Condizioni di fatturazioneIn questa chiave tariffaria non è dichiarata alcuna condizione aggiuntiva. | Costo Output · Prezzo dei token video $0.014 per 1K token video La tariffa per token video è il riferimento di prezzo principale. Le stime indicative al secondo sono riferimenti separati, non un addebito aggiuntivo. |
| ConfigurazionePrezzo dei token video | Condizioni di fatturazioneresolution: 4k | Costo Output · Prezzo dei token video $0.008 per 1K token video La tariffa per token video è il riferimento di prezzo principale. Le stime indicative al secondo sono riferimenti separati, non un addebito aggiuntivo. |
| ConfigurazionePrezzo dei token video | Condizioni di fatturazioneresolution: 1080p | Costo Output · Prezzo dei token video $0.0154 per 1K token video La tariffa per token video è il riferimento di prezzo principale. Le stime indicative al secondo sono riferimenti separati, non un addebito aggiuntivo. |
| ConfigurazionePrezzo dei token video | Condizioni di fatturazioneopzione audio: without_audio | Costo Output · Prezzo dei token video $0.014 per 1K token video La tariffa per token video è il riferimento di prezzo principale. Le stime indicative al secondo sono riferimenti separati, non un addebito aggiuntivo. |
| ConfigurazionePrezzo dei token video | Condizioni di fatturazioneingresso: with_video_input | Costo reference · Prezzo dei token video $0.0086 per 1K token video La tariffa per token video è il riferimento di prezzo principale. Le stime indicative al secondo sono riferimenti separati, non un addebito aggiuntivo. |
| ConfigurazionePrezzo dei token video | Condizioni di fatturazioneingresso: with_video_input; risoluzione: 4k | Costo reference · Prezzo dei token video $0.0048 per 1K token video La tariffa per token video è il riferimento di prezzo principale. Le stime indicative al secondo sono riferimenti separati, non un addebito aggiuntivo. |
| ConfigurazionePrezzo dei token video | Condizioni di fatturazioneingresso: with_video_input; risoluzione: 1080p | Costo reference · Prezzo dei token video $0.0094 per 1K token video La tariffa per token video è il riferimento di prezzo principale. Le stime indicative al secondo sono riferimenti separati, non un addebito aggiuntivo. |
Esempi di richieste
Ailoot Ultra · Video
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
from pathlib import Path
Path('request.json').write_text('{"model":"bytedance/seedance-2.0","prompt":"A serene mountain landscape at sunset","duration":4,"resolution":"480p","size":"480x480","generate_audio":false}', encoding='utf-8')
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/videos \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path('result.json').read_text())
print(json.dumps(r,ensure_ascii=False,indent=2))
print('Keep the complete JSON and response headers; do not resubmit an unknown creation.')
PY_RESULT
Ricevi e salva i risultati
Ailoot Ultra · Video
URL firmati di contenuti di tua proprietà
GET /v1/videos/{public_id}GET /v1/videos/{public_id}/content
Verifica lo stato dell’attività
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_STATUS_URL'
import json
from pathlib import Path
from urllib.parse import quote
r=json.loads(Path('result.json').read_text())
if not isinstance(r.get('id'),str) or not r['id']:raise SystemExit('Keep the original response and headers for reconciliation; no returned ID')
Path('status-url.txt').write_text('https://api.ailoot.ai/v1/videos/'+quote(r['id'],safe=''))
PY_STATUS_URL
curl --fail-with-body --silent --show-error "$(cat status-url.txt)" \
-H "Authorization: Bearer $AILOOT_API_KEY" -D status-headers.txt -o status.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path('status.json').read_text())
print(json.dumps(r,ensure_ascii=False,indent=2))
print('Keep the complete JSON and response headers; do not resubmit an unknown creation.')
PY_RESULT
Altre letture di contenuto
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
python3 - <<'PY_ASSETS'
import json,os,subprocess
from pathlib import Path
from urllib.parse import urljoin,urlsplit
r=json.loads(Path('status.json').read_text())
if r.get('status')!='completed':raise SystemExit('Keep the original ID and read its status; never recreate an unknown job')
if not isinstance(r.get('data'),list) or not r['data']:raise SystemExit('Keep the complete original status; no completed outputs supplied')
urls=[]
for i,u in enumerate(r.get('data',[])):
if not isinstance(u,str):raise SystemExit('Keep the original response; unexpected asset shape')
urls.append((str(i),u))
for label,path in urls:
u=urljoin('https://api.ailoot.ai',path);z=urlsplit(u)
if z.scheme!='https' or z.netloc!='api.ailoot.ai' or z.username or z.password:raise SystemExit('Use the actual returned Ailoot owned content URL')
target=Path('owned-'+label+'.bin')
subprocess.run(['curl','--fail-with-body','--silent','--show-error',u,'-H','Authorization: Bearer '+os.environ['AILOOT_API_KEY'],'-D',str(target)+'.headers','-o',str(target)],check=True)
print('All returned owned URLs saved; complete metadata, timing and usage remain in the JSON.')
PY_ASSETS
Conserva tutti i risultati completati
Salva ogni video completato o file restituito; recupera ogni URL di risorsa effettivamente restituito.
Conserva ogni risultato effettivo di tua proprietà e i metadati misurati restituiti.
Se occorre verificare la risposta originale
503 result_pending_check + id originale + X-Should-Retry:false; non ripetere mai l'operazione originale
Campi della risposta
| Campo | Tipo | Significato |
|---|---|---|
Campoindex | Tipointeger | SignificatoPosizione di questo video nell'elenco dei risultati, con indice a partire da zero. |
Campocontent_url | Tipostring | SignificatoURL HTTPS firmato per il download di questo video completato. |
Camposha256 | Tipostring | null | SignificatoDigest SHA-256 dei byte video originali; null se non disponibile. |
Camposize_bytes | Tipointeger | null | SignificatoDimensione del file video originale in byte; null se non disponibile. |
Campoduration_ms | Tipointeger | null | SignificatoDurata misurata del video in millisecondi; null se non disponibile. |
Campowidth | Tipointeger | null | SignificatoLarghezza del video in pixel; null se non disponibile. |
Campoheight | Tipointeger | null | SignificatoAltezza del video in pixel; null se non disponibile. |
Campovideo_codec | Tipostring | null | SignificatoIdentificatore del codec video; null se non registrato. |
Campohas_audio | Tipoboolean | null | SignificatoIndica se il video contiene una traccia audio; null se non misurato. |
Campoaudio_codec | Tipostring | null | SignificatoIdentificatore del codec audio; null quando non è registrato alcun identificatore. |
Errori e passaggi successivi
| Risposta | Condizione | Passaggio successivo |
|---|---|---|
Risposta404 · not_found_error | CondizioneL'accesso al video non è disponibile oppure questo ID video non è stato trovato. | Passaggio successivoVerifica l'accesso al video. Per un video esistente, usa l'ID pubblico originale e la stessa chiave API. |
Risposta401 · authentication_error | CondizioneLa chiave API non corrisponde all'account autenticato. | Passaggio successivoVerifica la chiave API e l'accesso all'account prima dell'invio. |
Risposta400 · invalid_request_error | CondizioneNon è stato possibile leggere la richiesta oppure l'indice di download non è valido. | Passaggio successivoCorreggi il corpo della richiesta. Per un download, scegli un indice di uscita restituito dall'attività originale. |
Risposta422 · price_unavailable | CondizioneNon è possibile determinare il prezzo della configurazione video selezionata. | Passaggio successivoScegli una configurazione video supportata e completa le opzioni obbligatorie prima di inviare una richiesta corretta. |
Risposta422 · invalid_request_error | CondizioneUn input video o l'attività originale di continuazione non è valido. | Passaggio successivoUsa input HTTPS validi. Per la continuazione, usa l'ID video pubblico del tuo originale completato con la stessa chiave API. |
Risposta402 · billing_error | CondizioneIl saldo disponibile o i limiti non consentono di riservare l'importo. | Passaggio successivoControlla il saldo disponibile e i limiti prima di inviare una nuova richiesta. |
Risposta503 · server_error | CondizioneLa verifica video, l’archiviazione o l’accesso al servizio sono temporaneamente indisponibili. | Passaggio successivoAttendi che il servizio sia disponibile. Se hai già un ID video, verifica quell'attività originale invece di creare un'altra generazione. |
Risposta503 · result_pending_check | CondizioneIl risultato video originale e l'addebito devono essere verificati. | Passaggio successivoConserva l'ID video restituito e verifica quell'attività. Non inviare una richiesta di generazione sostitutiva mentre la verifica è in corso. |
Risposta503 · owned_result_unavailable | CondizioneIl download del video esistente è temporaneamente indisponibile. | Passaggio successivoVerifica in seguito la stessa attività video e scarica il risultato esistente. Una nuova generazione crea un'operazione separata. |
Risposta409 · video_not_ready | CondizioneIl contenuto video non è stato pubblicato. | Passaggio successivoVerifica lo stato dell'attività originale. Scarica dopo che segnala completed; se segnala failed, segui l'avviso di verifica dell'addebito. |
Alias
Alias del modello
Ailoot Ultra bytedance/seedance-2.0
Alias dei percorsi dei metodi
Usa i percorsi dei metodi indicati sopra.
ID di chiamata correlati
FAQ · ByteDance: Seedance 2.0
- Quali input e risultati sono disponibili?
POST /v1/videos·bytedance/seedance-2.0:text,image,audio→video- Quali campi usa la richiesta?
POST /v1/videos·bytedance/seedance-2.0:model,prompt,duration,resolution,aspect_ratio,generate_audio,frame_images,input_references,size,seed,callback_url,session_id,trace,user- Quali limiti si applicano?
POST /v1/videos·bytedance/seedance-2.0:duration.minimum:1;duration.maximum:600;frame_images.max_items:2;frame_images.min_items:1;seed.minimum:-9223372036854775808;seed.maximum:9223372036854775807