Documentation API Hop
Génération de vidéo Seedance 2.5
Contenu multimodal, audio généré et paramètres de réutilisation de tâches d’échantillon Seedance 2.5.
https://api.apihop.ai/v1/video/seedanceCréez une tâche asynchrone Seedance 2.5. Pour Seedance 2.0, utilisez sa référence de paramètres distincte.
Authentification
Authorization: Bearer YOUR_API_KEY
Content-Type: application/jsonCorps
modelstringobligatoireseedance-2.5.
promptstringConsigne vidéo. Obligatoire pour une génération à partir de texte seul ; peut être omise ou vide avec des références d’images/vidéos. Omettez-la pour la réutilisation de draft_task. Les éléments textuels de metadata.content sont ignorés ; le champ prompt de premier niveau fait autorité.
durationnumberPar défaut: 5Entier de 4 à 30, ou -1 pour une durée automatique. Le champ natif seconds accepte la chaîne entière équivalente. metadata.duration est aussi accepté. Les alias de durée fournis doivent correspondre. Omettez tous les contrôles de durée pour la réutilisation de draft_task.
resolutionstringPar défaut: 720p480p, 720p ou 1080p. Le champ natif size peut indiquer la résolution ; metadata.resolution est prioritaire. 4k n’est pas pris en charge.
aspectRatiostringPar défaut: 16:916:9, 9:16, 1:1, 4:3, 3:4, 21:9 ou adaptive. aspect_ratio, ratio et metadata.ratio sont acceptés. Les anciennes valeurs de rapport dans size restent acceptées pour compatibilité, mais une valeur de résolution dans size désigne une résolution. Les images initiale/finale nécessitent adaptive, sélectionné automatiquement si des rôles d’images sont présents sans rapport explicite.
metadataobjectAccepte resolution, ratio, duration, content, generate_audio et output_format. Définissez generate_audio sur un booléen pour l’audio généré. generateAudio / generate_audio de premier niveau sont des alias ; utilisez un seul contrôle audio.
imageUrlsstring[]Images de référence. images, imageUrl, image_urls et image_url sont des alias. La forme native abrégée images utilise ses deux premières images comme images initiale/finale ; imageUrls conserve la sémantique d’images de référence.
imageWithRolesobject[]Images par rôle avec url et role : first_frame, last_frame ou reference_image. image_with_roles est un alias. metadata.content typé est également accepté.
videoUrlsstring[]Vidéos de référence. videoUrl, video_urls et video_url sont des alias.
audioUrlsstring[]Audio de référence. audioUrl, audio_urls et audio_url sont des alias. Nécessite une image ou une vidéo dans la même requête.
outputFormatstringPar défaut: mp4mp4 uniquement. output_format et metadata.output_format sont acceptés. mov et watermark ne sont pas pris en charge.
callback_urlstringURL facultative de rappel natif. La disponibilité dépend du canal choisi ; utilisez GET https://api.apihop.ai/v1/jobs/{jobId} comme référence pour le résultat.
Contenu multimodal
Les URL multimédias peuvent être des adresses HTTP(S) publiques ou des identifiants asset:// existants.
| Type de média | Champ imbriqué | Rôles |
|---|---|---|
image_url | image_url.url | first_frame, last_frame, reference_image |
video_url | video_url.url | reference_video |
audio_url | audio_url.url | reference_audio |
draft_task | draft_task.id | Aucun rôle ; réutilisation d’échantillon uniquement |
Jusqu’à 30 images, 10 vidéos et 10 fichiers audio sont acceptés, dans une limite totale de 50 éléments multimédias, formes abrégées et contenu typé compris. L’audio nécessite une image ou une vidéo. Utilisez prompt de premier niveau au lieu du contenu type: "text". Fournissez un seul alias par réglage. Les contrôles non pris en charge sont rejetés. Les champs de premier niveau first_frame_url, last_frame_url, reference_image_urls, reference_video_urls et reference_audio_urls sont des formes abrégées propres aux rôles. Les champs non listés des éléments de contenu ne sont pas transmis.
Réutilisation de tâches d’échantillon
draft_task est propre à Seedance 2.5. Il réutilise un échantillon compatible existant et terminé ; cette page ne définit pas de contrôles de création d’échantillon.
metadata.contentdoit contenir exactement un élémentdraft_task.- Privilégiez le
jobIdSynapse de l’échantillon existant, sous forme de chaîne décimale, pourdraft_task.id. Un identifiant de plateformetask_...existant et enregistré est aussi accepté ; n’utilisez pas d’ID brut du fournisseur et n’inventez pas d’identifiant. - L’échantillon doit appartenir au même compte, utiliser le même modèle et canal de traitement, être terminé et avoir été créé depuis moins de 7 jours.
- Ne fournissez pas de consigne, d’entrées image/vidéo/audio, de durée, de rapport, de graine, de
generate_audio, de format de sortie ni deomni_reference_task_type. Les réglages de l’échantillon sont réutilisés. - La résolution de sortie peut être fournie.
Les contrôles de compatibilité et de propriété peuvent rejeter la réutilisation même si la tâche référencée s’est terminée avec succès. Ne supposez pas que toute génération normale constitue un échantillon réutilisable.
Exemples de requêtes
Référence multimodale
{
"model": "seedance-2.5",
"prompt": "Keep the referenced character and camera movement in a coherent film",
"seconds": "8",
"size": "720p",
"metadata": {
"ratio": "16:9",
"generate_audio": true,
"content": [
{"type": "image_url", "image_url": {"url": "https://example.com/character.png"}, "role": "reference_image"},
{"type": "video_url", "video_url": {"url": "https://example.com/camera.mp4"}, "role": "reference_video"},
{"type": "audio_url", "audio_url": {"url": "https://example.com/music.mp3"}, "role": "reference_audio"}
]
}
}Images initiale et finale
{
"model": "seedance-2.5",
"duration": 5,
"metadata": {
"ratio": "adaptive",
"content": [
{"type": "image_url", "image_url": {"url": "https://example.com/first.jpg"}, "role": "first_frame"},
{"type": "image_url", "image_url": {"url": "https://example.com/last.jpg"}, "role": "last_frame"}
]
}
}Réutiliser un échantillon existant
Remplacez EXISTING_SAMPLE_JOB_ID par le jobId renvoyé d’un échantillon réel compatible et terminé. L’espace réservé ci-dessous n’est pas un identifiant de tâche fonctionnel.
{
"model": "seedance-2.5",
"metadata": {
"resolution": "1080p",
"content": [
{"type": "draft_task", "draft_task": {"id": "EXISTING_SAMPLE_JOB_ID"}}
]
}
}Soumission et résultat
Le champ data de la réponse contient jobId, status, model et message. Une soumission réussie signifie que la tâche est acceptée, pas terminée. Interrogez GET https://api.apihop.ai/v1/jobs/{jobId} avec une clé API du même compte. Consultez Consulter une tâche asynchrone.
Lorsque l’état est COMPLETED, lisez data.outputResult. Acceptez les chaînes et les tableaux dans le champ url de chaque objet de résultat.