HiAPI
Blog

Tutoriale

Come si usa l'API text-to-video di Seedance 2.5? Esecuzione diretta con curl e Python

Un prompt genera un video di 4–30 secondi con audio: parametri, costi e cose da sapere prima del lancio, tutto in una guida.

Oct 15, 2026
Come si usa l'API text-to-video di Seedance 2.5? Esecuzione diretta con curl e Python

TL;DR

  • seedance-2.5/text-to-video genera un video da un solo prompt, da 4 a 30 secondi per clip, con audio incluso. Apri la pagina del modello per generare online; i nuovi utenti ricevono 200 crediti alla registrazione.
  • Fatturazione al secondo: 720p a $0.204 al secondo, 1080p a $0.516 al secondo. 5 secondi in 720p costano $1.02.
  • API in due passaggi: POST /v1/tasks per inviare, poi usa taskId per recuperare il risultato. I comandi curl e Python qui sotto si copiano e si eseguono subito.

Prima guarda un risultato reale

Il video di 8 secondi in 720p qui sotto è stato generato con un solo prompt e una sola richiesta: il suono del latte montato, il tintinnio delle tazze e le voci del locale sono tutti aggiunti dal modello:

A barista in a small morning cafe pours steamed milk into a cup, drawing a latte art leaf.
The camera starts on her hands and slowly pulls back to reveal the counter and a sign on the wall that reads 'OPEN'.
Warm window light, realistic, smooth motion. Sound: milk steaming, cups clinking, quiet cafe chatter.

Genera con questo prompt → (8 secondi, 720p)

seedance-2.5/text-to-video, 720p, 8 secondi, con audio, $1.632.

Due percorsi per iniziare

Prova online (senza scrivere codice)

  1. Apri la pagina del modello Seedance 2.5 text-to-video e registrati o accedi.
  2. Incolla il prompt e scegli durata, risoluzione e formato.
  3. Clicca su genera e scarica il video appena è pronto.

Chiamata API

  1. Crea una API Key nella console.
  2. POST https://api.hiapi.ai/v1/tasks per inviare il task; restituisce taskId.
  3. GET /v1/tasks/{taskId} per controllare lo stato; quando status è success, scarica il video da output[0].url.

curl: il primo video

Inizia con un video di 5 secondi in 720p, $1.02:

curl -X POST https://api.hiapi.ai/v1/tasks \
  -H "Authorization: Bearer $HIAPI_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "seedance-2.5/text-to-video",
    "input": {
      "prompt": "一架纸飞机滑过洒满阳光的办公室,灰尘在光里漂浮,镜头跟着纸飞机缓慢移动",
      "duration": 5,
      "resolution": "720p",
      "aspect_ratio": "16:9"
    }
  }'

Risposta:

{"code": 200, "data": {"taskId": "tk-hiapi-..."}, "message": "success"}

Recupera il risultato:

curl https://api.hiapi.ai/v1/tasks/tk-hiapi-... \
  -H "Authorization: Bearer $HIAPI_KEY"

Durante la generazione status è handling, al termine diventa success e l'URL del video è in output[0].url.

Python: invio, polling, download

# pip install requests;先 export HIAPI_KEY=你的 Key
import os, time, uuid, requests

KEY = os.environ["HIAPI_KEY"]
H = {"Authorization": f"Bearer {KEY}"}

def generate(prompt, model="seedance-2.5/text-to-video", timeout_s=900, **params):
    body = {"model": model, "input": {"prompt": prompt, **params}}
    # 重试提交同一个任务时带同一个 Idempotency-Key,避免重复扣费
    headers = {**H, "Idempotency-Key": str(uuid.uuid4())}
    r = requests.post("https://api.hiapi.ai/v1/tasks", json=body, headers=headers, timeout=30)
    r.raise_for_status()
    res = r.json()
    if res.get("code") != 200:
        raise RuntimeError(res)
    task_id = res["data"]["taskId"]
    deadline = time.time() + timeout_s
    while time.time() < deadline:
        d = requests.get(f"https://api.hiapi.ai/v1/tasks/{task_id}", headers=H, timeout=30).json()["data"]
        if d["status"] == "success":
            return d["output"][0]["url"]
        if d["status"] == "fail":
            raise RuntimeError(d)
        time.sleep(10)
    raise TimeoutError(task_id)

