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.
TL;DR
seedance-2.5/text-to-videogé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/taskspour soumettre, puis récupérez letaskIdpour 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)
- Ouvrez la page du modèle Seedance 2.5 texte-vers-vidéo, inscrivez-vous ou connectez-vous.
- Collez votre invite, choisissez la durée, la résolution et le format d'image.
- Cliquez sur générer, puis téléchargez la vidéo une fois prête.
Appel API
- Créez une clé API dans la console.
POST https://api.hiapi.ai/v1/taskspour soumettre la tâche ; la réponse renvoie untaskId.GET /v1/tasks/{taskId}pour consulter l'état ; quandstatusvautsuccess, téléchargez la vidéo depuisoutput[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 partaskId. - Archivage rapide :
output[0].urlest 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-Keydans 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,resolutionetaspect_ratiopour 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 →-
Tutoriel
Comment appeler hailuo-2.3-fast/image-to-video via l'API HiAPI : curl et Python en pratique
La première requête exploitable du palier image-vers-vidéo rapide et économique — de l'ID du modèle au téléchargement du MP4
-
Tutoriel
Comment appeler hailuo-2.3/text-to-video via l'API HiAPI : curl, Python et exemples de requêtes exécutables
-
Tutoriel
Utiliser Kandinsky 6.0 Pro texte-vers-vidéo sur HiAPI : tutoriel curl et Python
Démonstration pratique axée sur la requête : construire l'appel du prompt au clip vidéo, soumettre la requête, interroger l'état d'achèvement et télécharger le résultat