视频 API 概览
curl --request POST \
--url https://api.mixroute.ai/v1/video/generationsimport requests
url = "https://api.mixroute.ai/v1/video/generations"
response = requests.post(url)
print(response.text)const options = {method: 'POST'};
fetch('https://api.mixroute.ai/v1/video/generations', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.mixroute.ai/v1/video/generations",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.mixroute.ai/v1/video/generations"
req, _ := http.NewRequest("POST", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.mixroute.ai/v1/video/generations")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.mixroute.ai/v1/video/generations")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
response = http.request(request)
puts response.read_body视频系列
视频 API 概览
选择视频模型系列与参数文档,使用统一异步任务流程。
POST
/
v1
/
video
/
generations
视频 API 概览
curl --request POST \
--url https://api.mixroute.ai/v1/video/generationsimport requests
url = "https://api.mixroute.ai/v1/video/generations"
response = requests.post(url)
print(response.text)const options = {method: 'POST'};
fetch('https://api.mixroute.ai/v1/video/generations', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.mixroute.ai/v1/video/generations",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.mixroute.ai/v1/video/generations"
req, _ := http.NewRequest("POST", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.mixroute.ai/v1/video/generations")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.mixroute.ai/v1/video/generations")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
response = http.request(request)
puts response.read_body先选择视频模型系列,查看对应请求结构与示例。MixRoute 使用统一异步任务流程,各模型保留自己的生成参数。
使用账户 模型广场 或 模型列表 中的完整
视频分类
| 系列 | 参数文档 | 请求结构 |
|---|---|---|
| Seedance | Seedance | model、prompt、asset 位于顶层,所有厂商生成字段置于 metadata。 |
| Doubao | Doubao | doubao-seedance-* 路由;顶层 model/prompt/asset,厂商字段放入 metadata。 |
| Dreamina | Dreamina | dreamina-seedance-* 路由;顶层 model/prompt/asset,厂商字段放入 metadata。 |
| Google Veo | Veo | 顶层 model/prompt;生成项使用扁平 metadata.durationSeconds、metadata.aspectRatio 等。 |
| MiniMax H3 | MiniMax H3 | 顶层 model/prompt;H3 字段位于 metadata.content、metadata.resolution、metadata.duration、metadata.ratio。 |
| 通义万相 | 通义万相 | 顶层 model;原生 input 与 parameters 嵌套在 metadata 中。 |
| OpenAI Sora 2 | Sora 2 | 参见已有独立模型页与下载接口。 |
| Gemini Omni | Gemini Omni | 参见已有独立模型页,不套用 Veo 生成字段。 |
接口与认证
| 操作 | 方法与 URL |
|---|---|
| 创建任务 | POST https://api.mixroute.ai/v1/video/generations |
| 查询任务 | GET https://api.mixroute.ai/v1/video/generations/{task_id} |
| Sora 下载 | GET https://api.mixroute.ai/v1/video/generations/download?id={task_id} |
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
model ID。厂商发布模型不代表当前 MixRoute 账户已开通。
调用流程
- 选择分类文档,按该模型的结构构造请求。
- 提交后保存 MixRoute
task_id(部分路由同时返回id)。 - 使用 查询视频任务 轮询至成功或终止失败。提交成功不等于视频已完成。
- 读取当前路由的结果 URL;需要独立下载的 Sora 路由使用 下载视频。
提交响应
以下为网关响应结构示意:{
"task_id": "TASK_ID",
"id": "TASK_ID",
"object": "video",
"model": "dreamina-seedance-2-0-260128",
"status": "queued"
}
保存提交返回的任务 ID,不要替换成上游 operation name 或 file ID。提交超时不等于没有创建任务;再次提交前先检查控制台,避免重复计费任务。