url = generate(
    "一架纸飞机滑过洒满阳光的办公室,灰尘在光里漂浮,镜头跟着纸飞机缓慢移动",
    duration=5, resolution="720p", aspect_ratio="16:9",
)
with open("clip.mp4", "wb") as f:
    f.write(requests.get(url).content)

Panoramica dei parametri

Parametro Valori Descrizione
prompt stringa, obbligatorio Va bene sia in cinese che in inglese
duration intero da 4 a 30, default 5 In secondi, fatturazione al secondo
resolution 720p / 1080p, default 720p Il prezzo del 1080p è circa 2,5 volte quello del 720p
aspect_ratio 16:9 4:3 1:1 3:4 9:16 21:9 adaptive, default adaptive Per i video brevi verticali usa 9:16
generate_audio default true Audio e immagini vengono generati insieme
output_format mp4 / mov

Il text-to-video non accetta URL di immagini o video. Per partire da un'immagine, passa a Seedance 2.5 image-to-video; per riprendere movimento e regia da un video esistente, passa a Seedance 2.5 reference-to-video.

Calcoliamo il costo

Durata 720p ($0.204/secondo) 1080p ($0.516/secondo)
5 secondi $1.02 $2.58
10 secondi $2.04 $5.16
15 secondi $3.06 $7.74
30 secondi $6.12 $15.48

Con $10 in 720p si generano circa 49 secondi. Consigliamo di rifinire prima il prompt con clip brevi in 720p, poi produrre il video finale in 1080p. Per un conteggio più dettagliato vedi Prezzi dell'API Seedance 2.5.

Da sapere prima del lancio

  • Usa i callback invece del polling: al livello superiore della richiesta (allo stesso livello di input) aggiungi "callback": {"url": "https://tuo-dominio/hiapi/callback"}; al termine del task HiAPI ti avvisa attivamente, deduplica per taskId.
  • Salva subito i file: output[0].url è un link temporaneo (conservato per circa 7 giorni di default); appena lo ottieni, salvalo nel tuo storage.
  • Riprova con la chiave di idempotenza: aggiungi Idempotency-Key negli header; riprovare con la stessa chiave crea il task una sola volta e non addebita due volte.
  • Specifica tutti i parametri: indica esplicitamente duration, resolution e aspect_ratio, così costi e formato corrispondono al budget.
  • Rimborso automatico in caso di errore: paghi solo per i video generati con successo.

Domande frequenti

Posso scrivere il prompt in cinese?

Sì. Per risultati più stabili, scrivi in frasi separate come si muove la camera, come si muove il soggetto e quali suoni ci sono.

Qual è la durata massima?

Da 4 a 30 secondi per clip. Il doppio del limite di 15 secondi di Seedance 2.0, ideale per piani sequenza lunghi.

Posso risparmiare disattivando l'audio?

Impostando generate_audio su false disattivi l'audio, ma il prezzo dipende da risoluzione e secondi, quindi non costa meno.

Come scelgo tra Seedance 2.5 e 2.0?

Scegli 2.5 se vuoi clip singole più lunghe e più materiale di riferimento; se il budget è la priorità o ti serve il 4K, scegli la linea ext di 2.0 (720p a $0.134 al secondo). Per un confronto dettagliato vedi Differenze tra Seedance 2.5 e 2.0.

Per altre formule già pronte, vedi il manuale d'uso di Seedance 2.5; oppure copia il prompt del latte art qui sopra e vai alla pagina del modello per generare.

Inizia a creare con artefatti IA persistenti

Ottieni la tua chiave API e chiama modelli di immagini, video e audio tramite un'unica API basata sui task.

Leggi la documentazione API