curl --request POST \
--url https://aireiter.com/api/openapi/submit \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "flux_3_video",
"params": {
"mode": "t2v",
"prompt": "映画的な追跡ショット: 1匹のアカギツネが薄霧の森を歩き抜け、自然の環境音とやわらかな足音が伴う",
"video_length": 5,
"resolution": "hd",
"aspect_ratio": "16:9",
"generate_audio": true,
"safety_tolerance": 2
},
"out_task_id": "flux_3_video_t2v_123456"
}'
curl --request POST \
--url https://aireiter.com/api/openapi/submit \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "flux_3_video",
"params": {
"mode": "i2v",
"prompt": "2枚のキーフレームの間で、主体の見た目を一致させたまま自然で連続的な動きとカメラワークを生成します",
"image_url": [
"https://example.com/first-frame.jpg",
"https://example.com/last-frame.jpg"
],
"video_length": 5,
"resolution": "fhd",
"aspect_ratio": "1:1",
"generate_audio": true,
"safety_tolerance": 2
},
"out_task_id": "flux_3_video_i2v_123456"
}'
curl --request POST \
--url https://aireiter.com/api/openapi/submit \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "flux_3_video",
"params": {
"mode": "v2v",
"prompt": "元動画の動きの方向、構図、光を引き継ぎ、カメラが自然に次の森のシーンへ入るようにする",
"video_url": "https://example.com/source-video.mp4",
"video_length": 5,
"resolution": "hd",
"aspect_ratio": "auto",
"generate_audio": true,
"safety_tolerance": 2
},
"out_task_id": "flux_3_video_v2v_123456"
}'
import requests
url = "https://aireiter.com/api/openapi/submit"
payload = {
"model": "flux_3_video",
"params": {
"mode": "t2v",
"prompt": "映画的な追跡ショット: 1匹のアカギツネが薄霧の森を歩き抜け、自然の環境音とやわらかな足音が伴う",
"video_length": 5,
"resolution": "hd",
"aspect_ratio": "16:9",
"generate_audio": True,
"safety_tolerance": 2
},
"out_task_id": "flux_3_video_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: "flux_3_video",
params: {
mode: "t2v",
prompt: "映画的な追跡ショット: 1匹のアカギツネが薄霧の森を歩き抜け、自然の環境音とやわらかな足音が伴う",
video_length: 5,
resolution: "hd",
aspect_ratio: "16:9",
generate_audio: true,
safety_tolerance: 2
},
out_task_id: "flux_3_video_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": "flux_3_video",
"params": map[string]interface{}{
"mode": "t2v",
"prompt": "映画的な追跡ショット: 1匹のアカギツネが薄霧の森を歩き抜け、自然の環境音とやわらかな足音が伴う",
"video_length": 5,
"resolution": "hd",
"aspect_ratio": "16:9",
"generate_audio": true,
"safety_tolerance": 2,
},
"out_task_id": "flux_3_video_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": "flux_3_video",
"params": {
"mode": "t2v",
"prompt": "映画的な追跡ショット: 1匹のアカギツネが薄霧の森を歩き抜け、自然の環境音とやわらかな足音が伴う",
"video_length": 5,
"resolution": "hd",
"aspect_ratio": "16:9",
"generate_audio": true,
"safety_tolerance": 2
},
"out_task_id": "flux_3_video_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" => "flux_3_video",
"params" => [
"mode" => "t2v",
"prompt" => "映画的な追跡ショット: 1匹のアカギツネが薄霧の森を歩き抜け、自然の環境音とやわらかな足音が伴う",
"video_length" => 5,
"resolution" => "hd",
"aspect_ratio" => "16:9",
"generate_audio" => true,
"safety_tolerance" => 2
],
"out_task_id" => "flux_3_video_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;
?>
require 'net/http'
require 'json'
require 'uri'
url = URI("https://aireiter.com/api/openapi/submit")
payload = {
model: "flux_3_video",
params: {
mode: "t2v",
prompt: "映画的な追跡ショット: 1匹のアカギツネが薄霧の森を歩き抜け、自然の環境音とやわらかな足音が伴う",
video_length: 5,
resolution: "hd",
aspect_ratio: "16:9",
generate_audio: true,
safety_tolerance: 2
},
out_task_id: "flux_3_video_t2v_123456"
}
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Post.new(url)
request["Authorization"] = "Bearer <token>"
request["Content-Type"] = "application/json"
request.body = payload.to_json
response = http.request(request)
puts response.body
import Foundation
let url = URL(string: "https://aireiter.com/api/openapi/submit")!
let payload: [String: Any] = [
"model": "flux_3_video",
"params": [
"mode": "t2v",
"prompt": "映画的な追跡ショット: 1匹のアカギツネが薄霧の森を歩き抜け、自然の環境音とやわらかな足音が伴う",
"video_length": 5,
"resolution": "hd",
"aspect_ratio": "16:9",
"generate_audio": true,
"safety_tolerance": 2
],
"out_task_id": "flux_3_video_t2v_123456"
]
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("Bearer <token>", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.httpBody = try? JSONSerialization.data(withJSONObject: payload)
let task = URLSession.shared.dataTask(with: request) { data, response, error in
if let error = error {
print("Error: \(error)")
return
}
if let data = data, let responseString = String(data: data, encoding: .utf8) {
print(responseString)
}
}
task.resume()
using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
class Program
{
static async Task Main(string[] args)
{
var url = "https://aireiter.com/api/openapi/submit";
var payload = @"
{
""model"": ""flux_3_video"",
""params"": {
""mode"": ""t2v"",
""prompt"": ""映画的な追跡ショット: 1匹のアカギツネが薄霧の森を歩き抜け、自然の環境音とやわらかな足音が伴う"",
""video_length"": 5,
""resolution"": ""hd"",
""aspect_ratio"": ""16:9"",
""generate_audio"": true,
""safety_tolerance"": 2
},
""out_task_id"": ""flux_3_video_t2v_123456""
}";
using var client = new HttpClient();
client.DefaultRequestHeaders.Add("Authorization", "Bearer <token>");
var content = new StringContent(payload, Encoding.UTF8, "application/json");
var response = await client.PostAsync(url, content);
var result = await response.Content.ReadAsStringAsync();
Console.WriteLine(result);
}
}
#include <stdio.h>
#include <curl/curl.h>
int main(void) {
CURL *curl;
CURLcode res;
curl_global_init(CURL_GLOBAL_DEFAULT);
curl = curl_easy_init();
if(curl) {
const char *url = "https://aireiter.com/api/openapi/submit";
const char *payload = "{\"model\":\"flux_3_video\",\"params\":{\"mode\":\"t2v\",\"prompt\":\"映画的な追跡ショット: 1匹のアカギツネが薄霧の森を歩き抜け、自然の環境音とやわらかな足音が伴う\",\"video_length\":5,\"resolution\":\"hd\",\"aspect_ratio\":\"16:9\",\"generate_audio\":true,\"safety_tolerance\":2},\"out_task_id\":\"flux_3_video_t2v_123456\"}";
struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "Authorization: Bearer <token>");
headers = curl_slist_append(headers, "Content-Type: application/json");
curl_easy_setopt(curl, CURLOPT_URL, url);
curl_easy_setopt(curl, CURLOPT_POSTFIELDS, payload);
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
res = curl_easy_perform(curl);
if(res != CURLE_OK) {
fprintf(stderr, "curl_easy_perform() failed: %s\n",
curl_easy_strerror(res));
}
curl_slist_free_all(headers);
curl_easy_cleanup(curl);
}
curl_global_cleanup();
return 0;
}
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
NSURL *url = [NSURL URLWithString:@"https://aireiter.com/api/openapi/submit"];
NSDictionary *payload = @{
@"model": @"flux_3_video",
@"params": @{
@"mode": @"t2v",
@"prompt": @"映画的な追跡ショット: 1匹のアカギツネが薄霧の森を歩き抜け、自然の環境音とやわらかな足音が伴う",
@"video_length": @5,
@"resolution": @"hd",
@"aspect_ratio": @"16:9",
@"generate_audio": @YES,
@"safety_tolerance": @2
},
@"out_task_id": @"flux_3_video_t2v_123456"
};
NSError *error;
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:payload
options:0
error:&error];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
[request setHTTPMethod:@"POST"];
[request setValue:@"Bearer <token>" forHTTPHeaderField:@"Authorization"];
[request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
[request setHTTPBody:jsonData];
NSURLSessionDataTask *task = [[NSURLSession sharedSession]
dataTaskWithRequest:request
completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
if (error) {
NSLog(@"Error: %@", error);
return;
}
NSString *result = [[NSString alloc] initWithData:data
encoding:NSUTF8StringEncoding];
NSLog(@"%@", result);
}];
[task resume];
[[NSRunLoop mainRunLoop] run];
}
return 0;
}
(* Requires cohttp and yojson libraries *)
open Lwt
open Cohttp
open Cohttp_lwt_unix
let url = "https://aireiter.com/api/openapi/submit"
let payload = {|{
"model": "flux_3_video",
"params": {
"mode": "t2v",
"prompt": "映画的な追跡ショット: 1匹のアカギツネが薄霧の森を歩き抜け、自然の環境音とやわらかな足音が伴う",
"video_length": 5,
"resolution": "hd",
"aspect_ratio": "16:9",
"generate_audio": true,
"safety_tolerance": 2
},
"out_task_id": "flux_3_video_t2v_123456"
}|}
let () =
let headers = Header.init ()
|> fun h -> Header.add h "Authorization" "Bearer <token>"
|> fun h -> Header.add h "Content-Type" "application/json"
in
let body = Cohttp_lwt.Body.of_string payload in
let response = Client.post ~headers ~body (Uri.of_string url) >>= fun (resp, body) ->
body |> Cohttp_lwt.Body.to_string >|= fun body_str ->
print_endline body_str
in
Lwt_main.run response
import 'dart:convert';
import 'package:http/http.dart' as http;
void main() async {
final url = Uri.parse('https://aireiter.com/api/openapi/submit');
final payload = {
"model": "flux_3_video",
"params": {
"mode": "t2v",
"prompt": "映画的な追跡ショット: 1匹のアカギツネが薄霧の森を歩き抜け、自然の環境音とやわらかな足音が伴う",
"video_length": 5,
"resolution": "hd",
"aspect_ratio": "16:9",
"generate_audio": true,
"safety_tolerance": 2
},
"out_task_id": "flux_3_video_t2v_123456"
};
final response = await http.post(
url,
headers: {
'Authorization': 'Bearer <token>',
'Content-Type': 'application/json'
},
body: jsonEncode(payload),
);
print(response.body);
}
library(httr)
library(jsonlite)
url <- "https://aireiter.com/api/openapi/submit"
payload <- list(
model = "flux_3_video",
params = list(
mode = "t2v",
prompt = "映画的な追跡ショット: 1匹のアカギツネが薄霧の森を歩き抜け、自然の環境音とやわらかな足音が伴う",
video_length = 5,
resolution = "hd",
aspect_ratio = "16:9",
generate_audio = TRUE,
safety_tolerance = 2
),
out_task_id = "flux_3_video_t2v_123456"
)
response <- POST(
url,
add_headers(
Authorization = "Bearer <token>",
`Content-Type` = "application/json"
),
body = toJSON(payload, auto_unbox = TRUE),
encode = "raw"
)
cat(content(response, "text"))
{
"statusCode": 200,
"message": "",
"data": {
"out_task_id": "flux_3_video_t2v_123456",
"status": "pending",
"estimated_credits": 100,
"created_at": "2025-12-22T06:03:28.242Z"
}
}
{
"statusCode": 400,
"message": "Request parameter is invalid",
"ok": false
}
{
"error": {
"code": 401,
"message": "Authentication failed. Please check your API key"
}
}
{
"error": {
"code": 433,
"message": "Insufficient account balance. Please top up and try again"
}
}
{
"error": {
"code": 500,
"message": "Internal server error. Please try again later"
}
}
FLUX 3 Video
FLUX 3 Video ビデオ生成
- Black Forest Labs のマルチモーダルビデオ生成モデル
- テキストからビデオ生成、順序付きキーフレーム、ビデオの続き生成に対応
- 5〜20秒、HD/FHD 出力、ネイティブ音声に対応
- 非同期処理モードで、後続の問い合わせ用にタスク ID を返します
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": "flux_3_video",
"params": {
"mode": "t2v",
"prompt": "映画的な追跡ショット: 1匹のアカギツネが薄霧の森を歩き抜け、自然の環境音とやわらかな足音が伴う",
"video_length": 5,
"resolution": "hd",
"aspect_ratio": "16:9",
"generate_audio": true,
"safety_tolerance": 2
},
"out_task_id": "flux_3_video_t2v_123456"
}'
curl --request POST \
--url https://aireiter.com/api/openapi/submit \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "flux_3_video",
"params": {
"mode": "i2v",
"prompt": "2枚のキーフレームの間で、主体の見た目を一致させたまま自然で連続的な動きとカメラワークを生成します",
"image_url": [
"https://example.com/first-frame.jpg",
"https://example.com/last-frame.jpg"
],
"video_length": 5,
"resolution": "fhd",
"aspect_ratio": "1:1",
"generate_audio": true,
"safety_tolerance": 2
},
"out_task_id": "flux_3_video_i2v_123456"
}'
curl --request POST \
--url https://aireiter.com/api/openapi/submit \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "flux_3_video",
"params": {
"mode": "v2v",
"prompt": "元動画の動きの方向、構図、光を引き継ぎ、カメラが自然に次の森のシーンへ入るようにする",
"video_url": "https://example.com/source-video.mp4",
"video_length": 5,
"resolution": "hd",
"aspect_ratio": "auto",
"generate_audio": true,
"safety_tolerance": 2
},
"out_task_id": "flux_3_video_v2v_123456"
}'
import requests
url = "https://aireiter.com/api/openapi/submit"
payload = {
"model": "flux_3_video",
"params": {
"mode": "t2v",
"prompt": "映画的な追跡ショット: 1匹のアカギツネが薄霧の森を歩き抜け、自然の環境音とやわらかな足音が伴う",
"video_length": 5,
"resolution": "hd",
"aspect_ratio": "16:9",
"generate_audio": True,
"safety_tolerance": 2
},
"out_task_id": "flux_3_video_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: "flux_3_video",
params: {
mode: "t2v",
prompt: "映画的な追跡ショット: 1匹のアカギツネが薄霧の森を歩き抜け、自然の環境音とやわらかな足音が伴う",
video_length: 5,
resolution: "hd",
aspect_ratio: "16:9",
generate_audio: true,
safety_tolerance: 2
},
out_task_id: "flux_3_video_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": "flux_3_video",
"params": map[string]interface{}{
"mode": "t2v",
"prompt": "映画的な追跡ショット: 1匹のアカギツネが薄霧の森を歩き抜け、自然の環境音とやわらかな足音が伴う",
"video_length": 5,
"resolution": "hd",
"aspect_ratio": "16:9",
"generate_audio": true,
"safety_tolerance": 2,
},
"out_task_id": "flux_3_video_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": "flux_3_video",
"params": {
"mode": "t2v",
"prompt": "映画的な追跡ショット: 1匹のアカギツネが薄霧の森を歩き抜け、自然の環境音とやわらかな足音が伴う",
"video_length": 5,
"resolution": "hd",
"aspect_ratio": "16:9",
"generate_audio": true,
"safety_tolerance": 2
},
"out_task_id": "flux_3_video_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" => "flux_3_video",
"params" => [
"mode" => "t2v",
"prompt" => "映画的な追跡ショット: 1匹のアカギツネが薄霧の森を歩き抜け、自然の環境音とやわらかな足音が伴う",
"video_length" => 5,
"resolution" => "hd",
"aspect_ratio" => "16:9",
"generate_audio" => true,
"safety_tolerance" => 2
],
"out_task_id" => "flux_3_video_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;
?>
require 'net/http'
require 'json'
require 'uri'
url = URI("https://aireiter.com/api/openapi/submit")
payload = {
model: "flux_3_video",
params: {
mode: "t2v",
prompt: "映画的な追跡ショット: 1匹のアカギツネが薄霧の森を歩き抜け、自然の環境音とやわらかな足音が伴う",
video_length: 5,
resolution: "hd",
aspect_ratio: "16:9",
generate_audio: true,
safety_tolerance: 2
},
out_task_id: "flux_3_video_t2v_123456"
}
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Post.new(url)
request["Authorization"] = "Bearer <token>"
request["Content-Type"] = "application/json"
request.body = payload.to_json
response = http.request(request)
puts response.body
import Foundation
let url = URL(string: "https://aireiter.com/api/openapi/submit")!
let payload: [String: Any] = [
"model": "flux_3_video",
"params": [
"mode": "t2v",
"prompt": "映画的な追跡ショット: 1匹のアカギツネが薄霧の森を歩き抜け、自然の環境音とやわらかな足音が伴う",
"video_length": 5,
"resolution": "hd",
"aspect_ratio": "16:9",
"generate_audio": true,
"safety_tolerance": 2
],
"out_task_id": "flux_3_video_t2v_123456"
]
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("Bearer <token>", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.httpBody = try? JSONSerialization.data(withJSONObject: payload)
let task = URLSession.shared.dataTask(with: request) { data, response, error in
if let error = error {
print("Error: \(error)")
return
}
if let data = data, let responseString = String(data: data, encoding: .utf8) {
print(responseString)
}
}
task.resume()
using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
class Program
{
static async Task Main(string[] args)
{
var url = "https://aireiter.com/api/openapi/submit";
var payload = @"
{
""model"": ""flux_3_video"",
""params"": {
""mode"": ""t2v"",
""prompt"": ""映画的な追跡ショット: 1匹のアカギツネが薄霧の森を歩き抜け、自然の環境音とやわらかな足音が伴う"",
""video_length"": 5,
""resolution"": ""hd"",
""aspect_ratio"": ""16:9"",
""generate_audio"": true,
""safety_tolerance"": 2
},
""out_task_id"": ""flux_3_video_t2v_123456""
}";
using var client = new HttpClient();
client.DefaultRequestHeaders.Add("Authorization", "Bearer <token>");
var content = new StringContent(payload, Encoding.UTF8, "application/json");
var response = await client.PostAsync(url, content);
var result = await response.Content.ReadAsStringAsync();
Console.WriteLine(result);
}
}
#include <stdio.h>
#include <curl/curl.h>
int main(void) {
CURL *curl;
CURLcode res;
curl_global_init(CURL_GLOBAL_DEFAULT);
curl = curl_easy_init();
if(curl) {
const char *url = "https://aireiter.com/api/openapi/submit";
const char *payload = "{\"model\":\"flux_3_video\",\"params\":{\"mode\":\"t2v\",\"prompt\":\"映画的な追跡ショット: 1匹のアカギツネが薄霧の森を歩き抜け、自然の環境音とやわらかな足音が伴う\",\"video_length\":5,\"resolution\":\"hd\",\"aspect_ratio\":\"16:9\",\"generate_audio\":true,\"safety_tolerance\":2},\"out_task_id\":\"flux_3_video_t2v_123456\"}";
struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "Authorization: Bearer <token>");
headers = curl_slist_append(headers, "Content-Type: application/json");
curl_easy_setopt(curl, CURLOPT_URL, url);
curl_easy_setopt(curl, CURLOPT_POSTFIELDS, payload);
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
res = curl_easy_perform(curl);
if(res != CURLE_OK) {
fprintf(stderr, "curl_easy_perform() failed: %s\n",
curl_easy_strerror(res));
}
curl_slist_free_all(headers);
curl_easy_cleanup(curl);
}
curl_global_cleanup();
return 0;
}
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
NSURL *url = [NSURL URLWithString:@"https://aireiter.com/api/openapi/submit"];
NSDictionary *payload = @{
@"model": @"flux_3_video",
@"params": @{
@"mode": @"t2v",
@"prompt": @"映画的な追跡ショット: 1匹のアカギツネが薄霧の森を歩き抜け、自然の環境音とやわらかな足音が伴う",
@"video_length": @5,
@"resolution": @"hd",
@"aspect_ratio": @"16:9",
@"generate_audio": @YES,
@"safety_tolerance": @2
},
@"out_task_id": @"flux_3_video_t2v_123456"
};
NSError *error;
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:payload
options:0
error:&error];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
[request setHTTPMethod:@"POST"];
[request setValue:@"Bearer <token>" forHTTPHeaderField:@"Authorization"];
[request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
[request setHTTPBody:jsonData];
NSURLSessionDataTask *task = [[NSURLSession sharedSession]
dataTaskWithRequest:request
completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
if (error) {
NSLog(@"Error: %@", error);
return;
}
NSString *result = [[NSString alloc] initWithData:data
encoding:NSUTF8StringEncoding];
NSLog(@"%@", result);
}];
[task resume];
[[NSRunLoop mainRunLoop] run];
}
return 0;
}
(* Requires cohttp and yojson libraries *)
open Lwt
open Cohttp
open Cohttp_lwt_unix
let url = "https://aireiter.com/api/openapi/submit"
let payload = {|{
"model": "flux_3_video",
"params": {
"mode": "t2v",
"prompt": "映画的な追跡ショット: 1匹のアカギツネが薄霧の森を歩き抜け、自然の環境音とやわらかな足音が伴う",
"video_length": 5,
"resolution": "hd",
"aspect_ratio": "16:9",
"generate_audio": true,
"safety_tolerance": 2
},
"out_task_id": "flux_3_video_t2v_123456"
}|}
let () =
let headers = Header.init ()
|> fun h -> Header.add h "Authorization" "Bearer <token>"
|> fun h -> Header.add h "Content-Type" "application/json"
in
let body = Cohttp_lwt.Body.of_string payload in
let response = Client.post ~headers ~body (Uri.of_string url) >>= fun (resp, body) ->
body |> Cohttp_lwt.Body.to_string >|= fun body_str ->
print_endline body_str
in
Lwt_main.run response
import 'dart:convert';
import 'package:http/http.dart' as http;
void main() async {
final url = Uri.parse('https://aireiter.com/api/openapi/submit');
final payload = {
"model": "flux_3_video",
"params": {
"mode": "t2v",
"prompt": "映画的な追跡ショット: 1匹のアカギツネが薄霧の森を歩き抜け、自然の環境音とやわらかな足音が伴う",
"video_length": 5,
"resolution": "hd",
"aspect_ratio": "16:9",
"generate_audio": true,
"safety_tolerance": 2
},
"out_task_id": "flux_3_video_t2v_123456"
};
final response = await http.post(
url,
headers: {
'Authorization': 'Bearer <token>',
'Content-Type': 'application/json'
},
body: jsonEncode(payload),
);
print(response.body);
}
library(httr)
library(jsonlite)
url <- "https://aireiter.com/api/openapi/submit"
payload <- list(
model = "flux_3_video",
params = list(
mode = "t2v",
prompt = "映画的な追跡ショット: 1匹のアカギツネが薄霧の森を歩き抜け、自然の環境音とやわらかな足音が伴う",
video_length = 5,
resolution = "hd",
aspect_ratio = "16:9",
generate_audio = TRUE,
safety_tolerance = 2
),
out_task_id = "flux_3_video_t2v_123456"
)
response <- POST(
url,
add_headers(
Authorization = "Bearer <token>",
`Content-Type` = "application/json"
),
body = toJSON(payload, auto_unbox = TRUE),
encode = "raw"
)
cat(content(response, "text"))
{
"statusCode": 200,
"message": "",
"data": {
"out_task_id": "flux_3_video_t2v_123456",
"status": "pending",
"estimated_credits": 100,
"created_at": "2025-12-22T06:03:28.242Z"
}
}
{
"statusCode": 400,
"message": "Request parameter is invalid",
"ok": false
}
{
"error": {
"code": 401,
"message": "Authentication failed. Please check your API key"
}
}
{
"error": {
"code": 433,
"message": "Insufficient account balance. Please top up and try again"
}
}
{
"error": {
"code": 500,
"message": "Internal server error. Please try again later"
}
}
AIReiter における FLUX 3 Video のモデル名は
flux_3_video です。現在、テキストから動画生成、順序付きキーフレーム、動画の続きを生成する 3 つのモードが利用できます。Authorizations
string
必須
すべてのインターフェースは Bearer Token による認証が必要です。API Key management page にアクセスして API Key を取得し、リクエストヘッダーに次を追加してください:
Authorization: Bearer YOUR_API_KEY
Body
string
必須
モデル名、固定で使用:
flux_3_video
object
必須
モデルパラメーターオブジェクト。
表示 params オブジェクトの Properties
表示 params オブジェクトの Properties
string
デフォルト:"t2v"
生成モード:
t2v- テキストから動画へ。プロンプトのみを使用して動画を生成しますi2v- 順序付きキーフレーム。1〜10枚の画像で動画の内容と遷移を制御しますv2v- 動画の続き生成。1つのソース動画から動的コンテンツを続けて生成します
string
必須
動画生成のテキスト説明。主体、シーン、動作、カメラの動き、視覚スタイル、対話、および環境音を記述することを推奨します。
string | string[]
順序付きキーフレーム画像 URL。
i2v モードでのみ使用します。- 公開アクセス可能な画像を1〜10枚サポート
- 画像の順序がそのまま再生順序になります
- 1枚目と最後の1枚は、動画の開始フレームと終了フレームを定義するために使用できます
i2v モードでは少なくとも1枚の画像を指定する必要があります。他のモードではこのパラメーターを渡さないでください。string | string[]
ソース動画 URL。
v2v モードでのみ使用します。現在は、公開アクセス可能な MP4 動画を1つまでサポートしています。配列形式で渡された場合は、最初の URL のみが使用されます。v2v モードではソース動画を指定する必要があります。他のモードではこのパラメーターを渡さないでください。integer
デフォルト:"5"
出力動画の長さ。単位は秒です。5〜20 の整数をサポートします。
string
デフォルト:"hd"
出力品質:
hd- HDfhd- FHD
FHD のピクセル数は HD より多く、具体的な出力サイズはアスペクト比によって変わります。
string
デフォルト:"auto"
動画のアスペクト比:
auto- 自動21:9- ウルトラワイド2:1- ワイドスクリーン16:9- 横長4:3- 標準横長1:1- 正方形3:4- 縦版標準9:16- 縦長
boolean
デフォルト:"true"
動画と同期したネイティブ音声を生成するかどうか。対話、環境音、効果音を含めることができます。
integer
デフォルト:"2"
コンテンツ安全性の許容度。整数
0 から 4 をサポートします。0- 最も厳格なフィルタリング4- 最も緩い設定
string
必須
発信側のタスク ID。呼び出し元が生成し、一意性を保証します。後続ではこの ID を使用してタスクの状態と結果を照会します。
Response
string
Initiator task ID, can be used to query the result.
string
Initial status, usually
"pending".string
Creation time, in ISO 8601 format.
Query Task
FLUX 3 Videoは非同期処理を採用しています。送信に成功した後、同じout_task_idを使用してタスクをクエリします:
curl --request POST \
--url https://aireiter.com/api/openapi/query \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"out_task_id": "flux_3_video_task_123456"
}'
output配列に生成された動画のURLが含まれます。完全なフィールドはGet Task Statusを参照してください。
Request Examples
curl --request POST \
--url https://aireiter.com/api/openapi/submit \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "flux_3_video",
"params": {
"mode": "t2v",
"prompt": "映画的な追跡ショット: 1匹のアカギツネが薄霧の森を歩き抜け、自然の環境音とやわらかな足音が伴う",
"video_length": 5,
"resolution": "hd",
"aspect_ratio": "16:9",
"generate_audio": true,
"safety_tolerance": 2
},
"out_task_id": "flux_3_video_t2v_123456"
}'
curl --request POST \
--url https://aireiter.com/api/openapi/submit \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "flux_3_video",
"params": {
"mode": "i2v",
"prompt": "2枚のキーフレームの間で、主体の見た目を一致させたまま自然で連続的な動きとカメラワークを生成します",
"image_url": [
"https://example.com/first-frame.jpg",
"https://example.com/last-frame.jpg"
],
"video_length": 5,
"resolution": "fhd",
"aspect_ratio": "1:1",
"generate_audio": true,
"safety_tolerance": 2
},
"out_task_id": "flux_3_video_i2v_123456"
}'
curl --request POST \
--url https://aireiter.com/api/openapi/submit \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "flux_3_video",
"params": {
"mode": "v2v",
"prompt": "元動画の動きの方向、構図、光を引き継ぎ、カメラが自然に次の森のシーンへ入るようにする",
"video_url": "https://example.com/source-video.mp4",
"video_length": 5,
"resolution": "hd",
"aspect_ratio": "auto",
"generate_audio": true,
"safety_tolerance": 2
},
"out_task_id": "flux_3_video_v2v_123456"
}'
import requests
url = "https://aireiter.com/api/openapi/submit"
payload = {
"model": "flux_3_video",
"params": {
"mode": "t2v",
"prompt": "映画的な追跡ショット: 1匹のアカギツネが薄霧の森を歩き抜け、自然の環境音とやわらかな足音が伴う",
"video_length": 5,
"resolution": "hd",
"aspect_ratio": "16:9",
"generate_audio": True,
"safety_tolerance": 2
},
"out_task_id": "flux_3_video_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: "flux_3_video",
params: {
mode: "t2v",
prompt: "映画的な追跡ショット: 1匹のアカギツネが薄霧の森を歩き抜け、自然の環境音とやわらかな足音が伴う",
video_length: 5,
resolution: "hd",
aspect_ratio: "16:9",
generate_audio: true,
safety_tolerance: 2
},
out_task_id: "flux_3_video_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": "flux_3_video",
"params": map[string]interface{}{
"mode": "t2v",
"prompt": "映画的な追跡ショット: 1匹のアカギツネが薄霧の森を歩き抜け、自然の環境音とやわらかな足音が伴う",
"video_length": 5,
"resolution": "hd",
"aspect_ratio": "16:9",
"generate_audio": true,
"safety_tolerance": 2,
},
"out_task_id": "flux_3_video_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": "flux_3_video",
"params": {
"mode": "t2v",
"prompt": "映画的な追跡ショット: 1匹のアカギツネが薄霧の森を歩き抜け、自然の環境音とやわらかな足音が伴う",
"video_length": 5,
"resolution": "hd",
"aspect_ratio": "16:9",
"generate_audio": true,
"safety_tolerance": 2
},
"out_task_id": "flux_3_video_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" => "flux_3_video",
"params" => [
"mode" => "t2v",
"prompt" => "映画的な追跡ショット: 1匹のアカギツネが薄霧の森を歩き抜け、自然の環境音とやわらかな足音が伴う",
"video_length" => 5,
"resolution" => "hd",
"aspect_ratio" => "16:9",
"generate_audio" => true,
"safety_tolerance" => 2
],
"out_task_id" => "flux_3_video_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;
?>
require 'net/http'
require 'json'
require 'uri'
url = URI("https://aireiter.com/api/openapi/submit")
payload = {
model: "flux_3_video",
params: {
mode: "t2v",
prompt: "映画的な追跡ショット: 1匹のアカギツネが薄霧の森を歩き抜け、自然の環境音とやわらかな足音が伴う",
video_length: 5,
resolution: "hd",
aspect_ratio: "16:9",
generate_audio: true,
safety_tolerance: 2
},
out_task_id: "flux_3_video_t2v_123456"
}
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Post.new(url)
request["Authorization"] = "Bearer <token>"
request["Content-Type"] = "application/json"
request.body = payload.to_json
response = http.request(request)
puts response.body
import Foundation
let url = URL(string: "https://aireiter.com/api/openapi/submit")!
let payload: [String: Any] = [
"model": "flux_3_video",
"params": [
"mode": "t2v",
"prompt": "映画的な追跡ショット: 1匹のアカギツネが薄霧の森を歩き抜け、自然の環境音とやわらかな足音が伴う",
"video_length": 5,
"resolution": "hd",
"aspect_ratio": "16:9",
"generate_audio": true,
"safety_tolerance": 2
],
"out_task_id": "flux_3_video_t2v_123456"
]
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("Bearer <token>", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.httpBody = try? JSONSerialization.data(withJSONObject: payload)
let task = URLSession.shared.dataTask(with: request) { data, response, error in
if let error = error {
print("Error: \(error)")
return
}
if let data = data, let responseString = String(data: data, encoding: .utf8) {
print(responseString)
}
}
task.resume()
using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
class Program
{
static async Task Main(string[] args)
{
var url = "https://aireiter.com/api/openapi/submit";
var payload = @"
{
""model"": ""flux_3_video"",
""params"": {
""mode"": ""t2v"",
""prompt"": ""映画的な追跡ショット: 1匹のアカギツネが薄霧の森を歩き抜け、自然の環境音とやわらかな足音が伴う"",
""video_length"": 5,
""resolution"": ""hd"",
""aspect_ratio"": ""16:9"",
""generate_audio"": true,
""safety_tolerance"": 2
},
""out_task_id"": ""flux_3_video_t2v_123456""
}";
using var client = new HttpClient();
client.DefaultRequestHeaders.Add("Authorization", "Bearer <token>");
var content = new StringContent(payload, Encoding.UTF8, "application/json");
var response = await client.PostAsync(url, content);
var result = await response.Content.ReadAsStringAsync();
Console.WriteLine(result);
}
}
#include <stdio.h>
#include <curl/curl.h>
int main(void) {
CURL *curl;
CURLcode res;
curl_global_init(CURL_GLOBAL_DEFAULT);
curl = curl_easy_init();
if(curl) {
const char *url = "https://aireiter.com/api/openapi/submit";
const char *payload = "{\"model\":\"flux_3_video\",\"params\":{\"mode\":\"t2v\",\"prompt\":\"映画的な追跡ショット: 1匹のアカギツネが薄霧の森を歩き抜け、自然の環境音とやわらかな足音が伴う\",\"video_length\":5,\"resolution\":\"hd\",\"aspect_ratio\":\"16:9\",\"generate_audio\":true,\"safety_tolerance\":2},\"out_task_id\":\"flux_3_video_t2v_123456\"}";
struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "Authorization: Bearer <token>");
headers = curl_slist_append(headers, "Content-Type: application/json");
curl_easy_setopt(curl, CURLOPT_URL, url);
curl_easy_setopt(curl, CURLOPT_POSTFIELDS, payload);
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
res = curl_easy_perform(curl);
if(res != CURLE_OK) {
fprintf(stderr, "curl_easy_perform() failed: %s\n",
curl_easy_strerror(res));
}
curl_slist_free_all(headers);
curl_easy_cleanup(curl);
}
curl_global_cleanup();
return 0;
}
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
NSURL *url = [NSURL URLWithString:@"https://aireiter.com/api/openapi/submit"];
NSDictionary *payload = @{
@"model": @"flux_3_video",
@"params": @{
@"mode": @"t2v",
@"prompt": @"映画的な追跡ショット: 1匹のアカギツネが薄霧の森を歩き抜け、自然の環境音とやわらかな足音が伴う",
@"video_length": @5,
@"resolution": @"hd",
@"aspect_ratio": @"16:9",
@"generate_audio": @YES,
@"safety_tolerance": @2
},
@"out_task_id": @"flux_3_video_t2v_123456"
};
NSError *error;
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:payload
options:0
error:&error];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
[request setHTTPMethod:@"POST"];
[request setValue:@"Bearer <token>" forHTTPHeaderField:@"Authorization"];
[request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
[request setHTTPBody:jsonData];
NSURLSessionDataTask *task = [[NSURLSession sharedSession]
dataTaskWithRequest:request
completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
if (error) {
NSLog(@"Error: %@", error);
return;
}
NSString *result = [[NSString alloc] initWithData:data
encoding:NSUTF8StringEncoding];
NSLog(@"%@", result);
}];
[task resume];
[[NSRunLoop mainRunLoop] run];
}
return 0;
}
(* Requires cohttp and yojson libraries *)
open Lwt
open Cohttp
open Cohttp_lwt_unix
let url = "https://aireiter.com/api/openapi/submit"
let payload = {|{
"model": "flux_3_video",
"params": {
"mode": "t2v",
"prompt": "映画的な追跡ショット: 1匹のアカギツネが薄霧の森を歩き抜け、自然の環境音とやわらかな足音が伴う",
"video_length": 5,
"resolution": "hd",
"aspect_ratio": "16:9",
"generate_audio": true,
"safety_tolerance": 2
},
"out_task_id": "flux_3_video_t2v_123456"
}|}
let () =
let headers = Header.init ()
|> fun h -> Header.add h "Authorization" "Bearer <token>"
|> fun h -> Header.add h "Content-Type" "application/json"
in
let body = Cohttp_lwt.Body.of_string payload in
let response = Client.post ~headers ~body (Uri.of_string url) >>= fun (resp, body) ->
body |> Cohttp_lwt.Body.to_string >|= fun body_str ->
print_endline body_str
in
Lwt_main.run response
import 'dart:convert';
import 'package:http/http.dart' as http;
void main() async {
final url = Uri.parse('https://aireiter.com/api/openapi/submit');
final payload = {
"model": "flux_3_video",
"params": {
"mode": "t2v",
"prompt": "映画的な追跡ショット: 1匹のアカギツネが薄霧の森を歩き抜け、自然の環境音とやわらかな足音が伴う",
"video_length": 5,
"resolution": "hd",
"aspect_ratio": "16:9",
"generate_audio": true,
"safety_tolerance": 2
},
"out_task_id": "flux_3_video_t2v_123456"
};
final response = await http.post(
url,
headers: {
'Authorization': 'Bearer <token>',
'Content-Type': 'application/json'
},
body: jsonEncode(payload),
);
print(response.body);
}
library(httr)
library(jsonlite)
url <- "https://aireiter.com/api/openapi/submit"
payload <- list(
model = "flux_3_video",
params = list(
mode = "t2v",
prompt = "映画的な追跡ショット: 1匹のアカギツネが薄霧の森を歩き抜け、自然の環境音とやわらかな足音が伴う",
video_length = 5,
resolution = "hd",
aspect_ratio = "16:9",
generate_audio = TRUE,
safety_tolerance = 2
),
out_task_id = "flux_3_video_t2v_123456"
)
response <- POST(
url,
add_headers(
Authorization = "Bearer <token>",
`Content-Type` = "application/json"
),
body = toJSON(payload, auto_unbox = TRUE),
encode = "raw"
)
cat(content(response, "text"))
{
"statusCode": 200,
"message": "",
"data": {
"out_task_id": "flux_3_video_t2v_123456",
"status": "pending",
"estimated_credits": 100,
"created_at": "2025-12-22T06:03:28.242Z"
}
}
{
"statusCode": 400,
"message": "Request parameter is invalid",
"ok": false
}
{
"error": {
"code": 401,
"message": "Authentication failed. Please check your API key"
}
}
{
"error": {
"code": 433,
"message": "Insufficient account balance. Please top up and try again"
}
}
{
"error": {
"code": 500,
"message": "Internal server error. Please try again later"
}
}
Mode Rules
| mode | 必須素材 | 素材制限 |
|---|---|---|
t2v | なし | image_url または video_url を送信しないでください |
i2v | image_url | 順序付きの画像を1〜10枚 |
v2v | video_url | ソース動画は最大1つ |
画像と動画のURLが公開ネットワークから直接アクセス可能であることを確認してください。タスクは非同期処理のため、最終動画を待機するために送信リクエストのHTTP接続を使用しないでください。