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": "电影感跟拍镜头:一只赤狐穿过薄雾森林,伴随自然环境声与轻柔脚步声",
"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": "在两张关键帧之间生成自然连贯的动作和运镜,保持主体外观一致",
"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": "电影感跟拍镜头:一只赤狐穿过薄雾森林,伴随自然环境声与轻柔脚步声",
"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: "电影感跟拍镜头:一只赤狐穿过薄雾森林,伴随自然环境声与轻柔脚步声",
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": "电影感跟拍镜头:一只赤狐穿过薄雾森林,伴随自然环境声与轻柔脚步声",
"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": "电影感跟拍镜头:一只赤狐穿过薄雾森林,伴随自然环境声与轻柔脚步声",
"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" => "电影感跟拍镜头:一只赤狐穿过薄雾森林,伴随自然环境声与轻柔脚步声",
"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: "电影感跟拍镜头:一只赤狐穿过薄雾森林,伴随自然环境声与轻柔脚步声",
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": "电影感跟拍镜头:一只赤狐穿过薄雾森林,伴随自然环境声与轻柔脚步声",
"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"": ""电影感跟拍镜头:一只赤狐穿过薄雾森林,伴随自然环境声与轻柔脚步声"",
""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\":\"电影感跟拍镜头:一只赤狐穿过薄雾森林,伴随自然环境声与轻柔脚步声\",\"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": @"电影感跟拍镜头:一只赤狐穿过薄雾森林,伴随自然环境声与轻柔脚步声",
@"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": "电影感跟拍镜头:一只赤狐穿过薄雾森林,伴随自然环境声与轻柔脚步声",
"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": "电影感跟拍镜头:一只赤狐穿过薄雾森林,伴随自然环境声与轻柔脚步声",
"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 = "电影感跟拍镜头:一只赤狐穿过薄雾森林,伴随自然环境声与轻柔脚步声",
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": "请求参数无效",
"ok": false
}
{
"error": {
"code": 401,
"message": "身份验证失败,请检查您的API密钥"
}
}
{
"error": {
"code": 433,
"message": "账户余额不足,请充值后再试"
}
}
{
"error": {
"code": 500,
"message": "服务器内部错误,请稍后重试"
}
}
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": "电影感跟拍镜头:一只赤狐穿过薄雾森林,伴随自然环境声与轻柔脚步声",
"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": "在两张关键帧之间生成自然连贯的动作和运镜,保持主体外观一致",
"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": "电影感跟拍镜头:一只赤狐穿过薄雾森林,伴随自然环境声与轻柔脚步声",
"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: "电影感跟拍镜头:一只赤狐穿过薄雾森林,伴随自然环境声与轻柔脚步声",
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": "电影感跟拍镜头:一只赤狐穿过薄雾森林,伴随自然环境声与轻柔脚步声",
"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": "电影感跟拍镜头:一只赤狐穿过薄雾森林,伴随自然环境声与轻柔脚步声",
"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" => "电影感跟拍镜头:一只赤狐穿过薄雾森林,伴随自然环境声与轻柔脚步声",
"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: "电影感跟拍镜头:一只赤狐穿过薄雾森林,伴随自然环境声与轻柔脚步声",
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": "电影感跟拍镜头:一只赤狐穿过薄雾森林,伴随自然环境声与轻柔脚步声",
"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"": ""电影感跟拍镜头:一只赤狐穿过薄雾森林,伴随自然环境声与轻柔脚步声"",
""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\":\"电影感跟拍镜头:一只赤狐穿过薄雾森林,伴随自然环境声与轻柔脚步声\",\"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": @"电影感跟拍镜头:一只赤狐穿过薄雾森林,伴随自然环境声与轻柔脚步声",
@"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": "电影感跟拍镜头:一只赤狐穿过薄雾森林,伴随自然环境声与轻柔脚步声",
"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": "电影感跟拍镜头:一只赤狐穿过薄雾森林,伴随自然环境声与轻柔脚步声",
"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 = "电影感跟拍镜头:一只赤狐穿过薄雾森林,伴随自然环境声与轻柔脚步声",
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": "请求参数无效",
"ok": false
}
{
"error": {
"code": 401,
"message": "身份验证失败,请检查您的API密钥"
}
}
{
"error": {
"code": 433,
"message": "账户余额不足,请充值后再试"
}
}
{
"error": {
"code": 500,
"message": "服务器内部错误,请稍后重试"
}
}
AIReiter에서 FLUX 3 Video의 모델 이름은
flux_3_video입니다. 현재 텍스트-투-비디오, 순서 있는 키프레임, 비디오 이어쓰기 세 가지 모드를 지원합니다.Authorizations
string
필수
모든 엔드포인트는 Bearer Token을 사용한 인증이 필요합니다.API Key 관리 페이지에 방문하여 API Key를 가져온 후, 요청 헤더에 다음을 추가하세요:
Authorization: Bearer YOUR_API_KEY
Body
string
필수
모델 이름, 고정값:
flux_3_video
object
필수
모델 Parameters 객체.
표시 params 객체 Properties
표시 params 객체 Properties
string
기본값:"t2v"
생성 모드:
t2v- 텍스트로 비디오 생성, 프롬프트만 사용해 비디오를 생성i2v- 정렬된 키프레임, 1-10장의 이미지를 사용해 비디오 콘텐츠와 전환을 제어v2v- 비디오 이어서 생성, 하나의 원본 비디오에서 동적 콘텐츠를 계속 생성
string
필수
비디오 생성을 위한 텍스트 설명.주체, 장면, 동작, 카메라 움직임, 시각 스타일, 대사 및 환경음을 설명하는 것을 권장합니다.
string | string[]
정렬된 키프레임 이미지 URL,
i2v 모드에서만 사용됩니다.- 공개적으로 접근 가능한 이미지 1-10장을 지원합니다
- 이미지 순서는 재생 순서와 동일합니다
- 첫 번째와 마지막 이미지는 비디오의 시작 및 종료 장면을 정의하는 데 사용할 수 있습니다
i2v 모드에서는 최소 한 장의 이미지를 제공해야 합니다. 다른 모드에서는 이 Parameters를 전달하지 마세요.string | string[]
원본 비디오 URL,
v2v 모드에서만 사용됩니다.현재는 공개적으로 접근 가능한 MP4 비디오 하나만 지원합니다. 배열 형식으로 전달하면 첫 번째 URL만 사용됩니다.v2v 모드에서는 원본 비디오를 제공해야 합니다. 다른 모드에서는 이 Parameters를 전달하지 마세요.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
요청자 작업 ID로, 결과를 조회하는 데 사용할 수 있습니다.
string
초기 상태이며, 일반적으로
"pending"입니다.string
생성 시간, ISO 8601 형식입니다.
작업 조회
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이 포함됩니다. 전체 필드는 작업 상태 가져오기를 참조하세요.
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": "电影感跟拍镜头:一只赤狐穿过薄雾森林,伴随自然环境声与轻柔脚步声",
"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": "在两张关键帧之间生成自然连贯的动作和运镜,保持主体外观一致",
"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": "电影感跟拍镜头:一只赤狐穿过薄雾森林,伴随自然环境声与轻柔脚步声",
"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: "电影感跟拍镜头:一只赤狐穿过薄雾森林,伴随自然环境声与轻柔脚步声",
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": "电影感跟拍镜头:一只赤狐穿过薄雾森林,伴随自然环境声与轻柔脚步声",
"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": "电影感跟拍镜头:一只赤狐穿过薄雾森林,伴随自然环境声与轻柔脚步声",
"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" => "电影感跟拍镜头:一只赤狐穿过薄雾森林,伴随自然环境声与轻柔脚步声",
"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: "电影感跟拍镜头:一只赤狐穿过薄雾森林,伴随自然环境声与轻柔脚步声",
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": "电影感跟拍镜头:一只赤狐穿过薄雾森林,伴随自然环境声与轻柔脚步声",
"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"": ""电影感跟拍镜头:一只赤狐穿过薄雾森林,伴随自然环境声与轻柔脚步声"",
""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\":\"电影感跟拍镜头:一只赤狐穿过薄雾森林,伴随自然环境声与轻柔脚步声\",\"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": @"电影感跟拍镜头:一只赤狐穿过薄雾森林,伴随自然环境声与轻柔脚步声",
@"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": "电影感跟拍镜头:一只赤狐穿过薄雾森林,伴随自然环境声与轻柔脚步声",
"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": "电影感跟拍镜头:一只赤狐穿过薄雾森林,伴随自然环境声与轻柔脚步声",
"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 = "电影感跟拍镜头:一只赤狐穿过薄雾森林,伴随自然环境声与轻柔脚步声",
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": "请求参数无效",
"ok": false
}
{
"error": {
"code": 401,
"message": "身份验证失败,请检查您的API密钥"
}
}
{
"error": {
"code": 433,
"message": "账户余额不足,请充值后再试"
}
}
{
"error": {
"code": 500,
"message": "服务器内部错误,请稍后重试"
}
}
Mode Rules
| mode | Required Materials | Material Limitations |
|---|---|---|
t2v | None | Do not pass image_url or video_url |
i2v | image_url | 1-10 ordered images |
v2v | video_url | Up to one source video |
Please ensure that the image and video URLs are directly accessible from the public internet. The task is processed asynchronously, so do not use the HTTP connection from the submission request to wait for the final video.