Vai al contenuto

Documenti per sviluppatori UlazAI

Documentazione Seedance API: generazione, stato, 1080p e prezzi

Riferimento Seedance 1.5 Pro

Semina API doc

Per utilizzare il Seminanza API, autenticarsi con una chiave di trasporto, utilizzare POST /seedance/generate/ per creare posti di lavoro e sondaggi GET /seedance/status/{generation_id}/ finché il video non sarà pronto. UlazAI attualmente supporta l'uscita Pro Seedance 1.5 480p, 720p e 1080p con durate di 4, 8 o 12 secondi.

Endpoint principali

POST /seedance/upload/

POST /seedance/generate/

GET /seedance/status/{generation_id}/

Capacità attuali

Da testo a video e da immagine a video

Fino a 2 immagini guida

Audio nativo opzionale

Suggerimento

Questa pagina risponde al flusso completo dello sviluppatore nella prima schermata: endpoint di generazione, polling dello stato, supporto 1080p, autenticazione al portatore e percorso dei prezzi.

Utilizzare /seedance/upload/ solo quando è necessaria la generazione di video guidata dalle immagini. Per corse di solo testo, chiamare /seedance/generate/ direttamente e salta il passaggio di caricamento.

La famiglia di modelli Seedance: 1.5 Pro, 2.0 e 2.5

Seedance è il modello da testo a video e da immagine a video di ByteDance. ByteDance ha lanciato il primo Seedance nel giugno 2025, rilasciato Seminazione 2.0 nel febbraio 2026 e da allora è stato mostrato Seminazione 2.5. Ciascuno generazione spinge ulteriormente la stessa idea centrale: movimento cinematografico, seguito prompt più forte, scene multi-scatto, riferimenti a immagini e video e audio nativo opzionale in un unico rendering. La guida API copre i dispositivi attualmente supportati Versioni Seedance senza la necessità di configurare la piattaforma di ByteDance.

VersioneRilasciato da ByteDanceCosa aggiunge
Seedance 1.5 Pro2025Conversione di testo e immagini in video, fino a 2 immagini guida, audio opzionale, 480p/720p/1080p. Collegato a UlazAI oggi.
Seedance 2.0Febbraio 2026Input multimodali (testo, immagine, video, audio), narrazione multi-camera, cogenerazione audio nativa, clip più lunghe.
Seedance 2.52026Il passo più recente mostrato da ByteDance mira a una generazione più rapida e a ulteriori miglioramenti in termini di qualità e controllo.

Stesso codice, modello più recente

Lo API pubblico di UlazAI genera con bytedance/seedance-1.5-pro oggi. La parte importante per gli sviluppatori: quando una versione più recente di Seedance è abilitata qui, riutilizza il file stesso Autenticazione del portatore e stesso generare ed eseguire il polling degli endpoint di seguito. La tua integrazione non cambia, cambia solo l'identificatore del modello puoi basarti su questo riferimento ora e salire di livello nella famiglia in seguito.

ByteDance e ARK: il modello ufficiale, un unico percorso unificato

Persone che cercano Documentazione ufficiale di ByteDance Seedance o il ARK Seminazione API di solito cercano due cose diverse: il modello stesso e un modo per chiamarlo effettivamente. Seedance è di ByteDance proprio modello, pubblicato tramite Volcano Engine di ByteDance ARCA piattaforma. Questo percorso significa creare un ARK account, accesso alla regione ed endpoint del modello non elaborato.

