API Hop

Documentation

Documentation API Hop

Génération de vidéo Seedance 2.0

Paramètres Seedance 2.0 de génération par texte, images initiale/finale, entrées multimodales et audio.

POSThttps://api.apihop.ai/v1/video/seedance

Créez une tâche asynchrone Seedance 2.0. Pour Seedance 2.5, utilisez sa référence de paramètres distincte.

Authentification

http
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json

Corps

modelstringobligatoire

seedance-2.0 ou son alias seedance-2-0.

promptstring

Consigne vidéo. Obligatoire pour une génération à partir de texte seul ; peut être omise ou vide si des références d’images ou de vidéos sont fournies. L’audio seul n’est pas une entrée valide. Les éléments textuels dans metadata.content sont ignorés ; seule cette consigne de premier niveau est utilisée.

secondsstringPar défaut: 5

Chaîne représentant un entier de "4" à "15". L’alias numérique duration est également accepté. Si les deux sont fournis, ils doivent correspondre. La durée automatique (-1) n’est pas prise en charge.

sizestringPar défaut: 720p

Résolution de sortie : 480p, 720p, 1080p ou 4k. Ce n’est pas un rapport d’aspect. Priorité des résolutions : metadata.resolution, size, puis resolution.

aspectRatiostringPar défaut: 16:9

16:9, 9:16, 1:1, 4:3, 3:4, 21:9 ou adaptive. aspect_ratio et ratio sont des alias ; metadata.ratio est prioritaire. Utilisez un seul alias par réglage.

metadataobject

Accepte resolution, ratio, content et generate_audio. Définissez generate_audio sur un booléen pour contrôler l’audio généré. generateAudio / generate_audio de premier niveau sont des alias ; fournissez un seul contrôle audio.

imagesstring[]

Forme abrégée pour les images : la première image est l’image initiale, la seconde l’image finale. Pour des rôles précis, utilisez metadata.content. Les alias existants imageUrls, imageUrl, image_urls et image_url restent acceptés avec la même sémantique d’images initiale/finale.

imageWithRolesobject[]

Images avec url et role : first_frame, last_frame ou reference_image. image_with_roles est un alias. Les deux versions acceptent aussi metadata.content typé.

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 référence d’image ou de vidéo dans la même requête.

callback_urlstring

URL facultative de rappel natif. Sa 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

Chaque élément multimédia de metadata.content contient l’objet URL imbriqué correspondant. Les URL peuvent être des adresses HTTP(S) publiques ou des identifiants asset:// existants.

Type de médiaChamp URLRôles
image_urlimage_url.urlfirst_frame, last_frame, reference_image
video_urlvideo_url.urlreference_video
audio_urlaudio_url.urlreference_audio

Jusqu’à 9 images, 3 vidéos et 3 fichiers audio sont acceptés, formes abrégées et contenu typé compris. L’audio nécessite une image ou une vidéo. draft_task n’est pas pris en charge. Utilisez prompt de premier niveau plutôt que des éléments type: "text". 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.

Les contrôles non pris en charge tels que negativePrompt, seed, returnLastFrame, nsfwCheck, tools, webhook, watermark, outputFormat et leurs alias snake_case sont rejetés. width, height, fps, cfgScale, steps et style ne sont pas pris en charge.

Exemples de requêtes

Texte vers vidéo

json
{
  "model": "seedance-2.0",
  "prompt": "A quiet city street at dawn, slow forward camera movement",
  "seconds": "5",
  "size": "720p",
  "metadata": {"ratio": "16:9", "generate_audio": true}
}

Images initiale et finale

json
{
  "model": "seedance-2.0",
  "seconds": "5",
  "metadata": {
    "resolution": "720p",
    "ratio": "9:16",
    "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éférences d’image et d’audio

json
{
  "model": "seedance-2.0",
  "prompt": "Animate the scene to match the rhythm",
  "metadata": {
    "resolution": "720p",
    "generate_audio": true,
    "content": [
      {"type": "image_url", "image_url": {"url": "asset://existing-image-id"}, "role": "reference_image"},
      {"type": "audio_url", "audio_url": {"url": "https://example.com/beat.mp3"}, "role": "reference_audio"}
    ]
  }
}

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 un url sous forme de chaîne ou un tableau d’URL dans chaque objet de résultat. Les frais dépendent des tokens réels de génération et de la résolution de sortie ; les références vidéo sélectionnent le tarif d’entrée vidéo, contrairement aux références composées uniquement d’images ou d’audio.