curl --request POST \
--url https://aireiter.com/api/openapi/submit \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "seedance2_mini",
"params": {
"prompt": "A person dancing in a studio",
"type": "all_reference",
"image_url": ["https://example.com/character.jpg"],
"video_url": ["https://example.com/dance.mp4"],
"aspect_ratio": "16:9",
"resolution": "720p",
"video_length": "5",
"generate_audio": true
},
"out_task_id": "my_task_123456"
}'
curl --request POST \
--url https://aireiter.com/api/openapi/submit \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "seedance2_mini",
"params": {
"prompt": "Transition from sunrise to sunset",
"type": "first_last_frame",
"image_url": ["https://example.com/start.jpg"],
"end_image_url": "https://example.com/end.jpg",
"aspect_ratio": "16:9",
"resolution": "720p",
"video_length": "5"
},
"out_task_id": "my_task_123457"
}'
import requests
url = "https://aireiter.com/api/openapi/submit"
payload = {
"model": "seedance2_mini",
"params": {
"prompt": "A person dancing in a studio",
"type": "all_reference",
"image_url": ["https://example.com/character.jpg"],
"aspect_ratio": "16:9",
"resolution": "720p",
"video_length": "5",
"generate_audio": True
},
"out_task_id": "my_task_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: "seedance2_mini",
params: {
prompt: "A person dancing in a studio",
type: "all_reference",
image_url: ["https://example.com/character.jpg"],
aspect_ratio: "16:9",
resolution: "720p",
video_length: "5",
generate_audio: true
},
out_task_id: "my_task_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": "seedance2_mini",
"params": map[string]interface{}{
"prompt": "A person dancing in a studio",
"type": "all_reference",
"image_url": []string{"https://example.com/character.jpg"},
"aspect_ratio": "16:9",
"resolution": "720p",
"video_length": "5",
"generate_audio": true,
},
"out_task_id": "my_task_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.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
public class Main {
public static void main(String[] args) {
try {
URL url = new URL("https://aireiter.com/api/openapi/submit");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("POST");
conn.setRequestProperty("Authorization", "Bearer <token>");
conn.setRequestProperty("Content-Type", "application/json");
conn.setDoOutput(true);
String jsonPayload = "{\"model\":\"seedance2_mini\",\"params\":{\"prompt\":\"A person dancing in a studio\",\"type\":\"all_reference\",\"image_url\":[\"https://example.com/character.jpg\"],\"aspect_ratio\":\"16:9\",\"resolution\":\"720p\",\"video_length\":\"5\",\"generate_audio\":true},\"out_task_id\":\"my_task_123456\"}";
OutputStream os = conn.getOutputStream();
os.write(jsonPayload.getBytes());
os.flush();
os.close();
BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String line;
StringBuilder response = new StringBuilder();
while ((line = br.readLine()) != null) {
response.append(line);
}
br.close();
System.out.println(response.toString());
} catch (Exception e) {
e.printStackTrace();
}
}
}
<?php
$url = "https://aireiter.com/api/openapi/submit";
$payload = array(
"model" => "seedance2_mini",
"params" => array(
"prompt" => "A person dancing in a studio",
"type" => "all_reference",
"image_url" => array("https://example.com/character.jpg"),
"aspect_ratio" => "16:9",
"resolution" => "720p",
"video_length" => "5",
"generate_audio" => true
),
"out_task_id" => "my_task_123456"
);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
"Authorization: Bearer <token>",
"Content-Type: application/json"
));
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($payload));
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>
require 'net/http'
require 'json'
require 'uri'
url = URI.parse("https://aireiter.com/api/openapi/submit")
payload = {
model: "seedance2_mini",
params: {
prompt: "A person dancing in a studio",
type: "all_reference",
image_url: ["https://example.com/character.jpg"],
aspect_ratio: "16:9",
resolution: "720p",
video_length: "5",
generate_audio: true
},
out_task_id: "my_task_123456"
}
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url.path)
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")!
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("Bearer <token>", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
let payload: [String: Any] = [
"model": "seedance2_mini",
"params": [
"prompt": "A person dancing in a studio",
"type": "all_reference",
"image_url": ["https://example.com/character.jpg"],
"aspect_ratio": "16:9",
"resolution": "720p",
"video_length": "5",
"generate_audio": true
],
"out_task_id": "my_task_123456"
]
request.httpBody = try? JSONSerialization.data(withJSONObject: payload)
let task = URLSession.shared.dataTask(with: request) { data, response, error in
if let data = data {
print(String(data: data, encoding: .utf8) ?? "")
}
}
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\":\"seedance2_mini\",\"params\":{\"prompt\":\"A person dancing in a studio\",\"type\":\"all_reference\",\"image_url\":[\"https://example.com/character.jpg\"],\"aspect_ratio\":\"16:9\",\"resolution\":\"720p\",\"video_length\":\"5\",\"generate_audio\":true},\"out_task_id\":\"my_task_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);
}
}
}
{
"code": "200",
"success": true,
"data": {
"out_task_id": "my_task_123456",
"status": "pending",
"estimated_credits": 82.5,
"created_at": "2026-04-02T08:00:00.000Z"
}
}
{
"statusCode": 400,
"message": "Invalid request parameters",
"ok": false
}
{
"error": {
"code": 401,
"message": "Authentication failed, please check your API key"
}
}
{
"error": {
"code": 433,
"message": "Insufficient account balance, please recharge and try again"
}
}
{
"error": {
"code": 500,
"message": "Internal server error, please try again later"
}
}
Seedance 2.0 Mini
Seedance 2.0 Mini Video Generation
- Asynchronous processing mode, returns a task ID for subsequent queries
- Supports text-to-video and image-to-video (first frame, last frame, multiple reference images)
- Supports multiple aspect ratios including horizontal and vertical
- Supports audio generation
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": "seedance2_mini",
"params": {
"prompt": "A person dancing in a studio",
"type": "all_reference",
"image_url": ["https://example.com/character.jpg"],
"video_url": ["https://example.com/dance.mp4"],
"aspect_ratio": "16:9",
"resolution": "720p",
"video_length": "5",
"generate_audio": true
},
"out_task_id": "my_task_123456"
}'
curl --request POST \
--url https://aireiter.com/api/openapi/submit \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "seedance2_mini",
"params": {
"prompt": "Transition from sunrise to sunset",
"type": "first_last_frame",
"image_url": ["https://example.com/start.jpg"],
"end_image_url": "https://example.com/end.jpg",
"aspect_ratio": "16:9",
"resolution": "720p",
"video_length": "5"
},
"out_task_id": "my_task_123457"
}'
import requests
url = "https://aireiter.com/api/openapi/submit"
payload = {
"model": "seedance2_mini",
"params": {
"prompt": "A person dancing in a studio",
"type": "all_reference",
"image_url": ["https://example.com/character.jpg"],
"aspect_ratio": "16:9",
"resolution": "720p",
"video_length": "5",
"generate_audio": True
},
"out_task_id": "my_task_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: "seedance2_mini",
params: {
prompt: "A person dancing in a studio",
type: "all_reference",
image_url: ["https://example.com/character.jpg"],
aspect_ratio: "16:9",
resolution: "720p",
video_length: "5",
generate_audio: true
},
out_task_id: "my_task_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": "seedance2_mini",
"params": map[string]interface{}{
"prompt": "A person dancing in a studio",
"type": "all_reference",
"image_url": []string{"https://example.com/character.jpg"},
"aspect_ratio": "16:9",
"resolution": "720p",
"video_length": "5",
"generate_audio": true,
},
"out_task_id": "my_task_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.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
public class Main {
public static void main(String[] args) {
try {
URL url = new URL("https://aireiter.com/api/openapi/submit");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("POST");
conn.setRequestProperty("Authorization", "Bearer <token>");
conn.setRequestProperty("Content-Type", "application/json");
conn.setDoOutput(true);
String jsonPayload = "{\"model\":\"seedance2_mini\",\"params\":{\"prompt\":\"A person dancing in a studio\",\"type\":\"all_reference\",\"image_url\":[\"https://example.com/character.jpg\"],\"aspect_ratio\":\"16:9\",\"resolution\":\"720p\",\"video_length\":\"5\",\"generate_audio\":true},\"out_task_id\":\"my_task_123456\"}";
OutputStream os = conn.getOutputStream();
os.write(jsonPayload.getBytes());
os.flush();
os.close();
BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String line;
StringBuilder response = new StringBuilder();
while ((line = br.readLine()) != null) {
response.append(line);
}
br.close();
System.out.println(response.toString());
} catch (Exception e) {
e.printStackTrace();
}
}
}
<?php
$url = "https://aireiter.com/api/openapi/submit";
$payload = array(
"model" => "seedance2_mini",
"params" => array(
"prompt" => "A person dancing in a studio",
"type" => "all_reference",
"image_url" => array("https://example.com/character.jpg"),
"aspect_ratio" => "16:9",
"resolution" => "720p",
"video_length" => "5",
"generate_audio" => true
),
"out_task_id" => "my_task_123456"
);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
"Authorization: Bearer <token>",
"Content-Type: application/json"
));
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($payload));
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>
require 'net/http'
require 'json'
require 'uri'
url = URI.parse("https://aireiter.com/api/openapi/submit")
payload = {
model: "seedance2_mini",
params: {
prompt: "A person dancing in a studio",
type: "all_reference",
image_url: ["https://example.com/character.jpg"],
aspect_ratio: "16:9",
resolution: "720p",
video_length: "5",
generate_audio: true
},
out_task_id: "my_task_123456"
}
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url.path)
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")!
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("Bearer <token>", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
let payload: [String: Any] = [
"model": "seedance2_mini",
"params": [
"prompt": "A person dancing in a studio",
"type": "all_reference",
"image_url": ["https://example.com/character.jpg"],
"aspect_ratio": "16:9",
"resolution": "720p",
"video_length": "5",
"generate_audio": true
],
"out_task_id": "my_task_123456"
]
request.httpBody = try? JSONSerialization.data(withJSONObject: payload)
let task = URLSession.shared.dataTask(with: request) { data, response, error in
if let data = data {
print(String(data: data, encoding: .utf8) ?? "")
}
}
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\":\"seedance2_mini\",\"params\":{\"prompt\":\"A person dancing in a studio\",\"type\":\"all_reference\",\"image_url\":[\"https://example.com/character.jpg\"],\"aspect_ratio\":\"16:9\",\"resolution\":\"720p\",\"video_length\":\"5\",\"generate_audio\":true},\"out_task_id\":\"my_task_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);
}
}
}
{
"code": "200",
"success": true,
"data": {
"out_task_id": "my_task_123456",
"status": "pending",
"estimated_credits": 82.5,
"created_at": "2026-04-02T08:00:00.000Z"
}
}
{
"statusCode": 400,
"message": "Invalid request parameters",
"ok": false
}
{
"error": {
"code": 401,
"message": "Authentication failed, please check your API key"
}
}
{
"error": {
"code": 433,
"message": "Insufficient account balance, please recharge and try again"
}
}
{
"error": {
"code": 500,
"message": "Internal server error, please try again later"
}
}
Authorizations
string
required
All endpoints require authentication using a Bearer TokenGet the API Key:Visit the API Key management page to obtain your API KeyInclude in the request headers:
Authorization: Bearer YOUR_API_KEY
Body
string
required
Model NameFixed to
seedance2_miniobject
required
Model parameters object
Show params Object Properties
Show params Object Properties
string
required
Text description for video generation, cannot be empty
string
required
Reference mode, determines how image/video parameters are used
all_reference— Intelligent reference mode:image_urlused as character/style reference images (up to 9),video_urlused as reference videos (up to 3)first_last_frame— First and last frame mode:image_urlas first frame (only 1),end_image_urlas last frame,video_urlnot supported
all_reference, first_last_framestring[]
Reference image URLs
- In
all_referencemode: up to 9 images, max 50MB each, minimum side length 300px - In
first_last_framemode: only 1 image (first frame), max 10MB, minimum side length 300px
string[]
Reference video URLsOnly supported in
all_reference mode. Up to 3; supports mp4, mov; single video duration 2-15 seconds, total length of all reference videos no more than 15 seconds; max 50MB per video; frame rate 24-60 FPS; resolutions supported are 480p, 720p; aspect ratio 0.4-2.5; width and height range 300-6000px; total pixels between 409600 and 927408Only valid in
all_reference mode, do not pass this parameter when type is first_last_framestring
Last frame image URLMax 10MB
Only valid in
first_last_frame modestring
default:"16:9"
Video aspect ratioSupported aspect ratios:
16:9- Landscape (default)9:16- Portrait1:1- Square4:3- Standard3:4- Portrait standard21:9- Ultra-wide
string
default:"720p"
Video resolutionSupported resolutions:
480p720p(default)
string
default:"5"
Video length (seconds)Supported length range: 4 to 15 seconds, default 5 seconds
boolean
default:"true"
Whether to generate audio, default
truestring
required
Initiator task IDUser-defined task identifier, required
Response
string
Initiator task ID, can be used to query results
string
Initial status, fixed as
"pending"number
Estimated consumed credits
string
Creation time (ISO format)
curl --request POST \
--url https://aireiter.com/api/openapi/submit \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "seedance2_mini",
"params": {
"prompt": "A person dancing in a studio",
"type": "all_reference",
"image_url": ["https://example.com/character.jpg"],
"video_url": ["https://example.com/dance.mp4"],
"aspect_ratio": "16:9",
"resolution": "720p",
"video_length": "5",
"generate_audio": true
},
"out_task_id": "my_task_123456"
}'
curl --request POST \
--url https://aireiter.com/api/openapi/submit \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "seedance2_mini",
"params": {
"prompt": "Transition from sunrise to sunset",
"type": "first_last_frame",
"image_url": ["https://example.com/start.jpg"],
"end_image_url": "https://example.com/end.jpg",
"aspect_ratio": "16:9",
"resolution": "720p",
"video_length": "5"
},
"out_task_id": "my_task_123457"
}'
import requests
url = "https://aireiter.com/api/openapi/submit"
payload = {
"model": "seedance2_mini",
"params": {
"prompt": "A person dancing in a studio",
"type": "all_reference",
"image_url": ["https://example.com/character.jpg"],
"aspect_ratio": "16:9",
"resolution": "720p",
"video_length": "5",
"generate_audio": True
},
"out_task_id": "my_task_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: "seedance2_mini",
params: {
prompt: "A person dancing in a studio",
type: "all_reference",
image_url: ["https://example.com/character.jpg"],
aspect_ratio: "16:9",
resolution: "720p",
video_length: "5",
generate_audio: true
},
out_task_id: "my_task_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": "seedance2_mini",
"params": map[string]interface{}{
"prompt": "A person dancing in a studio",
"type": "all_reference",
"image_url": []string{"https://example.com/character.jpg"},
"aspect_ratio": "16:9",
"resolution": "720p",
"video_length": "5",
"generate_audio": true,
},
"out_task_id": "my_task_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.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
public class Main {
public static void main(String[] args) {
try {
URL url = new URL("https://aireiter.com/api/openapi/submit");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("POST");
conn.setRequestProperty("Authorization", "Bearer <token>");
conn.setRequestProperty("Content-Type", "application/json");
conn.setDoOutput(true);
String jsonPayload = "{\"model\":\"seedance2_mini\",\"params\":{\"prompt\":\"A person dancing in a studio\",\"type\":\"all_reference\",\"image_url\":[\"https://example.com/character.jpg\"],\"aspect_ratio\":\"16:9\",\"resolution\":\"720p\",\"video_length\":\"5\",\"generate_audio\":true},\"out_task_id\":\"my_task_123456\"}";
OutputStream os = conn.getOutputStream();
os.write(jsonPayload.getBytes());
os.flush();
os.close();
BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String line;
StringBuilder response = new StringBuilder();
while ((line = br.readLine()) != null) {
response.append(line);
}
br.close();
System.out.println(response.toString());
} catch (Exception e) {
e.printStackTrace();
}
}
}
<?php
$url = "https://aireiter.com/api/openapi/submit";
$payload = array(
"model" => "seedance2_mini",
"params" => array(
"prompt" => "A person dancing in a studio",
"type" => "all_reference",
"image_url" => array("https://example.com/character.jpg"),
"aspect_ratio" => "16:9",
"resolution" => "720p",
"video_length" => "5",
"generate_audio" => true
),
"out_task_id" => "my_task_123456"
);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
"Authorization: Bearer <token>",
"Content-Type: application/json"
));
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($payload));
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>
require 'net/http'
require 'json'
require 'uri'
url = URI.parse("https://aireiter.com/api/openapi/submit")
payload = {
model: "seedance2_mini",
params: {
prompt: "A person dancing in a studio",
type: "all_reference",
image_url: ["https://example.com/character.jpg"],
aspect_ratio: "16:9",
resolution: "720p",
video_length: "5",
generate_audio: true
},
out_task_id: "my_task_123456"
}
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url.path)
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")!
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("Bearer <token>", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
let payload: [String: Any] = [
"model": "seedance2_mini",
"params": [
"prompt": "A person dancing in a studio",
"type": "all_reference",
"image_url": ["https://example.com/character.jpg"],
"aspect_ratio": "16:9",
"resolution": "720p",
"video_length": "5",
"generate_audio": true
],
"out_task_id": "my_task_123456"
]
request.httpBody = try? JSONSerialization.data(withJSONObject: payload)
let task = URLSession.shared.dataTask(with: request) { data, response, error in
if let data = data {
print(String(data: data, encoding: .utf8) ?? "")
}
}
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\":\"seedance2_mini\",\"params\":{\"prompt\":\"A person dancing in a studio\",\"type\":\"all_reference\",\"image_url\":[\"https://example.com/character.jpg\"],\"aspect_ratio\":\"16:9\",\"resolution\":\"720p\",\"video_length\":\"5\",\"generate_audio\":true},\"out_task_id\":\"my_task_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);
}
}
}
{
"code": "200",
"success": true,
"data": {
"out_task_id": "my_task_123456",
"status": "pending",
"estimated_credits": 82.5,
"created_at": "2026-04-02T08:00:00.000Z"
}
}
{
"statusCode": 400,
"message": "Invalid request parameters",
"ok": false
}
{
"error": {
"code": 401,
"message": "Authentication failed, please check your API key"
}
}
{
"error": {
"code": 433,
"message": "Insufficient account balance, please recharge and try again"
}
}
{
"error": {
"code": 500,
"message": "Internal server error, please try again later"
}
}