curl --request POST \
--url https://api.aiid.edu.kg/v1/videos \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"size": "1280x720",
"images": [
"https://example.png"
],
"model": "sora-2",
"prompt": "this is an example",
"duration": 12,
"fps": "24",
"seed": "20231024",
"mode": "i2v"
}
'{
"id": "video_abc123",
"object": "video",
"model": "sora-2",
"status": "queued",
"progress": 0,
"created_at": 1764347090922,
"seconds": "8"
}{
"error": {
"message": "<string>",
"type": "<string>",
"param": "<string>",
"code": "<string>"
}
}Créer une vidéo
OpenAI Sora interface de génération vidéo compatible avec les formats. Prend en charge la génération texte-vers-vidéo ainsi que les modes de génération à partir d’une image/vidéo de référence.
POST /v1/videos: Créer une tâche vidéoGET /v1/videos/{video_id}: Consulter l’état de la tâcheGET /v1/videos/{video_id}/content: obtenir le contenu binaire de la vidéo
Actuellement non disponible pour les utilisateurs externes :
GET /v1/videosPOST /v1/videos/{video_id}/remix
En-têtes d’authentification standard :
Content-Type: application/json
- Créez une tâche via
POST /v1/videoset obtenezid - Interrogez
GET /v1/videos/{id}jusqu’àcompletedoufailed - Une fois terminé, utilisez en priorité
video_urlrenvoyé dans la réponse - Si un téléchargement unifié est nécessaire, appelez
GET /v1/videos/{id}/content
Paramètres principaux :
model: string: requis, nom du modèle exposéprompt: string: recommandé, description de génération de la vidéoseconds: number|string: facultatif, durée cibleduration: number|string: facultatif, alias de duréesize: string: facultatif, taille de sortiemode: string: facultatif, valeurs courantest2vi2vi2v_first_lastreference_material
Paramètres de compatibilité courants :
aspect_ratioratioqualityresolutionfpsimageimage_urlimage_urlsimagesreference_imagesinput_referenceend_image_urllast_image_urlvideo_urlsaudio_urlsfunction_modecontentcallback_urlexternal_task_id
Paramètres d’extension courants de Kling :
model_namenegative_promptcfg_scalesoundcamera_controlimage_listvideo_idtask_idwatermark_info
4.1 série Veo
Remarque : stable, official, etc. indiquent différents groupes et ne sont pas des suffixes model exposés à l’extérieur ; lors de l’appel, veuillez conserver model comme nom de modèle de base, et le groupe réellement utilisé sera déterminé par le groupe du compte ou du jeton.
modèle principal Veo 3.x
veo3veo3-fastveo3-fast-framesveo3-framesveo3-proveo3-pro-framesveo3.1veo3.1-fastveo3.1-proveo3.1-componentsveo3.1-4kveo3.1-pro-4k
Recommandations :
- Pour la génération de vidéo à partir de texte seul, utilisez en priorité les modèles principaux
veo3*/veo3.1* - Pour les scénarios de génération de vidéo à partir d’image ou avec image de référence, il est recommandé de transmettre explicitement
mode + image_url/reference_images
4.2 série Sora
Modèles de base :
sora-2sora-2-pro
Recommandations :
sora-2*convient aux appels généraux- Si vous devez utiliser des groupes tels que
stable/official, veuillez conservermodelcomme nom de modèle de base et ne pas ajouter de suffixe au nom du modèle.
Exemple de requête :
{
"size": "1280x720",
"images": [
"https://example.png"
],
"model": "sora-2",
"prompt": "this is an example",
"duration": 12,
"fps": "24",
"seed": "20231024",
"mode": "i2v"
}
4.3 Série HappyHorse
Modèle exposé :
happyhorse-1.0
Recommandations :
happyhorse-1.0différenciés parmode:t2v,i2v,r2vetvideo_edit.- Dans le format compatible Sora, il est recommandé d’utiliser un tableau
contentpour transmettre les éléments multimédias. - Les éléments texte utilisent
type=text, les éléments multimédias utilisenttype=image_urlet peuvent être associés àroleetnamepour indiquer l’usage du contenu.
Exemple de requête :
{
"size": "720x1280",
"model": "happyhorse-1.0",
"mode": "r2v",
"prompt": "this is an example",
"duration": 15,
"content": [
{
"type": "text",
"text": "this is an example"
},
{
"type": "image_url",
"image_url": {
"url": "https://example.png"
},
"role": "reference_image",
"name": "image1"
}
],
"parameters": {
"resolution": "720P",
"ratio": "9:16",
"duration": 15,
"seed": 1
}
}
4.4 Série Seedance
Modèle exposé :
doubao-seedance-1-0-lite-t2v-250428doubao-seedance-1-0-lite-i2v-250428doubao-seedance-1-0-pro-250528doubao-seedance-1-0-pro-fast-251015doubao-seedance-1-5-pro-251215doubao-seedance-2-0-260128doubao-seedance-2-0-fast-260128
Recommandations :
- Pour la génération de vidéo à partir de texte, privilégiez
*-t2v-*oupro / fast - Pour la génération de vidéo à partir d’image, privilégiez
*-i2v-* - Pour les scénarios avec des éléments de référence complexes, utilisez en priorité
content
Exemple de requête :
{
"size": "1280x720",
"model": "doubao-seedance-2-0-fast-260128",
"prompt": "this is an example",
"duration": 15,
"fps": "24",
"seed": "20231024",
"mode": "reference_material",
"content": [
{
"type": "text",
"text": "this is an example"
},
{
"type": "image_url",
"image_url": {
"url": "https://example.png"
},
"role": "reference_image",
"name": "image1"
},
{
"type": "audio_url",
"audio_url": {
"url": "https://example.mp3"
},
"role": "reference_audio",
"name": "audio1"
}
]
}
4.5 Série vidéo Grok
Modèle exposé :
grok-imagine-1.0-videogrok-imagine-video-1.5-previewgrok-video-3
Paramètres courants :
promptratio/aspect_ratioresolution/sizeseconds/durationimage/image_url/input_referencereference_images
Exemple :
{
"model": "grok-imagine-1.0-video",
"prompt": "雨夜霓虹街道上的电影感推镜,光影丰富,运动自然",
"reference_images": [
"https://example.com/ref-1.jpg"
],
"seconds": 10,
"aspect_ratio": "16:9",
"resolution": "720P"
}
4.6 Modèle principal vidéo Kling
Modèle principal exposé :
kling-video
Obligatoire :
modelmodel_name
model_name pris en charge :
kling-v1kling-v1-5kling-v1-6kling-v2-masterkling-v2-1kling-v2-1-masterkling-v2-5-turbokling-v2-6kling-v3
mode courants :
t2vi2vmulti_i2vextend
Paramètres d’entrée minimaux :
- Génération de vidéo à partir de texte :
model + model_name + prompt + mode=t2v - Génération de vidéo à partir d’image :
model + model_name + prompt + mode=i2v + image - Référence multi-image :
model + model_name + prompt + mode=multi_i2v + image_list - Extension de vidéo :
model + model_name + mode=extend + video_id
Exemple :
{
"model": "kling-video",
"model_name": "kling-v2-6",
"mode": "t2v",
"prompt": "海边日落镜头,电影感,风吹长发",
"duration": 5,
"aspect_ratio": "16:9"
}
4.7 Série vidéo MiniMax / Hailuo
Modèle exposé :
minimax-h3hailuo-2.3
Recommandations :
minimax-h3prend en charge la génération de vidéo à partir de texte, les références d’image et les références audio ; il est recommandé d’utilisercontentpour mélanger texte et ressources ; vous pouvez aussi utiliser des champs compatibles tels queimage_urlsetaudio_urls.hailuo-2.3nécessite une image de première image ; il est recommandé de transmettre l’élémentimage_urlderole=first_framedanscontent, ou d’utiliserimage_urlspour transmettre l’image de première image.minimax-h3utilise généralementduration=5~15etresolution=1440p;hailuo-2.3utilise généralementduration=6ou10etresolution=768p.
Exemple minimax-h3 :
{
"model": "minimax-h3",
"prompt": "A cinematic product video with smooth camera motion",
"content": [
{
"type": "text",
"text": "Use the product image as reference and match the rhythm of the audio."
},
{
"type": "image_url",
"image_url": {
"url": "https://example.com/product.jpg"
},
"role": "reference_image",
"name": "product"
},
{
"type": "audio_url",
"audio_url": {
"url": "https://example.com/music.mp3"
},
"role": "reference_audio",
"name": "music"
}
],
"duration": 8,
"resolution": "1440p",
"aspect_ratio": "16:9",
"generate_audio": true
}
Exemple hailuo-2.3 :
{
"model": "hailuo-2.3",
"prompt": "The camera slowly pushes in, natural motion and cinematic lighting.",
"content": [
{
"type": "text",
"text": "The camera slowly pushes in, natural motion and cinematic lighting."
},
{
"type": "image_url",
"image_url": {
"url": "https://example.com/first-frame.jpg"
},
"role": "first_frame",
"name": "first"
}
],
"duration": 10,
"resolution": "768p",
"aspect_ratio": "16:9"
}
-
mode=t2v -
Entrée minimale :
model + prompt -
mode=i2v -
Entrée minimale :
model + prompt + image_url -
mode=i2v_first_last -
Entrée minimale :
model + prompt + image_url + end_image_url -
mode=reference_images -
Entrée minimale :
model + prompt + reference_images -
mode=reference_material -
Entrée minimale :
model + prompt + (image_urls/video_urls/audio_urls 至少一种)
Instructions d’appel Gemini Omni
gemini-omniest le nom public du modèle vidéo de new-api, utilisable directement viaPOST /v1/videos.mode=t2v: génération texte-vers-vidéo, le paramètre d’entrée minimal estmodel + prompt.mode=r2v: génération à partir d’une image/ressource de référence ; l’image peut être placée dansimage,image_url,images,image_urls,reference_images,input_referenceoucontent.mode=edit: édition vidéo ; la vidéo peut être placée dansvideo,video_url,videosoucontent, et une image de référence peut également être fournie.- Le champ de durée peut utiliser
secondsouduration; il sera automatiquement aligné sur les paliers de 4 / 6 / 8 / 10 secondes.
Kling 4.0
Modèles exposés : kling-4.0 (720p), kling-4.0-1080p. Le format natif peut utiliser POST /text-to-video/kling-4.0, POST /image-to-video/kling-4.0, POST /omni-video/kling-4.0, avec consultation via GET /tasks?task_ids=任务ID. Les requêtes natives ne nécessitent pas model ; la définition est sélectionnée par settings.resolution, avec 1080p par défaut. Les types natifs d’images/vidéos de référence sont refer_image et feature_video ; la création renvoie un objet data et la consultation renvoie un tableau data. Vous pouvez soumettre via POST /api/v3/contents/generations/tasks ou POST /v1/videos, puis consulter via GET /{task_id} du chemin correspondant. OpenAI/Sora utilisent directement prompt, seconds, size et input_reference ; Seedance utilise directement content et duration/resolution/ratio/mode au niveau supérieur. Aucun des deux ne nécessite de contents/settings/options supplémentaire. L’ancienne enveloppe reste compatible : dans contents, type=prompt correspond au texte, type=reference_image et reference_video aux éléments de référence, et first_frame et last_frame aux première et dernière images. kling-4.0 correspond à 720p et kling-4.0-1080p à 1080p ; veillez à ce que settings.resolution corresponde au nom du modèle. Dans settings, utilisez duration (4–30 secondes), resolution (720p/1080p) et aspect_ratio (21:9, 16:9, 9:16, 1:1). audio est disponible uniquement pour le mode polyvalent avec des éléments de référence standard ; omettez le commutateur audio pour les modes texte-vers-vidéo et première/dernière image. L’API prend actuellement en charge jusqu’à 10 images de référence et 5 vidéos de référence, mais ne prend pas en charge l’audio de référence. Les anciens modes kling-video et model_name restent des interfaces historiques de compatibilité.
{
"model": "kling-4.0",
"prompt": "A cinematic product shot",
"seconds": "4",
"size": "1280x720",
"input_reference": "https://example.com/product.jpg"
}
Kling 4.0 peut utiliser directement le format Seedance content/duration/resolution/ratio/mode, ou le format vidéo OpenAI prompt/seconds/size/input_reference ; aucun des deux ne nécessite contents/settings/options supplémentaires. L’ancienne enveloppe contents/settings/options est conservée uniquement à des fins de compatibilité. Les valeurs possibles de mode sont t2v (texte seul), i2v (une seule première image), i2v_first_last (première et dernière images), reference_images (images de référence standard) et reference_material (référence d’image ou de vidéo). Si mode est omis et qu’aucun outil n’est explicitement spécifié, la valeur par défaut est reference_material lorsqu’il existe des éléments de référence, ou t2v en l’absence de tout élément de référence. Le mode de référence utilise le rôle d’image de référence standard et ne convertit pas silencieusement des première et dernière images explicitement définies en images de référence ; pour les première et dernière images, sélectionnez explicitement i2v ou i2v_first_last et omettez le paramètre de format d’image. L’audio de référence n’est actuellement pas pris en charge. settings.audio est disponible uniquement dans le mode polyvalent pour les images de référence/éléments de référence ; omettez le commutateur audio pour t2v, i2v et i2v_first_last.
Vidu Q4
Vidu Q4 : vidu-q4 est fixé à 720p et vidu-q4-540p à 540p ; la génération de vidéos de 3 à 16 secondes est prise en charge. Au moins 1 image est requise, avec un maximum de 15 images de référence ; la génération avec référence peut inclure jusqu’à 3 fichiers audio MP3, de 3 à 12 secondes chacun et d’une taille maximale de 50 Mo. La génération à partir de texte seul, la spécification d’images de début et de fin, ainsi que les vidéos de référence ne sont pas prises en charge. Plusieurs images servent de références communes et n’indiquent pas les positions de début et de fin. Les tâches peuvent être créées via POST /v1/videos, POST /api/v3/contents/generations/tasks, ou, au format Vidu, via POST /ent/v2/img2video et POST /ent/v2/reference2video. Pour le point d’entrée unifié, il est recommandé d’utiliser mode=reference_images ; en présence d’audio, utilisez mode=reference_material. Pour l’audio de référence, vous pouvez utiliser audio_urls ; au format Seedance, vous pouvez également utiliser l’élément audio_url de content standard. Le champ booléen audio indique si l’audio doit être généré et s’utilise séparément de la liste d’URL d’audio de référence. La résolution doit correspondre au nom du modèle.
curl --request POST \
--url https://api.aiid.edu.kg/v1/videos \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"size": "1280x720",
"images": [
"https://example.png"
],
"model": "sora-2",
"prompt": "this is an example",
"duration": 12,
"fps": "24",
"seed": "20231024",
"mode": "i2v"
}
'{
"id": "video_abc123",
"object": "video",
"model": "sora-2",
"status": "queued",
"progress": 0,
"created_at": 1764347090922,
"seconds": "8"
}{
"error": {
"message": "<string>",
"type": "<string>",
"param": "<string>",
"code": "<string>"
}
}Autorisations
Utilisez l'authentification Bearer Token.
Format : Authorization: Bearer sk-xxxxxx
Corps
- Option 1
- Kling 4.0
Obligatoire, nom du modèle exposé à l’extérieur. gemini-omni Peut être appelé via /v1/videos.
sora-2, sora-2-pro, gemini-omni, happyhorse-1.0, happyhorse-1.0-i2v, happyhorse-1.0-t2v, happyhorse-1.0-r2v, happyhorse-1.0-video-edit, doubao-seedance-1-0-lite-i2v-250428, doubao-seedance-1-0-lite-t2v-250428, doubao-seedance-1-0-pro-250528, doubao-seedance-1-0-pro-fast-251015, doubao-seedance-1-5-pro-251215, doubao-seedance-2-0-260128, doubao-seedance-2-0-fast-260128, sd-2-5, veo3, veo3-fast, veo3-fast-frames, veo3-frames, veo3-pro, veo3-pro-frames, veo3.1, veo3.1-4k, veo3.1-components, veo3.1-fast, veo3.1-pro, veo3.1-pro-4k, grok-imagine-1.0-video, grok-imagine-video-1.5-preview, grok-video-3, minimax-h3, hailuo-2.3, viduq3-turbo, vidu-q4, vidu-q4-540p "sora-2"
Point d’entrée unifié pour les prompts. Requis pour la plupart des modèles.
Point d'entrée pour image unique ; certains modes de compatibilité seront mappés sur images.
Paramètre de durée unifié ; certains modèles acceptent également seconds.
Video width
512
Video height
512
Video frame rate
30
Random seed
20231234
Number of videos to generate
1
Response format
"url"
User identifier
"user-1234"
Conteneur de champs d'extension dynamiques. De nombreux champs spécifiques au modèle sont désérialisés à partir d'ici.
Facultatif, mode de génération vidéo. gemini-omni prend en charge t2v, r2v et edit.
Point d’entrée unifié pour plusieurs images. Utilisé par Vidu, Seedance, Veo, etc.
Point d’entrée unifié pour la taille, qui sera mappé vers resolution/aspect_ratio, etc.
Sora point d’entrée de compatibilité, au moment de l’exécution, la valeur de secours sera duration.
Point d’entrée d’image de référence compatible Sora/Veo, peut être un fichier multipart ou un objet compatible.
Audio de référence Vidu Q4 : jusqu’à 3 fichiers MP3, de 3 à 12 secondes chacun, 50 Mo maximum ; distinct du commutateur booléen audio.
Résolution de sortie, valeurs courantes 540p, 720p, 1080p.
Réponse
Tâche vidéo créée avec succès
Should use VideoStatus constants: VideoStatusQueued, VideoStatusInProgress, VideoStatusCompleted, VideoStatusFailed
queued, in_progress, completed, failed, video_url, url, completed_at Compatible avec l'ancienne interface, bientôt obsolète
