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 公式動画生成API。公開パスは Vidu 公式仕様に準拠します。
viduq3-turbo、viduq2、vidu2.0 は、それぞれの機能に応じてテキストからの生成、画像からの生成、開始・終了フレーム、または参照による動画生成をサポートし、/v1/videos Sora 互換形式での接続も可能です。
Vidu Q4:vidu-q4 は 720p 固定、vidu-q4-540p は 540p 固定で、3~16 秒の動画生成をサポートします。画像は最低 1 枚必要で、参照画像は最大 15 枚までサポートします。参照生成には MP3 音声を最大 3 本添付でき、各音声は 3~12 秒、最大 50MB です。テキストのみからの生成、開始・終了フレームの指定、参照動画には対応していません。複数の画像は共通の参照用であり、開始・終了位置を示すものではありません。タスクは 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 形式では標準の content の audio_url 項目も使用できます。audio のブール値フィールドは音声生成のオン/オフを示し、参照音声 URL リストとは別に使用します。解像度はモデル名と一致している必要があります。
Vidu 公式動画生成フォーマットの公開リクエスト骨格、タスク照会構造、推奨検証テンプレートを補足します。公開パスは 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 の参照音声。MP3 を最大 3 件まで指定でき、各 3~12 秒、最大 50MB です。audio のブールスイッチとは別です。off_peak(boolean, 任意): オフピーク生成を使用するかどうか。watermark(boolean, 任意): ウォーターマークを追加するかどうか。
代表的なモデル/モードの違い:
Vidu 文生视频: 対応モデル: viduq3-turbo、viduq2、vidu2.0。公式形式のテキストから動画生成。Vidu 图生视频: 対応モデル: viduq3-turbo、viduq2、vidu2.0。公式形式の単一画像から動画生成。Vidu 首尾帧生视频: 対応モデル: viduq3-turbo、viduq2、vidu2.0。公式形式の開始・終了フレーム用の2画像から動画生成。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。タスクの照会に使用します。
