curl --request GET \
--url https://api.aiid.edu.kg/ent/v2/tasks/{task_id}/creations \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.aiid.edu.kg/ent/v2/tasks/{task_id}/creations"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.aiid.edu.kg/ent/v2/tasks/{task_id}/creations', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.aiid.edu.kg/ent/v2/tasks/{task_id}/creations",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.aiid.edu.kg/ent/v2/tasks/{task_id}/creations"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.aiid.edu.kg/ent/v2/tasks/{task_id}/creations")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.aiid.edu.kg/ent/v2/tasks/{task_id}/creations")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"id": "<string>",
"state": "created",
"err_code": "<string>",
"payload": "<string>",
"creations": [
{
"id": "<string>",
"url": "<string>",
"cover_url": "<string>",
"watermarked_url": "<string>"
}
],
"task_id": "<string>"
}Interroger la tâche(Vidu)
Cette série prend en charge le format de génération vidéo OpenAI (voir le lien Formats compatibles pour la génération vidéo Sora).
Vidu interface officielle de génération vidéo ; le chemin public suit le protocole officiel Vidu.
viduq3-turbo, viduq2 et vidu2.0 prennent en charge, selon leurs capacités respectives, la génération de vidéos à partir de texte, d’images, d’images de début et de fin, ou de références. Ils peuvent également être intégrés via le format compatible /v1/videos Sora.
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.
Complète le squelette de requête publique, la structure de requête de tâche et le modèle de validation recommandé du format officiel de génération vidéo Vidu ; le chemin public conserve le format de point de terminaison officiel Vidu.
Modèles pris en charge : viduq3-turbo, viduq2, vidu2.0
Champs de requête unifiés :
model(string, obligatoire) : nom de modèle public Vidu. Vidu Q4 prend uniquement en charge la génération vidéo à partir d’images et à partir de références incluant des images ; Q3/Q2/V2 conservent leurs capacités respectives.prompt(string, facultatif) : prompt de génération vidéo ; obligatoire pour le texte vers vidéo, à fournir selon les besoins métier pour image vers vidéo, images de début/fin et vidéo de référence.images(array[string], facultatif) : entrées d’images. Une image pour la génération à partir d’une image ; pour la génération à partir de références avec Vidu Q4, de 1 à 15 images, utilisées ensemble comme références. Pour les anciens modèles, les images de début et de fin ainsi que le nombre de références dépendent de leurs capacités respectives.videos(array[string], facultatif) : fournissez des entrées vidéo principales uniquement selon les capacités des anciens modèles ; Vidu Q4 ne prend pas en charge les vidéos de référence.subjects(array[object], facultatif) : entrée au format de bibliothèque de sujets pour la vidéo de référence, pouvant inclure des champs tels que le nom du sujet, des images, des vidéos ou le timbre vocal.duration(integer, facultatif) : durée de la vidéo, en secondes.viduq3-turboutilise couramment 5 secondes ; peut être définie selon la plage officielle.resolution(string, facultatif) : résolution de sortie, valeurs courantes540p,720pet1080p.aspect_ratio(string, facultatif) : format d’image de sortie, couramment utilisé pour le texte vers vidéo et la vidéo de référence, par exemple16:9,9:16et1:1.seed(integer, facultatif) : graine aléatoire.movement_amplitude(string, facultatif) : amplitude du mouvement, valeurs courantesauto,small,mediumetlarge.audio(boolean, facultatif) : activer ou non la sortie directe audio et vidéo.audio_urls(array[string], facultatif) : audio de référence pour Vidu Q4, jusqu’à 3 fichiers MP3, de 3 à 12 secondes chacun et d’une taille maximale de 50 Mo ; distinct du commutateur booléen audio.off_peak(boolean, facultatif) : utiliser ou non la génération décalée.watermark(boolean, facultatif) : indiquer s’il faut ajouter un filigrane.
Différences courantes entre modèles/modes :
Vidu 文生视频: modèles pris en charge : viduq3-turbo, viduq2, vidu2.0 ; génération officielle de vidéos à partir de texte.Vidu 图生视频: modèles pris en charge : viduq3-turbo, viduq2, vidu2.0 ; génération officielle de vidéos à partir d’une seule image.Vidu 首尾帧生视频: modèles pris en charge : viduq3-turbo, viduq2, vidu2.0 ; génération officielle de vidéos à partir de deux images, de début et de fin.Vidu 参考生视频: modèles pris en charge : viduq3-turbo, viduq2, vidu2.0 ; génération officielle de vidéos à partir de plusieurs images de référence.
curl --request GET \
--url https://api.aiid.edu.kg/ent/v2/tasks/{task_id}/creations \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.aiid.edu.kg/ent/v2/tasks/{task_id}/creations"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.aiid.edu.kg/ent/v2/tasks/{task_id}/creations', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.aiid.edu.kg/ent/v2/tasks/{task_id}/creations",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.aiid.edu.kg/ent/v2/tasks/{task_id}/creations"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.aiid.edu.kg/ent/v2/tasks/{task_id}/creations")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.aiid.edu.kg/ent/v2/tasks/{task_id}/creations")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"id": "<string>",
"state": "created",
"err_code": "<string>",
"payload": "<string>",
"creations": [
{
"id": "<string>",
"url": "<string>",
"cover_url": "<string>",
"watermarked_url": "<string>"
}
],
"task_id": "<string>"
}Autorisations
Utilisez l'authentification Bearer Token.
Format : Authorization: Bearer sk-xxxxxx
Paramètres de chemin
ID de tâche, provenant de task_id renvoyé lors de la création de la tâche.
Réponse
Requête réussie
ID de la tâche.
État de la tâche, valeurs courantes created, queueing, processing, success et failed.
created, queueing, processing, success, failed ID de tâche renvoyé lors de la création de la tâche, utilisé pour interroger la tâche.