UlazAI si trova di fronte come livello API di terze parti. Ottieni una chiave del portatore, un ospitato caricamento dell'immagine passaggio, un portafoglio di crediti condiviso e il piccolo set di endpoint in questa pagina: niente ARK onboarding, nessuna soluzione alternativa regionale e nessuna VPN o numero di telefono cinese per raggiungere il modello. Se hai cercato specificatamente ARK API Caricamento immagine Seedance, l'equivalente qui è una singola chiamata: POST /seedance/upload/ restituisce un URL permanente in cui entri input_urls al momento della generazione (vedere l'endpoint di caricamento di seguito).

Concetti ARK mappati su questo API

Se hai già letto la documentazione ARK di ByteDance, il vocabolario è diverso ma il i passaggi sono gli stessi. Questa è la traduzione diretta:

Su ByteDance ARK Ecco Cosa cambia per te
Configurazione dell'account ARK, del progetto e dell'endpoint Una chiave al portatore Nessun onboarding sulla piattaforma prima della prima chiamata.
Ospita tu stesso l'immagine della guida, trasmetti un URL pubblico POST /seedance/upload/ Puoi inviare il file raw; la risposta ti fornisce un URL permanente.
ID del modello nel corpo della richiesta model campo Stessa idea; solo l'identificatore cambia tra le versioni.
Interroga l'attività fino al suo completamento GET /seedance/status/{generation_id}/ Stessa forma di polling, un endpoint.

Dall'immagine al video in due chiamate

Questo è l'intero flusso di caricamento delle immagini. La prima chiamata memorizza l'immagine e restituisce un URL, la seconda chiamata utilizza quell'URL come guida visiva per il video.

Un'immagine fissa caricata sulla sinistra alimenta una sequenza di fotogrammi video generati sulla destra
# 1. upload the guide image
curl -X POST https://ulazai.com/seedance/upload/ \
  -H "Authorization: Bearer $ULAZAI_API_KEY" \
  -F "[email protected]"

# -> {"url": "https://cdn.ulazai.com/uploads/<id>.jpg"}

# 2. generate, passing that URL back in input_urls
curl -X POST https://ulazai.com/seedance/generate/ \
  -H "Authorization: Bearer $ULAZAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
        "prompt": "slow dolly in, warm evening light",
        "input_urls": ["https://cdn.ulazai.com/uploads/<id>.jpg"],
        "resolution": "1080p"
      }'

Puoi trasmettere fino a due URL input_urls. Due immagini vengono lette come inizio e riferimento finale, che è il modo consueto per mantenere un personaggio o un prodotto coerente in tutto il file clip. Per la generazione di solo testo, salta completamente la chiamata di caricamento.

Riepilogo rapido dell'integrazione

Aut Chiave al portatore API da /dashboard/ -> Chiavi API
ID modello bytedance/seedance-1.5-pro
Durate 4, 8, 12
Risoluzioni 480p, 720p, 1080p
Rapporti d'aspetto 1:1, 21:9, 4:3, 3:4, 16:9, 9:16
Ingressi Solo Prompt o prompt più fino a 2 URL di immagini
Flusso di polling Crea un lavoro, fai un negozio generation_id, quindi interroga lo stato fino a completed

Riepilogo dell'endpoint pubblico

Metodo Punto finale Quando usarlo
POST /seedance/upload/ Carica prima un'immagine se desideri una guida da immagine a video
POST /seedance/generate/ Crea un lavoro di generazione Seedance 1.5 Pro
OTTIENI /seedance/status/{generation_id}/ Controlla se il lavoro è ancora in elaborazione, completato o non riuscito

Autenticazione

Tutte le richieste API richiedono un token al portatore:

Authorization: Bearer YOUR_API_KEY

Ottieni una chiave API dalla dashboard qui sotto API Chiavi. Se hai ancora bisogno di crediti, vai a pacchetti prima.

POST /seedance/upload/

Carica immagini di input per la guida da immagine a video

Carica un'immagine guida prima della generazione se desideri che Seedance ancori la composizione, l'inquadratura dei personaggi o l'impostazione della scena. La risposta ti fornisce un URL permanente a cui passare input_urls.

Richiedi intestazioni

Authorization: Bearer YOUR_API_KEY
Content-Type: multipart/form-data

Parametri dei dati del modulo

file * (file)

JPG, PNG o WebP, fino a 10 MB.

Risposta positiva (200)

{
  "success": true,
  "url": "https://media.ulazai.com/seedance_images/u1_abc123.jpg",
  "filename": "seedance_images/u1_abc123.jpg"
}

Esempio di utilizzo (cURL)

curl -X POST https://api.ulazai.com/seedance/upload/ \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "file=@/path/to/image.jpg"
POST /seedance/generate/

Crea un'attività di generazione Seedance 1.5 Pro

Invia il payload semplificato di seguito o quello esplicito model inoltre input formato. Utilizza la versione semplificata se hai bisogno solo del percorso Seedance pubblico con prompt, immagini guida opzionali e impostazioni di output.

Richiedi corpo (semplice)

{
  "prompt": "A cinematic close-up of a chef flipping noodles in slow motion",
  "input_urls": ["https://media.ulazai.com/seedance_images/u1_abc123.jpg"],
  "aspect_ratio": "16:9",
  "resolution": "1080p",
  "duration": "4",
  "fixed_lens": true,
  "generate_audio": false,
  "prompt_directory_optin": true
}

