HiAPI
Blog

Tutoriel

Comment utiliser l'API texte-vers-vidéo Seedance 2.5 ? Exécution directe en curl et Python

Une simple invite génère une vidéo de 4 à 30 secondes avec son ; paramètres, coûts et points à vérifier avant la mise en production, expliqués en une fois.

Oct 15, 2026
Comment utiliser l'API texte-vers-vidéo Seedance 2.5 ? Exécution directe en curl et Python

TL;DR

  • seedance-2.5/text-to-video génère une vidéo à partir d'une simple invite, de 4 à 30 secondes par clip, avec son intégré. Ouvrez la page du modèle pour générer en ligne ; les nouveaux utilisateurs reçoivent 200 crédits à l'inscription.
  • Facturation à la seconde : 720p à $0.204 par seconde, 1080p à $0.516 par seconde. 5 secondes en 720p coûtent $1.02.
  • API en deux étapes : POST /v1/tasks pour soumettre, puis récupérez le taskId pour consulter le résultat. Les exemples curl et Python ci-dessous sont prêts à copier-coller.

Voyons d'abord un résultat réel

La vidéo de 8 secondes en 720p ci-dessous a été générée en une seule requête à partir d'une invite ; le bruit du lait qui mousse, les tasses qui s'entrechoquent et les voix dans le café sont tous ajoutés par le modèle :

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.

Générer avec cette invite → (8 secondes, 720p)

seedance-2.5/text-to-video, 720p, 8 secondes, avec son, $1.632.

Deux façons de démarrer

Essai en ligne (sans code)

  1. Ouvrez la page du modèle Seedance 2.5 texte-vers-vidéo, inscrivez-vous ou connectez-vous.
  2. Collez votre invite, choisissez la durée, la résolution et le format d'image.
  3. Cliquez sur générer, puis téléchargez la vidéo une fois prête.

Appel API

  1. Créez une clé API dans la console.
  2. POST https://api.hiapi.ai/v1/tasks pour soumettre la tâche ; la réponse renvoie un taskId.
  3. GET /v1/tasks/{taskId} pour consulter l'état ; quand status vaut success, téléchargez la vidéo depuis output[0].url.

curl : votre première vidéo

Commençons par un clip de 5 secondes en 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"
    }
  }'

Réponse :

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

Consulter le résultat :

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

Pendant la génération, status vaut handling, puis passe à success une fois terminé ; l'URL de la vidéo se trouve dans output[0].url.

Python : soumission, interrogation, téléchargement

# 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)

Aperçu des paramètres

Paramètre Valeurs Description
prompt chaîne de caractères, obligatoire en chinois ou en anglais
duration entier de 4 à 30, par défaut 5 en secondes, facturation à la seconde
resolution 720p / 1080p, par défaut 720p le prix du 1080p est environ 2,5 fois celui du 720p
aspect_ratio 16:9 4:3 1:1 3:4 9:16 21:9 adaptive, par défaut adaptive pour les vidéos courtes verticales, utilisez 9:16
generate_audio par défaut true le son est généré avec l'image
output_format mp4 / mov

Le texte-vers-vidéo n'accepte aucune URL d'image ou de vidéo. Pour partir d'une image, utilisez plutôt Seedance 2.5 image-vers-vidéo ; pour reprendre les mouvements et la mise en scène d'une vidéo existante, utilisez plutôt Seedance 2.5 référence-vers-vidéo.

Calculons le coût

Durée 720p ($0.204/seconde) 1080p ($0.516/seconde)
5 secondes $1.02 $2.58
10 secondes $2.04 $5.16
15 secondes $3.06 $7.74
30 secondes $6.12 $15.48

Avec $10, on peut générer environ 49 secondes en 720p. Nous recommandons de régler d'abord l'invite avec des clips courts en 720p, puis de produire la version finale en 1080p. Pour un calcul plus détaillé, consultez Tarifs de l'API Seedance 2.5.

À vérifier avant la mise en production

  • Utilisez un callback plutôt que l'interrogation répétée : au niveau racine de la requête (au même niveau que input), ajoutez "callback": {"url": "https://votre-domaine/hiapi/callback"} ; à la fin de la tâche, HiAPI notifie activement, dédupliquez par taskId.
  • Archivage rapide : output[0].url est un lien temporaire (conservé environ 7 jours par défaut) ; stockez-le immédiatement dans votre propre stockage dès réception.
  • Réessayez avec une clé d'idempotence : ajoutez Idempotency-Key dans les en-têtes ; une nouvelle tentative avec la même clé ne crée la tâche qu'une seule fois et ne facture pas deux fois.
  • Indiquez tous les paramètres : spécifiez explicitement duration, resolution et aspect_ratio pour que coût et format d'image correspondent au budget.
  • Remboursement automatique en cas d'échec : seules les vidéos générées avec succès sont facturées.

Questions fréquentes

Peut-on écrire l'invite en chinois ?

Oui. Pour un résultat optimal, écrivez séparément en phrases distinctes les mouvements de caméra, les mouvements du sujet et les éléments sonores.

Quelle est la durée maximale de génération ?

De 4 à 30 secondes par clip. C'est le double de la limite de 15 secondes de Seedance 2.0, idéal pour les longs plans-séquences.

Peut-on économiser en désactivant le son ?

Mettre generate_audio à false désactive le son, mais le prix est calculé selon la résolution et le nombre de secondes, il ne diminue donc pas pour autant.

Comment choisir entre Seedance 2.5 et 2.0 ?

Choisissez 2.5 pour des clips plus longs et plus de matériaux de référence ; si le budget est prioritaire ou si vous voulez du 4K, choisissez la ligne ext de 2.0 ($0.134 par seconde en 720p). Pour une comparaison détaillée, consultez Différences entre Seedance 2.5 et 2.0.

Pour plus de formulations prêtes à l'emploi, consultez le Manuel d'utilisation de Seedance 2.5 ; vous pouvez aussi copier l'invite de latte art ci-dessus pour générer sur la page du modèle.

Articles similaires

Voir tous les articles →

Commencez avec des artefacts IA persistants

Obtenez votre clé API et appelez des modèles d'image, de vidéo et d'audio via une API unique basée sur les tasks.

Lire la documentation de l'API