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>"
}Запрос задачи(Vidu)
Эта серия поддерживает формат генерации видео OpenAI (подробности см. по ссылке совместимые форматы видео生成Sora ).
Vidu Официальный интерфейс генерации видео; публичный путь соответствует официальному протоколу Vidu.
viduq3-turbo, viduq2, vidu2.0 поддерживают генерацию видео из текста, изображения, начального и конечного кадров или референсов в соответствии со своими возможностями; также доступно подключение через совместимый формат /v1/videos Sora.
Vidu Q4: для vidu-q4 фиксированное разрешение 720p, для vidu-q4-540p — 540p; поддерживается генерация видео длительностью от 3 до 16 секунд. Требуется как минимум 1 изображение, поддерживается до 15 референсных изображений; к референсной генерации можно приложить до 3 аудиофайлов MP3, каждый длительностью от 3 до 12 секунд и размером до 50 МБ. Генерация только по тексту, указание начального и конечного кадров и референсное видео не поддерживаются. Несколько изображений используются как общие референсы и не обозначают позиции начала и конца. Задачи можно создавать через POST /v1/videos, POST /api/v3/contents/generations/tasks или в формате Vidu с помощью POST /ent/v2/img2video, POST /ent/v2/reference2video. Для унифицированной точки входа рекомендуется использовать mode=reference_images; при наличии аудио используйте mode=reference_material. Для референсного аудио можно использовать audio_urls; в формате Seedance также можно использовать параметр audio_url стандартного content. Булево поле audio обозначает переключатель генерации аудио и используется отдельно от списка URL референсного аудио. Разрешение должно соответствовать имени модели.
Дополнены общая структура публичного запроса для официального формата генерации видео Vidu, структура запроса статуса задачи и рекомендуемый шаблон проверки; публичный путь сохраняет формат официального endpoint Vidu.
Поддерживаемые модели: viduq3-turbo, viduq2, vidu2.0
Унифицированные поля запроса:
model(string, обязательно): Внешнее имя модели Vidu. Vidu Q4 поддерживает только генерацию видео из изображения и по референсам с изображениями; Q3/Q2/V2 используют свои соответствующие возможности.prompt(string, необязательно): подсказка для генерации видео; обязательна для генерации видео по тексту, для генерации по изображению/первым и последним кадрам/по референсу передается по необходимости.images(array[string], необязательно): Входные изображения. Для генерации из одного изображения — 1 изображение; для генерации по референсам в Vidu Q4 — от 1 до 15 изображений, используемых как общие референсы. Количество начальных и конечных кадров и референсов для старых моделей определяется их возможностями.videos(array[string], необязательно): Входное основное видео предоставляется только в соответствии с возможностями старых моделей; Vidu Q4 не поддерживает референсные видео.subjects(array[object], необязательно): вход в формате библиотеки объектов для генерации по референсу; может включать поля, такие как имя объекта, изображение, видео или тембр.duration(integer, необязательно): длительность видео в секундах.viduq3-turboОбычно 5 секунд, можно задать в пределах, указанных в официальной документации.resolution(string, необязательно): выходное разрешение, распространенные значения:540p、720p、1080p.aspect_ratio(string, необязательно): выходное соотношение сторон, часто используется для генерации видео по тексту/по референсу, например16:9、9:16、1:1.seed(integer, необязательно): случайное зерно.movement_amplitude(string, необязательно): амплитуда движения, распространенные значения:auto、small、medium、large.audio(boolean, необязательно): включить ли прямой вывод аудио и видео.audio_urls(array[string], необязательно): Референсное аудио для Vidu Q4: до 3 файлов MP3, каждый длительностью от 3 до 12 секунд и размером до 50 МБ; указывается отдельно от булевого переключателя audio.off_peak(boolean, необязательно): использовать ли поэтапную генерацию.watermark(boolean, необязательно): добавлять ли водяной знак.
Основные различия моделей/режимов:
Vidu 文生视频: Поддерживаемые модели: viduq3-turbo, viduq2, vidu2.0; генерация видео из текста в официальном формате.Vidu 图生视频: Поддерживаемые модели: viduq3-turbo, viduq2, vidu2.0; генерация видео из одного изображения в официальном формате.Vidu 首尾帧生视频: Поддерживаемые модели: viduq3-turbo, viduq2, vidu2.0; генерация видео из двух изображений — начального и конечного кадров — в официальном формате.Vidu 参考生视频: Поддерживаемые модели: viduq3-turbo, viduq2, vidu2.0; генерация видео из нескольких референсных изображений в официальном формате.
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>"
}Авторизации
Используйте проверку подлинности Bearer Token.
Формат: Authorization: Bearer sk-xxxxxx
Параметры пути
ID задачи, полученный из ответа на создание задачи task_id.
Ответ
Успешный запрос
ID задачи.
Статус задачи, распространённые значения created、queueing、processing、success、failed.
created, queueing, processing, success, failed ID задачи, возвращаемый при создании задачи, используется для ее запроса.
