curl --request POST \
--url https://aireiter.com/api/openapi/submit \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "muse_video_ext",
"params": {
"prompt": "映画のようなシネマスコープ画面:黄金色の夕日の中、雪山のリッジに沿ってユキヒョウがカメラに向かって歩いてくる。風に舞う粉雪、逆光に照らされる体毛、ローアングルからの緩やかなズームイン。環境音は風の音と雪を踏む足音。字幕なし、ロゴなし。",
"aspect_ratio": "16:9"
},
"out_task_id": "muse_ext_t2v_123456"
}'
curl --request POST \
--url https://aireiter.com/api/openapi/submit \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "muse_video_ext",
"params": {
"prompt": "Picture 1の男性が寝室のアーチミラーの前に立ち、Picture 2のプリントTシャツのシワを伸ばす。カメラは胸元のプリントにズームインし、次にPicture 3の袖のパッチへとスライドし、最後にミディアムショットへと引く。スマートフォンの手持ち撮影の質感、柔らかい自然光。",
"image_url": [
"https://example.com/person.jpg",
"https://example.com/print.jpg",
"https://example.com/sleeve.jpg"
],
"aspect_ratio": "9:16"
},
"out_task_id": "muse_ext_ref_123456"
}'
curl --request POST \
--url https://aireiter.com/api/openapi/submit \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "muse_video_ext",
"params": {
"prompt": "[Shot 1] 日の出時の山あいの湖の全景、水面から立ち上る薄い霧、静かに浮かぶ一艘の木造船、微かに聞こえる鳥のさえずり。\n[Shot 2] At 00:04.000、オール周辺に広がる波紋のクローズアップに切り替わり、水面に暖かい光が揺らめく。\n[Shot 3] At 00:07.000、ドローンが高空から後方へ引くカメラワークに切り替わり、松林と山々に囲まれた湖全体が現れる。\n字幕なし、ロゴなし。",
"aspect_ratio": "16:9"
},
"out_task_id": "muse_ext_shots_123456"
}'
import requests
url = "https://aireiter.com/api/openapi/submit"
payload = {
"model": "muse_video_ext",
"params": {
"prompt": "映画のようなシネマスコープ画面:黄金色の夕日の中、雪山のリッジに沿ってユキヒョウがカメラに向かって歩いてくる。風に舞う粉雪、逆光に照らされる体毛、ローアングルからの緩やかなズームイン。環境音は風の音と雪を踏む足音。字幕なし、ロゴなし。",
"aspect_ratio": "16:9"
},
"out_task_id": "muse_ext_t2v_123456"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.json())
const url = "https://aireiter.com/api/openapi/submit";
const payload = {
model: "muse_video_ext",
params: {
prompt: "映画のようなシネマスコープ画面:黄金色の夕日の中、雪山のリッジに沿ってユキヒョウがカメラに向かって歩いてくる。風に舞う粉雪、逆光に照らされる体毛、ローアングルからの緩やかなズームイン。環境音は風の音と雪を踏む足音。字幕なし、ロゴなし。",
aspect_ratio: "16:9"
},
out_task_id: "muse_ext_t2v_123456"
};
const headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
};
fetch(url, {
method: "POST",
headers: headers,
body: JSON.stringify(payload)
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Error:', error));
package main
import (
"bytes"
"encoding/json"
"fmt"
"io/ioutil"
"net/http"
)
func main() {
url := "https://aireiter.com/api/openapi/submit"
payload := map[string]interface{}{
"model": "muse_video_ext",
"params": map[string]interface{}{
"prompt": "映画のようなシネマスコープ画面:黄金色の夕日の中、雪山のリッジに沿ってユキヒョウがカメラに向かって歩いてくる。風に舞う粉雪、逆光に照らされる体毛、ローアングルからの緩やかなズームイン。環境音は風の音と雪を踏む足音。字幕なし、ロゴなし。",
"aspect_ratio": "16:9",
},
"out_task_id": "muse_ext_t2v_123456",
}
jsonData, _ := json.Marshal(payload)
req, _ := http.NewRequest("POST", url, bytes.NewBuffer(jsonData))
req.Header.Set("Authorization", "Bearer <token>")
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
body, _ := ioutil.ReadAll(resp.Body)
fmt.Println(string(body))
}
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.URI;
public class Main {
public static void main(String[] args) throws Exception {
String url = "https://aireiter.com/api/openapi/submit";
String payload = """
{
"model": "muse_video_ext",
"params": {
"prompt": "映画のようなシネマスコープ画面:黄金色の夕日の中、雪山のリッジに沿ってユキヒョウがカメラに向かって歩いてくる。風に舞う粉雪、逆光に照らされる体毛、ローアングルからの緩やかなズームイン。環境音は風の音と雪を踏む足音。字幕なし、ロゴなし。",
"aspect_ratio": "16:9"
},
"out_task_id": "muse_ext_t2v_123456"
}
""";
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create(url))
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.POST(HttpRequest.BodyPublishers.ofString(payload))
.build();
HttpResponse<String> response = client.send(request,
HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
}
}
<?php
$url = "https://aireiter.com/api/openapi/submit";
$payload = [
"model" => "muse_video_ext",
"params" => [
"prompt" => "映画のようなシネマスコープ画面:黄金色の夕日の中、雪山のリッジに沿ってユキヒョウがカメラに向かって歩いてくる。風に舞う粉雪、逆光に照らされる体毛、ローアングルからの緩やかなズームイン。環境音は風の音と雪を踏む足音。字幕なし、ロゴなし。",
"aspect_ratio" => "16:9"
],
"out_task_id" => "muse_ext_t2v_123456"
];
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($payload));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"Authorization: Bearer <token>",
"Content-Type: application/json"
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>
{
"statusCode": 200,
"message": "",
"data": {
"out_task_id": "muse_ext_t2v_123456",
"status": "pending",
"created_at": "2026-11-04T06:03:28.242Z"
}
}
{
"statusCode": 400,
"message": "リクエストパラメータが無効です",
"ok": false
}
{
"error": {
"code": 401,
"message": "認証に失敗しました。APIキーを確認してください"
}
}
{
"error": {
"code": 500,
"message": "サーバー内部エラーが発生しました。後でもう一度お試しください"
}
}
Muse Video Ext
Muse Video Ext 動画生成
- 非同期処理モード、タスクIDを返却し後続の照会に使用
- テキストからの動画生成、または最大9枚の参照画像による動画生成に対応
- 1回につき10秒、720p、音声トラック付きの動画を1本生成
- プロンプトに時間を記述するだけでシーン間のカメラ切り替えが可能
POST
/
api
/
openapi
/
submit
curl --request POST \
--url https://aireiter.com/api/openapi/submit \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "muse_video_ext",
"params": {
"prompt": "映画のようなシネマスコープ画面:黄金色の夕日の中、雪山のリッジに沿ってユキヒョウがカメラに向かって歩いてくる。風に舞う粉雪、逆光に照らされる体毛、ローアングルからの緩やかなズームイン。環境音は風の音と雪を踏む足音。字幕なし、ロゴなし。",
"aspect_ratio": "16:9"
},
"out_task_id": "muse_ext_t2v_123456"
}'
curl --request POST \
--url https://aireiter.com/api/openapi/submit \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "muse_video_ext",
"params": {
"prompt": "Picture 1の男性が寝室のアーチミラーの前に立ち、Picture 2のプリントTシャツのシワを伸ばす。カメラは胸元のプリントにズームインし、次にPicture 3の袖のパッチへとスライドし、最後にミディアムショットへと引く。スマートフォンの手持ち撮影の質感、柔らかい自然光。",
"image_url": [
"https://example.com/person.jpg",
"https://example.com/print.jpg",
"https://example.com/sleeve.jpg"
],
"aspect_ratio": "9:16"
},
"out_task_id": "muse_ext_ref_123456"
}'
curl --request POST \
--url https://aireiter.com/api/openapi/submit \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "muse_video_ext",
"params": {
"prompt": "[Shot 1] 日の出時の山あいの湖の全景、水面から立ち上る薄い霧、静かに浮かぶ一艘の木造船、微かに聞こえる鳥のさえずり。\n[Shot 2] At 00:04.000、オール周辺に広がる波紋のクローズアップに切り替わり、水面に暖かい光が揺らめく。\n[Shot 3] At 00:07.000、ドローンが高空から後方へ引くカメラワークに切り替わり、松林と山々に囲まれた湖全体が現れる。\n字幕なし、ロゴなし。",
"aspect_ratio": "16:9"
},
"out_task_id": "muse_ext_shots_123456"
}'
import requests
url = "https://aireiter.com/api/openapi/submit"
payload = {
"model": "muse_video_ext",
"params": {
"prompt": "映画のようなシネマスコープ画面:黄金色の夕日の中、雪山のリッジに沿ってユキヒョウがカメラに向かって歩いてくる。風に舞う粉雪、逆光に照らされる体毛、ローアングルからの緩やかなズームイン。環境音は風の音と雪を踏む足音。字幕なし、ロゴなし。",
"aspect_ratio": "16:9"
},
"out_task_id": "muse_ext_t2v_123456"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.json())
const url = "https://aireiter.com/api/openapi/submit";
const payload = {
model: "muse_video_ext",
params: {
prompt: "映画のようなシネマスコープ画面:黄金色の夕日の中、雪山のリッジに沿ってユキヒョウがカメラに向かって歩いてくる。風に舞う粉雪、逆光に照らされる体毛、ローアングルからの緩やかなズームイン。環境音は風の音と雪を踏む足音。字幕なし、ロゴなし。",
aspect_ratio: "16:9"
},
out_task_id: "muse_ext_t2v_123456"
};
const headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
};
fetch(url, {
method: "POST",
headers: headers,
body: JSON.stringify(payload)
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Error:', error));
package main
import (
"bytes"
"encoding/json"
"fmt"
"io/ioutil"
"net/http"
)
func main() {
url := "https://aireiter.com/api/openapi/submit"
payload := map[string]interface{}{
"model": "muse_video_ext",
"params": map[string]interface{}{
"prompt": "映画のようなシネマスコープ画面:黄金色の夕日の中、雪山のリッジに沿ってユキヒョウがカメラに向かって歩いてくる。風に舞う粉雪、逆光に照らされる体毛、ローアングルからの緩やかなズームイン。環境音は風の音と雪を踏む足音。字幕なし、ロゴなし。",
"aspect_ratio": "16:9",
},
"out_task_id": "muse_ext_t2v_123456",
}
jsonData, _ := json.Marshal(payload)
req, _ := http.NewRequest("POST", url, bytes.NewBuffer(jsonData))
req.Header.Set("Authorization", "Bearer <token>")
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
body, _ := ioutil.ReadAll(resp.Body)
fmt.Println(string(body))
}
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.URI;
public class Main {
public static void main(String[] args) throws Exception {
String url = "https://aireiter.com/api/openapi/submit";
String payload = """
{
"model": "muse_video_ext",
"params": {
"prompt": "映画のようなシネマスコープ画面:黄金色の夕日の中、雪山のリッジに沿ってユキヒョウがカメラに向かって歩いてくる。風に舞う粉雪、逆光に照らされる体毛、ローアングルからの緩やかなズームイン。環境音は風の音と雪を踏む足音。字幕なし、ロゴなし。",
"aspect_ratio": "16:9"
},
"out_task_id": "muse_ext_t2v_123456"
}
""";
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create(url))
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.POST(HttpRequest.BodyPublishers.ofString(payload))
.build();
HttpResponse<String> response = client.send(request,
HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
}
}
<?php
$url = "https://aireiter.com/api/openapi/submit";
$payload = [
"model" => "muse_video_ext",
"params" => [
"prompt" => "映画のようなシネマスコープ画面:黄金色の夕日の中、雪山のリッジに沿ってユキヒョウがカメラに向かって歩いてくる。風に舞う粉雪、逆光に照らされる体毛、ローアングルからの緩やかなズームイン。環境音は風の音と雪を踏む足音。字幕なし、ロゴなし。",
"aspect_ratio" => "16:9"
],
"out_task_id" => "muse_ext_t2v_123456"
];
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($payload));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"Authorization: Bearer <token>",
"Content-Type: application/json"
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>
{
"statusCode": 200,
"message": "",
"data": {
"out_task_id": "muse_ext_t2v_123456",
"status": "pending",
"created_at": "2026-11-04T06:03:28.242Z"
}
}
{
"statusCode": 400,
"message": "リクエストパラメータが無効です",
"ok": false
}
{
"error": {
"code": 401,
"message": "認証に失敗しました。APIキーを確認してください"
}
}
{
"error": {
"code": 500,
"message": "サーバー内部エラーが発生しました。後でもう一度お試しください"
}
}
長さは10秒固定、解像度は720p固定で、完成した動画には生成されたオーディオトラックが付属します。
video_length と resolution は省略可能です。参照動画、参照音声、開始・終了フレーム、seed、negative_prompt には対応しておらず、オーディオトラックを無効にすることもできません。Authorizations
string
必須
すべてのインターフェースで Bearer Token による認証が必要です。API Key の取得:API Key 管理ページにアクセスして API Key を取得します。使用時はリクエストヘッダーに追加します:
Authorization: Bearer YOUR_API_KEY
Body
string
必須
モデル名。
muse_video_ext に固定。object
必須
モデルパラメータオブジェクト。
表示 params オブジェクトのプロパティ
表示 params オブジェクトのプロパティ
string
必須
動画生成のテキスト説明。中国語と英語に対応。必須であり、先頭と末尾の空白文字を除去した後に空にすることはできません。参照画像がある場合、プロンプト内で
Picture 1、Picture 2 を使用して1枚目、2枚目の画像を指定できます。複数のカットがある場合、カットごとに段落を分け、タイムスタンプで切り替え位置を示します。例:[Shot 1] リビングの全景、女性がハンガーにかかったTシャツを掲げている……
[Shot 2] At 00:04.000、カメラが白い壁の前に切り替わり、男性がこのTシャツを着る……
プロンプトに実在するブランド、スポーツチーム、またはロゴ名が含まれている場合、コンテンツ審査を通過できず、タスクが失敗で終了する可能性があります。名称を含まない説明に変更して再試行してください。
string | string[]
参照画像の URL。パブリックネットワークから直接アクセスできる必要があります。単一の文字列として渡すことも可能です。指定しない場合はテキストからの動画生成になります。
- 最大 9 枚
- すべての画像の元のサイズの合計が 11 MiB を超えないこと
- PNG、JPEG、WebP を推奨
blob: アドレスには対応していません。string
デフォルト:"auto"
動画のアスペクト比:
auto- デフォルト値。参照画像がある場合は参照画像の構図に従い、テキストのみの場合は16:91:116:99:164:33:43:22:3
string
デフォルト:"10"
動画の長さ。
"10" に固定。省略可能。string
デフォルト:"720p"
出力解像度。
720p に固定。省略可能。string
必須
リクエスト元のタスク ID。ユーザー定義のタスク識別子。必須。英数字、アンダースコア、ハイフンのみ対応し、長さは 1-64 文字です。後からこの ID を使用してタスクのステータスと結果を照会できます。
Response
string
リクエスト元タスクID。結果の照会に使用できます。
string
初期ステータス。通常は
"pending" です。string
作成日時、ISO形式。
Query Task
本モデルは非同期動画生成です。タスク送信後、out_task_id を使用してタスクステータスをクエリしてください。タスクステータスの取得もご参照ください。
string
必須
タスク送信時に渡されたリクエスト元のタスクID。
curl --request POST \
--url https://aireiter.com/api/openapi/query \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"out_task_id": "muse_ext_t2v_123456"
}'
output 配列に生成された動画が含まれ、要素には video フィールドが含まれます。
生成にかかる時間は入力によって異なります:テキストのみの場合は通常約1〜2分、参照画像が多い場合は数分かかることがあります。重複して送信せず、継続してポーリングを行ってください。
使用说明
| 入力 | image_url | aspect_ratio |
|---|---|---|
| テキストから動画生成 | 送信しない、または空配列 | 未指定の場合はデフォルトで 16:9、指定も可能 |
| 参照画像から動画生成 | 1〜9枚、合計で11 MiB以下 | 参照画像に追従する auto を推奨、または指定も可能 |
- カット切り替えタイミングが正確:プロンプトに記載した時間に対し、実際の切り替え誤差は1秒以内です。
- 商品上のテキスト、プリント、ロゴは各ショット間で一貫性を維持します。
- 人物はカット切り替え後に参照画像と差異が生じる場合があります。同一人物の識別性を維持する必要がある場合は、切り替えポイントを最大2箇所までに抑え、各ショットでその外見の描写を繰り返し記述することをお勧めします。
Request Examples
curl --request POST \
--url https://aireiter.com/api/openapi/submit \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "muse_video_ext",
"params": {
"prompt": "映画のようなシネマスコープ画面:黄金色の夕日の中、雪山のリッジに沿ってユキヒョウがカメラに向かって歩いてくる。風に舞う粉雪、逆光に照らされる体毛、ローアングルからの緩やかなズームイン。環境音は風の音と雪を踏む足音。字幕なし、ロゴなし。",
"aspect_ratio": "16:9"
},
"out_task_id": "muse_ext_t2v_123456"
}'
curl --request POST \
--url https://aireiter.com/api/openapi/submit \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "muse_video_ext",
"params": {
"prompt": "Picture 1の男性が寝室のアーチミラーの前に立ち、Picture 2のプリントTシャツのシワを伸ばす。カメラは胸元のプリントにズームインし、次にPicture 3の袖のパッチへとスライドし、最後にミディアムショットへと引く。スマートフォンの手持ち撮影の質感、柔らかい自然光。",
"image_url": [
"https://example.com/person.jpg",
"https://example.com/print.jpg",
"https://example.com/sleeve.jpg"
],
"aspect_ratio": "9:16"
},
"out_task_id": "muse_ext_ref_123456"
}'
curl --request POST \
--url https://aireiter.com/api/openapi/submit \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "muse_video_ext",
"params": {
"prompt": "[Shot 1] 日の出時の山あいの湖の全景、水面から立ち上る薄い霧、静かに浮かぶ一艘の木造船、微かに聞こえる鳥のさえずり。\n[Shot 2] At 00:04.000、オール周辺に広がる波紋のクローズアップに切り替わり、水面に暖かい光が揺らめく。\n[Shot 3] At 00:07.000、ドローンが高空から後方へ引くカメラワークに切り替わり、松林と山々に囲まれた湖全体が現れる。\n字幕なし、ロゴなし。",
"aspect_ratio": "16:9"
},
"out_task_id": "muse_ext_shots_123456"
}'
import requests
url = "https://aireiter.com/api/openapi/submit"
payload = {
"model": "muse_video_ext",
"params": {
"prompt": "映画のようなシネマスコープ画面:黄金色の夕日の中、雪山のリッジに沿ってユキヒョウがカメラに向かって歩いてくる。風に舞う粉雪、逆光に照らされる体毛、ローアングルからの緩やかなズームイン。環境音は風の音と雪を踏む足音。字幕なし、ロゴなし。",
"aspect_ratio": "16:9"
},
"out_task_id": "muse_ext_t2v_123456"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.json())
const url = "https://aireiter.com/api/openapi/submit";
const payload = {
model: "muse_video_ext",
params: {
prompt: "映画のようなシネマスコープ画面:黄金色の夕日の中、雪山のリッジに沿ってユキヒョウがカメラに向かって歩いてくる。風に舞う粉雪、逆光に照らされる体毛、ローアングルからの緩やかなズームイン。環境音は風の音と雪を踏む足音。字幕なし、ロゴなし。",
aspect_ratio: "16:9"
},
out_task_id: "muse_ext_t2v_123456"
};
const headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
};
fetch(url, {
method: "POST",
headers: headers,
body: JSON.stringify(payload)
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Error:', error));
package main
import (
"bytes"
"encoding/json"
"fmt"
"io/ioutil"
"net/http"
)
func main() {
url := "https://aireiter.com/api/openapi/submit"
payload := map[string]interface{}{
"model": "muse_video_ext",
"params": map[string]interface{}{
"prompt": "映画のようなシネマスコープ画面:黄金色の夕日の中、雪山のリッジに沿ってユキヒョウがカメラに向かって歩いてくる。風に舞う粉雪、逆光に照らされる体毛、ローアングルからの緩やかなズームイン。環境音は風の音と雪を踏む足音。字幕なし、ロゴなし。",
"aspect_ratio": "16:9",
},
"out_task_id": "muse_ext_t2v_123456",
}
jsonData, _ := json.Marshal(payload)
req, _ := http.NewRequest("POST", url, bytes.NewBuffer(jsonData))
req.Header.Set("Authorization", "Bearer <token>")
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
body, _ := ioutil.ReadAll(resp.Body)
fmt.Println(string(body))
}
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.URI;
public class Main {
public static void main(String[] args) throws Exception {
String url = "https://aireiter.com/api/openapi/submit";
String payload = """
{
"model": "muse_video_ext",
"params": {
"prompt": "映画のようなシネマスコープ画面:黄金色の夕日の中、雪山のリッジに沿ってユキヒョウがカメラに向かって歩いてくる。風に舞う粉雪、逆光に照らされる体毛、ローアングルからの緩やかなズームイン。環境音は風の音と雪を踏む足音。字幕なし、ロゴなし。",
"aspect_ratio": "16:9"
},
"out_task_id": "muse_ext_t2v_123456"
}
""";
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create(url))
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.POST(HttpRequest.BodyPublishers.ofString(payload))
.build();
HttpResponse<String> response = client.send(request,
HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
}
}
<?php
$url = "https://aireiter.com/api/openapi/submit";
$payload = [
"model" => "muse_video_ext",
"params" => [
"prompt" => "映画のようなシネマスコープ画面:黄金色の夕日の中、雪山のリッジに沿ってユキヒョウがカメラに向かって歩いてくる。風に舞う粉雪、逆光に照らされる体毛、ローアングルからの緩やかなズームイン。環境音は風の音と雪を踏む足音。字幕なし、ロゴなし。",
"aspect_ratio" => "16:9"
],
"out_task_id" => "muse_ext_t2v_123456"
];
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($payload));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"Authorization: Bearer <token>",
"Content-Type: application/json"
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>
{
"statusCode": 200,
"message": "",
"data": {
"out_task_id": "muse_ext_t2v_123456",
"status": "pending",
"created_at": "2026-11-04T06:03:28.242Z"
}
}
{
"statusCode": 400,
"message": "リクエストパラメータが無効です",
"ok": false
}
{
"error": {
"code": 401,
"message": "認証に失敗しました。APIキーを確認してください"
}
}
{
"error": {
"code": 500,
"message": "サーバー内部エラーが発生しました。後でもう一度お試しください"
}
}