跳转到主要内容
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_fast",
    "params": {
      "prompt": "一个人在工作室里跳舞",
      "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_fast",
    "params": {
      "prompt": "从日出过渡到日落",
      "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_fast",
    "params": {
        "prompt": "一个人在工作室里跳舞",
        "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_fast",
  params: {
    prompt: "一个人在工作室里跳舞",
    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_fast",
        "params": map[string]interface{}{
            "prompt":         "一个人在工作室里跳舞",
            "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_fast\",\"params\":{\"prompt\":\"一个人在工作室里跳舞\",\"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_fast",
    "params" => array(
        "prompt" => "一个人在工作室里跳舞",
        "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_fast",
  params: {
    prompt: "一个人在工作室里跳舞",
    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_fast",
    "params": [
        "prompt": "一个人在工作室里跳舞",
        "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_fast\",\"params\":{\"prompt\":\"一个人在工作室里跳舞\",\"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": 67.5,
      "created_at": "2026-04-02T08:00:00.000Z"
  }
}
  {
      "statusCode": 400,
      "message": "请求参数无效",
      "ok": false
  }
{
  "error": {
    "code": 401,
    "message": "身份验证失败,请检查您的API密钥"
  }
}
  {
    "error": {
      "code": 433,
      "message": "账户余额不足,请充值后再试"
    }
  }
{
  "error": {
    "code": 500,
    "message": "服务器内部错误,请稍后重试"
  }
}
本接口支持两个模型变体,参数完全一致:
  • seedance2_fast — 标准快速版
  • seedance2_fast_face — 支持上传真人版,功能与快速版一致

Authorizations

Authorization
string
必填
所有接口均需要使用Bearer Token进行认证获取 API Key:访问 API Key 管理页面 获取您的 API Key使用时在请求头中添加:
Authorization: Bearer YOUR_API_KEY

Body

model
string
必填
模型名称支持以下模型变体(参数完全一致,按需选择):
  • seedance2_fast — 标准快速版
  • seedance2_fast_face — 支持上传真人版,功能与快速版一致
params
object
必填
模型参数对象
out_task_id
string
必填
发起方任务ID用户自定义的任务标识,必填

Response

out_task_id
string
发起方任务ID,可用于查询结果
status
string
初始状态,固定为 "pending"
estimated_credits
number
预估消耗积分
created_at
string
创建时间(ISO 格式)
curl --request POST \
  --url https://aireiter.com/api/openapi/submit \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
    "model": "seedance2_fast",
    "params": {
      "prompt": "一个人在工作室里跳舞",
      "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_fast",
    "params": {
      "prompt": "从日出过渡到日落",
      "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_fast",
    "params": {
        "prompt": "一个人在工作室里跳舞",
        "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_fast",
  params: {
    prompt: "一个人在工作室里跳舞",
    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_fast",
        "params": map[string]interface{}{
            "prompt":         "一个人在工作室里跳舞",
            "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_fast\",\"params\":{\"prompt\":\"一个人在工作室里跳舞\",\"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_fast",
    "params" => array(
        "prompt" => "一个人在工作室里跳舞",
        "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_fast",
  params: {
    prompt: "一个人在工作室里跳舞",
    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_fast",
    "params": [
        "prompt": "一个人在工作室里跳舞",
        "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_fast\",\"params\":{\"prompt\":\"一个人在工作室里跳舞\",\"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": 67.5,
      "created_at": "2026-04-02T08:00:00.000Z"
  }
}
  {
      "statusCode": 400,
      "message": "请求参数无效",
      "ok": false
  }
{
  "error": {
    "code": 401,
    "message": "身份验证失败,请检查您的API密钥"
  }
}
  {
    "error": {
      "code": 433,
      "message": "账户余额不足,请充值后再试"
    }
  }
{
  "error": {
    "code": 500,
    "message": "服务器内部错误,请稍后重试"
  }
}