Tutoriel
Tutoriel API Seedance 2.0 Mini en français : l'interface vidéo à 0,0272 $ par seconde
Le Seedance le moins cher : texte-vers-vidéo, image-vers-vidéo et vidéo par référence avec un seul modèle, avec exemples curl et Python, tous les paramètres et le coût à la seconde.
TL;DR
seedance-2.0-miniest la version allégée de Seedance 2.0 de ByteDance. Un seul nom de modèle suffit pour le texte-vers-vidéo, l'image-vers-vidéo (première image ou première et dernière images) et la vidéo par référence, avec audio synchronisé natif. Ouvrez la page du modèle pour générer en ligne ; les nouveaux utilisateurs reçoivent 200 crédits à l'inscription.- C'est l'un des modèles vidéo les moins chers sur HiAPI : 480p à 0,0272 $ par seconde, 720p à 0,0586 $ par seconde. 5 secondes en 480p coûtent seulement 0,136 $.
resolutionest obligatoire : si vous ne le passez pas, vous obtenez directement une erreur. Vous trouverez ci-dessous des exemples curl et Python, tous les paramètres, et le mode de calcul du coût pour chacun des trois modes.
Voyons d'abord le résultat
Trois vidéos texte-vers-vidéo, toutes en 5 secondes 480p, à 0,136 $ chacune.
A slow dolly-in toward a steaming bowl of ramen on a worn wooden counter in a dim izakaya. Warm amber lantern light, soft volumetric haze, gentle steam curling upward, shallow depth of field, the broth surface rippling slightly. Cinematic, photoreal.
Générer avec ce prompt → (5 secondes, 480p)
seedance-2.0-mini, texte-vers-vidéo, 480p, 5 secondes, 0,136 $.
A cozy fireplace crackling in a log cabin at night, orange embers popping and drifting, a cast-iron kettle gently steaming on the hearth, rain streaking the dark window behind. Static locked-off shot. Native audio: crackling fire, soft rain on glass, a low wind.
Générer avec ce prompt → (5 secondes, 480p)
seedance-2.0-mini, texte-vers-vidéo, 480p, 5 secondes, avec audio natif, 0,136 $.
Les crépitements du feu de bois, la pluie et le vent de cette vidéo proviennent de la dernière phrase du prompt. Mini génère de l'audio par défaut, mais pour obtenir des sons précis, il faut les décrire clairement dans le prompt.
A border collie sprints across a sunlit beach toward the camera, kicking up wet sand, ears flapping, tongue out, water spray catching the low golden light. Tracking shot moving backward to keep the dog centered, motion blur on the paws, joyful energy, photoreal.
Générer avec ce prompt → (5 secondes, 480p)
seedance-2.0-mini, texte-vers-vidéo, 480p, 5 secondes, 0,136 $.
curl : la première vidéo
curl -X POST https://api.hiapi.ai/v1/tasks \
-H "Authorization: Bearer $HIAPI_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "seedance-2.0-mini",
"input": {
"prompt": "雨夜霓虹赛博朋克街道,镜头缓缓推近,湿漉路面倒影斑斓,电影级氛围",
"resolution": "480p",
"duration": 5,
"aspect_ratio": "16:9"
}
}'
5 secondes en 480p, 0,136 $. Après avoir récupéré data.taskId, interrogez GET /v1/tasks/{taskId} jusqu'à ce que status vaille success, puis téléchargez 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(timeout_s=900, **params):
body = {"model": "seedance-2.0-mini", "input": 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)
# 图生视频:让一张图动起来,720p 5 秒($0.293)
url = generate(
prompt="镜头缓缓拉远,云雾在山峰间流动,金色晨光",
first_frame_url="https://your-cdn.example.com/first-frame.jpg",
resolution="720p", duration=5, generate_audio=False,
)
with open("clip.mp4", "wb") as f:
f.write(requests.get(url).content)
Un modèle, trois modes
Le mode dépend des paramètres que vous passez :
| Mode | Ce qu'il faut passer | Remarques |
|---|---|---|
| Texte-vers-vidéo | prompt uniquement |
|
| Image-vers-vidéo | first_frame_url, éventuellement avec last_frame_url |
Non combinable avec des images ou vidéos de référence |
| Vidéo par référence | reference_image_urls, reference_video_urls, reference_audio_urls |
Jusqu'à 3 vidéos de référence et 3 audios de référence, chacun pour une durée totale maximale de 15 secondes |
Aperçu des paramètres
| Paramètre | Valeurs | Remarques |
|---|---|---|
prompt |
chaîne, obligatoire | En chinois ou en anglais |
resolution |
480p / 720p, obligatoire |
Retourne une erreur 400 si absent |
duration |
entier de 4 à 15, obligatoire (5 dans les exemples) | En secondes |
aspect_ratio |
1:1 4:3 3:4 16:9 9:16 21:9 adaptive, par défaut 16:9 |
|
generate_audio |
par défaut true |
Audio synchronisé natif |
first_frame_url / last_frame_url |
URL d'image | jpeg/png/webp/bmp/tiff/gif, côté 300–6000 px, moins de 30 Mo par image |
reference_image_urls |
URL d'image | 9 images maximum au total avec les première et dernière images |
reference_video_urls |
3 maximum | mp4/mov, 480p ou 720p, 2–15 secondes par segment, 15 secondes au total maximum |
reference_audio_urls |
3 maximum | wav/mp3, 2–15 secondes par segment, 15 secondes au total maximum |
Calculons le coût
| Durée | 480p (0,0272 $/s) | 720p (0,0586 $/s) |
|---|---|---|
| 4 secondes | 0,1088 $ | 0,2344 $ |
| 5 secondes | 0,136 $ | 0,293 $ |
| 10 secondes | 0,272 $ | 0,586 $ |
| 15 secondes | 0,408 $ | 0,879 $ |
Lorsque reference_video_urls est fourni, la facturation utilise un autre tarif : 480p à 0,0172 $ par seconde, 720p à 0,0358 $ par seconde. Avec 10 $, on peut générer environ 367 secondes en 480p. Nous recommandons de régler d'abord le prompt en 480p, puis de passer en 720p une fois le résultat finalisé ; pour du 1080p, utilisez Seedance 2.0 ou Seedance 2.5.
À vérifier avant la mise en production
- Utilisez un callback plutôt que l'interrogation répétée : au niveau supérieur de la requête (au même niveau que
input), ajoutez"callback": {"url": "https://votre-domaine/hiapi/callback"}, et dédupliquez partaskId. - Transférez rapidement les fichiers :
output[0].urlest un lien temporaire. - Utilisez une clé d'idempotence pour les nouvelles tentatives : ajoutez l'en-tête
Idempotency-Key; une nouvelle tentative avec la même clé ne crée la tâche qu'une seule fois. - Remboursement automatique en cas d'échec : seules les vidéos générées avec succès sont facturées.
Questions fréquentes
Comment choisir entre Seedance 2.0 Mini et Seedance 2.0 ?
En 480p, le prix de Mini est environ le cinquième de celui de 2.0 (0,0272 $ par seconde contre 0,136 $), mais il ne dépasse pas 720p. Utilisez Mini pour les brouillons, la production de vidéos courtes en lot pour les réseaux sociaux et les tests de prompts ; pour du 1080p ou de la 4K, passez à Seedance 2.0.
Pourquoi une erreur si resolution est absent ?
Pour ce modèle, resolution est obligatoire : indiquez explicitement "480p" ou "720p".
Y a-t-il du son ?
Oui, par défaut. Décrivez clairement dans le prompt le son souhaité ; pour désactiver le son, réglez generate_audio sur false.
Quelle est la durée maximale d'une vidéo ?
De 4 à 15 secondes.
Pour découvrir d'autres façons de rédiger les prompts, consultez le guide des prompts Seedance 2.0 ; vous pouvez aussi générer la vidéo du ramen directement depuis 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