Corpo della richiesta (modello/stile di input)

{
  "model": "bytedance/seedance-1.5-pro",
  "input": {
    "prompt": "A cinematic close-up of a chef flipping noodles in slow motion",
    "input_urls": ["https://media.ulazai.com/seedance_images/u1_abc123.jpg"],
    "aspect_ratio": "16:9",
    "resolution": "720p",
    "duration": "8",
    "fixed_lens": true,
    "generate_audio": true
  }
}

Parametri

prompt * (stringa)

Da 3 a 2500 caratteri che descrivono la scena, il movimento, l'inquadratura e l'intento audio.

input_urls (matrice)

Facoltativo. Fino a 2 URL di immagini per la guida da immagine a video.

aspect_ratio (stringa)

Uno tra: 1:1, 21:9, 4:3, 3:4, 16:9, 9:16.

risoluzione (stringa)

Uno tra: 480p, 720p, 1080p.

durata (stringa)

4, 8 o 12 secondi.

fixed_lens (booleano)

Abilita per una visualizzazione della telecamera più stabile.

generate_audio (booleano)

Abilita la generazione audio sincronizzata. Ciò aumenta l’utilizzo del credito.

prompt_directory_optin (booleano)

Facoltativo. Condividi gli prompt idonei nella directory prompt e applica uno sconto quando supportato.

Risposta positiva (200)

{
  "success": true,
  "generation_id": "abc12345-1234-1234-1234-123456789012",
  "task_id": "seedance_task_xyz789",
  "credits_used": 40,
  "directory_discount_applied": true,
  "message": "Video generation started. This may take a few minutes."
}
OTTIENI /seedance/status/{generation_id}/

Stato dell'attività di sondaggio

Esegui il polling di questo endpoint finché il lavoro non viene interrotto processing. In caso di successo ottieni indietro l'URL del video; in caso di fallimento dovresti controllare l'errore e riprovare con un payload corretto.

Risposta in elaborazione

{
  "success": true,
  "status": "processing",
  "message": "Video is being generated..."
}

Risposta positiva (200)

{
  "success": true,
  "status": "completed",
  "video_url": "https://media.ulazai.com/seedance_outputs/video.mp4"
}

Esempi di codice: cURL, Python e JavaScript

Il flusso completo è inviare → archiviare generation_id → stato del sondaggio. Ecco la chiamata generate in tre stack comuni; scambia la tua chiave e il tuo prompt.

arricciatura

curl -X POST https://api.ulazai.com/seedance/generate/ \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "A cinematic close-up of a chef flipping noodles in slow motion",
    "aspect_ratio": "16:9",
    "resolution": "1080p",
    "duration": "4"
  }'

Python (richieste)

import time, requests

BASE = "https://api.ulazai.com"
HEADERS = {"Authorization": "Bearer YOUR_API_KEY"}

# 1. Start the job
job = requests.post(f"{BASE}/seedance/generate/", headers=HEADERS, json={
    "prompt": "A cinematic close-up of a chef flipping noodles in slow motion",
    "aspect_ratio": "16:9",
    "resolution": "1080p",
    "duration": "4",
}).json()
generation_id = job["generation_id"]

# 2. Poll until it leaves "processing"
while True:
    status = requests.get(f"{BASE}/seedance/status/{generation_id}/", headers=HEADERS).json()
    if status.get("status") == "completed":
        print("Video:", status["video_url"])
        break
    if status.get("status") == "failed":
        raise RuntimeError(status)
    time.sleep(8)  # back off; do not hammer generate

JavaScript (recupera)

const BASE = "https://api.ulazai.com";
const HEADERS = { "Authorization": "Bearer YOUR_API_KEY", "Content-Type": "application/json" };

const job = await fetch(`${BASE}/seedance/generate/`, {
  method: "POST",
  headers: HEADERS,
  body: JSON.stringify({
    prompt: "A cinematic close-up of a chef flipping noodles in slow motion",
    aspect_ratio: "16:9",
    resolution: "1080p",
    duration: "4",
  }),
}).then(r => r.json());

