XRToken API 文档

创建视频生成任务

API Configuration
After saving, the Try It panel below sends real requests with this key.
Base: api.xrtoken.ai

提交视频生成任务,立即返回任务 ID。视频生成为异步操作,需通过 GET /v1/videos/generations/{taskId} 轮询任务状态。

计费方式:提交时按预估时长冻结费用,视频生成成功后按实际用量结算;生成失败则退还冻结金额。

支持多种输入模式(通过 content 数组指定):

  • 文生视频:仅传入 type: text 的提示词
  • 图生视频(首帧/首尾帧):传入图片,role 设为 first_frame / last_frame
  • 多模态参考生视频(Seedance 2.0 / MiniMax-H3):传入参考图片、参考视频、参考音频
  • 有声视频(Seedance 2.0、1.5 pro):设置 generate_audio: true,模型自动生成同步音频。MiniMax-H3 不支持此字段。
  • 样片模式(仅 Seedance 2.5):draft: true 先出 480p 预览,计费与直接生成 480p 相同。确认后用返回的任务 ID 再提交一次,content 只放 draft_task,生成 1080p 成片。成片不要再传提示词、参考素材、时长、宽高比、种子和 generate_audio。两步分开计费;成片单价看样片那一步有没有参考视频,样片本身不算输入视频。样片任务 7 天内有效。闲时模型不支持。

MiniMax-H3(国内站 / 国际站)参数标准见文档「MiniMax H3 请求参数」:resolution 为 768P 或 2K,duration 为 4–15 的整数,文生必须给具体 ratio,首尾帧不能和参考素材混用。

图片 / 媒体引用规范(重要):

  • 普通图片:image_url.url 请传 公网可访问的 https URL(如对象存储 / CDN)。上游引擎按 URL 直接拉取,不经过本服务内存。
  • 含真人的参考图:必须用 asset://<asset_id> 引用一个经过验证的真人素材(先调 POST /v1/asset-groups/validate-session 完成 H5 真人活体验证,拿到 group_id/asset_id)。直接传真人图 URL 或 base64 都会被上游 InputImageSensitiveContentDetected.PrivacyInformation 拒绝。
  • 不要 inline base64:data:image/...;base64,... 这种内联编码会让请求体迅速膨胀到 MB 级。请求体硬上限 5 MB,超过返回 413 payload_too_large。需要传图请上传到对象存储后传 URL,或用 asset:// 引用素材库。

创建时可指定 video_url_mode:upstream 直接返回原生地址,不等待保存;auto 优先原生地址,必要时回退到已保存版本;tos 等待我方确认保存完成。省略时使用账号默认策略。该设置会固化到新任务和回调,不影响后台保存;原生有效期可能未知,闲时升档模型不支持 upstream。

显式模式与 callback_url 同时使用前须配置账号 Webhook Secret,否则创建返回 400 webhook_secret_required。未配置 secret 且省略模式的原有回调客户继续沿用旧链路。

POST
/v1/videos/generations

Authorization

BearerAuth
AuthorizationBearer <token>

API 密钥认证(OpenAI 格式)。在 Authorization 请求头中传入:

Authorization: Bearer tr-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

curl -X post "https://api.xrtoken.net/v1/videos/generations" \  -H "Content-Type: application/json" \  -d '{    "model": "volcengine/doubao-seedance-2-0-260128",    "content": [      {        "type": "text",        "text": "一只猫咪在草地上奔跑,电影质感,慢镜头"      }    ],    "resolution": "720p",    "duration": 5  }'
{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "upstream_id": "string",
  "model": "string",
  "status": "queued",
  "created_at": "2019-08-24T14:15:22Z"
}
{
  "error": "model field is required",
  "type": "invalid_request_error"
}
{
  "error": "invalid or missing API key",
  "type": "auth_error"
}
{
  "error": "insufficient balance -- please top up or upgrade your plan",
  "type": "billing_error"
}
{
  "error": "rate limit exceeded",
  "type": "rate_limit_error"
}
{
  "error": "upstream provider error",
  "type": "server_error"
}