curl --request GET \
--url https://api.aiid.edu.kg/api/v1/tasks/{task_id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.aiid.edu.kg/api/v1/tasks/{task_id}"
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/api/v1/tasks/{task_id}', 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/api/v1/tasks/{task_id}",
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/api/v1/tasks/{task_id}"
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/api/v1/tasks/{task_id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.aiid.edu.kg/api/v1/tasks/{task_id}")
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{
"output": {
"task_id": "<string>",
"task_status": "PENDING",
"submit_time": "<string>",
"scheduled_time": "<string>",
"end_time": "<string>",
"video_url": "<string>",
"code": "<string>",
"message": "<string>"
},
"usage": {
"duration": 123,
"SR": 123,
"video_count": 123
},
"request_id": "<string>"
}Interroger la tâche (HappyHorse et Wan)
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).
HappyHorse et l’interface de génération vidéo Wan, dont le chemin public suit le protocole officiel de DashScope.
HappyHorse prend en charge happyhorse-1.0, happyhorse-1.0-i2v, happyhorse-1.0-t2v, happyhorse-1.0-r2v et happyhorse-1.0-video-edit ; Wan prend en charge wan-3.0, wan-3.0-480p et wan-3.0-1080p. Parmi eux, happyhorse-1.0 est un modèle agrégé, qui doit être distingué via mode entre t2v, i2v, r2v et video_edit. Les trois modèles Wan sont respectivement fixés à 720P, 480P et 1080P, et prennent en charge une durée de 2 à 30 secondes ainsi qu’un maximum de 10 images, 5 vidéos et 5 références audio.
L’interface publique conserve le format officiel des endpoints ; le préfixe spécifique au canal est utilisé uniquement pour l’assemblage interne lorsque la passerelle appelle un canal amont spécifique. Le client n’a pas besoin de transmettre explicitement X-DashScope-Async ; cela est traité par la passerelle ou la couche d’adaptation du canal officiel.
Ajoute les squelettes de requête publique, la structure de requête de tâche et le modèle de vérification recommandé pour les formats de génération vidéo HappyHorse et Wan ; le chemin public conserve le format d’endpoint officiel de DashScope.
Modèles pris en charge : happyhorse-1.0, happyhorse-1.0-t2v, happyhorse-1.0-i2v, happyhorse-1.0-r2v, happyhorse-1.0-video-edit, wan-3.0, wan-3.0-480p, wan-3.0-1080p
Champs de requête unifiés :
model(string, obligatoire) : nom public du modèle HappyHorse ou Wan. Wan prend en chargewan-3.0,wan-3.0-480petwan-3.0-1080p; le modèle agrégéhappyhorse-1.0de HappyHorse doit être utilisé avecmode.mode(string, facultatif) : mode du modèle agrégateur ; les valeurs courantes sontt2v,i2v,r2vetvideo_edit. Les sous-modèles fixes peuvent être omis.input.prompt(string, obligatoire) : prompt de génération ou d’édition vidéo.input.media(array[object], facultatif) : entrées multimédias. Prend en chargefirst_frame,last_frame,reference_image,reference_videoetreference_audio; Wan prend en charge au maximum 10 images, 5 vidéos et 5 pistes audio.parameters.duration(integer, optionnel) : Durée de génération, en secondes.parameters.resolution(string, facultatif) : résolution de sortie. Les trois modèles Wan sont respectivement fixés à720P,480Pet1080P; les valeurs courantes de HappyHorse sont720Pet1080P.parameters.ratio(string, facultatif) : format d’image de sortie, couramment utilisé pour le texte vers vidéo et la référence vers vidéo.parameters.watermark(boolean, facultatif) : indiquer s’il faut ajouter un filigrane.parameters.seed(integer, facultatif) : graine aléatoire.
Différences courantes entre modèles/modes :
HappyHorse 聚合模型: prend en charge le modèle happyhorse-1.0 ; le modèle agrégateur distingue le modèle final via mode.HappyHorse 文生视频: prend en charge le modèle happyhorse-1.0-t2v ; format officiel texte vers vidéo.HappyHorse 首帧图生视频: prend en charge le modèle happyhorse-1.0-i2v ; format officiel image de première frame vers vidéo.HappyHorse 参考生视频: prend en charge le modèle happyhorse-1.0-r2v ; format officiel référence multiple vers vidéo.HappyHorse 视频编辑: prend en charge le modèle happyhorse-1.0-video-edit ; format officiel d’édition vidéo.Wan 3.0 720P: modèle pris en charge wan-3.0 ; génération vidéo de référence multimodale au format officiel Wan 3.0.Wan 3.0 480P: modèle pris en charge wan-3.0-480p ; appel au format officiel Wan 3.0 avec résolution fixe 480P.Wan 3.0 1080P: modèle pris en charge wan-3.0-1080p ; appel au format officiel Wan 3.0 avec résolution fixe 1080P.
curl --request GET \
--url https://api.aiid.edu.kg/api/v1/tasks/{task_id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.aiid.edu.kg/api/v1/tasks/{task_id}"
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/api/v1/tasks/{task_id}', 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/api/v1/tasks/{task_id}",
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/api/v1/tasks/{task_id}"
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/api/v1/tasks/{task_id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.aiid.edu.kg/api/v1/tasks/{task_id}")
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{
"output": {
"task_id": "<string>",
"task_status": "PENDING",
"submit_time": "<string>",
"scheduled_time": "<string>",
"end_time": "<string>",
"video_url": "<string>",
"code": "<string>",
"message": "<string>"
},
"usage": {
"duration": 123,
"SR": 123,
"video_count": 123
},
"request_id": "<string>"
}Autorisations
Utilisez l'authentification Bearer Token.
Format : Authorization: Bearer sk-xxxxxx
Paramètres de chemin
ID de tâche, provenant de id renvoyé lors de la création de la tâche.
Réponse
Requête réussie
Hide child attributes
Hide child attributes
ID de tâche renvoyé lors de la création de la tâche, utilisé pour interroger la tâche.
État de la tâche, valeurs courantes PENDING, RUNNING, SUCCEEDED et FAILED.
PENDING, RUNNING, SUCCEEDED, FAILED, UNKNOWN URL de la vidéo générée après la réussite de la tâche.