const id = job.generation_id;
let video;
while (!video) {
  const s = await fetch(`${BASE}/seedance/status/${id}/`, { headers: HEADERS }).then(r => r.json());
  if (s.status === "completed") video = s.video_url;
  else if (s.status === "failed") throw new Error(JSON.stringify(s));
  else await new Promise(r => setTimeout(r, 8000));  // poll every ~8s
}
console.log("Video:", video);

Flusso di utilizzo

  1. Carica una o due immagini della guida con /seedance/upload/ solo se hai bisogno di una guida da immagine a video.
  2. Chiama /seedance/generate/ con il tuo prompt, le impostazioni di output e facoltativo input_urls.
  3. Conservare il reso generation_id.
  4. Sondaggio /seedance/status/{generation_id}/ fino a quando status diventa completed.
  5. Usa il reso video_url per scaricare, incorporare o trasferire la risorsa finale nel tuo flusso di lavoro.

Codici di errore

400 Parametri della richiesta non validi

401 Autenticazione non riuscita (chiave API mancante o non valida)

402 Crediti insufficienti

429 Limite di velocità superato

500 Errore interno del server

Prezzi e limiti di tariffa

La fatturazione Seedance su UlazAI funziona a crediti, quindi i costi variano in base alla risoluzione e alla durata anziché a una tariffa fissa al secondo. Usalo come guida alla pianificazione; il costo del credito in tempo reale è mostrato in pacchetti e all'orario richiesto.

UscitaUtilizzo tipicoDeterminante dei costi
480pBozze e iterazioni rapideCrediti al secondo più bassi
720pClip social-readyCrediti medi al secondo
1080pConsegna finaleCrediti più alti al secondo; durate più lunghe costano di più

Limiti tariffari e gestione 429: se invii molti lavori in parallelo potresti ricevere 429 Rate limit exceeded. Tratta API come basato sul lavoro: invia, archivia il generation_ide sondaggio /seedance/status/{generation_id}/ ogni 5-10 secondi anziché generare martellamenti. Su un 429, rallenta in modo esponenziale (ad esempio 2, 4, 8) prima di riprovare.

Seedance 1.5 Pro contro Seedance 2.0: questo riferimento copre bytedance/seedance-1.5-pro, il modello attualmente collegato a Video Studio. ByteDance da allora ha introdotto Seedance 2.0 come generazione successiva; quando è abilitato qui, utilizza lo stesso flusso di generazione e polling e la stessa autenticazione, quindi il codice di integrazione non cambia, ma cambia solo l'identificatore del modello.

Domande frequenti

UlazAI Seedance API supporta Seedance 2.0 e 2.5?

Lo API genera con bytedance/seedance-1.5-pro oggi. ByteDance ha rilasciato Seedance 2.0 nel febbraio 2026 e da allora ha mostrato 2.5. Quando una versione più recente è abilitata qui, utilizza la stessa autenticazione Bearer e gli stessi endpoint di generazione e polling, quindi il codice di integrazione non cambia, ma cambia solo l'identificatore del modello.

In che modo UlazAI è correlato al Seedance / ARK API ufficiale di ByteDance?

Seedance è il modello di ByteDance, offerto tramite la piattaforma Volcano Engine ARK di ByteDance. UlazAI è un livello API di terze parti che esegue Seedance dietro un percorso semplificato con una singola chiave di connessione, caricamento di immagini ospitate e un portafoglio di crediti condiviso: nessun account ARK o endpoint di modelli grezzi da gestire.

Come faccio a caricare un'immagine per Seedance image-to-video?

Invia l'immagine come multipart/form-data a POST /seedance/upload/ con la tua chiave al portatore. La risposta restituisce un URL permanente; passalo (fino a due) nel file input_urls matrice attiva POST /seedance/generate/. Gli prompt di solo testo saltano la fase di caricamento.

Quanto costa il Seedance API?

La fatturazione viene eseguita a crediti, pertanto i costi variano in base alla risoluzione e alla durata. Una breve bozza da 480p costa meno crediti; un rendering 1080p di 12 secondi con audio costa di più. Il costo esatto viene visualizzato pacchetti e ancora come credits_used nella risposta generata.

Seedance è disponibile in tutto il mondo tramite API?

Sì. Chiami gli endpoint HTTPS ospitati di UlazAI con una chiave di connessione, quindi non sono necessarie VPN, soluzioni alternative regionali o numeri di telefono cinesi. Qualsiasi server in grado di effettuare una richiesta HTTPS autenticata può inviare lavori ed eseguire il polling dei risultati.

Dove andare dopo