LLMAPI VIDEO

API 调用说明

查看接口能力、请求参数、任务状态与按量计费规则。

GETTING STARTED

先确认接入方式

客户 API Key 接入尚未开放

当前任务接口使用网站登录态,供 llmapi.pro 网页工作台调用。现有 API Key 不能直接用于这些视频接口;下方是当前网页接口说明,不是第三方服务端接入承诺。

公开模型目录可直接查询;创建、余额及任务查询需先登录网站。创建任务按 API 钱包余额计费,不消耗订阅额度。

免费查询可用模型

curl --fail-with-body 'https://llmapi.pro/api/video/catalog'

检查 enabled、models[].enabled 与 prices。prices 中的 cents 是人民币分 / 秒,已包含适用的折扣。

接口列表

https://llmapi.pro/api/video

方法 / 路径鉴权行为
GET /catalog公开读取模型、分辨率、每秒价格和可用状态,不扣费。
GET /balance网站登录态读取 API 钱包总额、冻结额和可用余额。
POST /tasks网站登录态校验参数、预扣费用并创建异步任务;返回 202。
GET /tasks/:id网站登录态查询自己的任务;完成后返回视频地址。
GET /tasks网站登录态最近 30 条任务,按创建时间倒序。

创建一次,按任务 ID 查询

每次新创作使用新的 UUID 作为 Idempotency-Key。相同键和相同请求内容会返回原任务,不重复扣费;相同键换内容会返回 409。若提交超时,保留原键和原请求体重试,不要盲目创建新任务。

JavaScript · 网站同域会话示例

const requestKey = crypto.randomUUID();
const payload = {
  "model": "MiniMax-H3",
  "prompt": "A quiet forest at dawn. A slow camera push, gentle wind, no cuts.",
  "resolution": "768P",
  "duration": 5,
  "ratio": "16:9"
};

// 仅适用于已登录的 llmapi.pro 同域页面。调用后会按量扣费。
// 网络中断后重试时,保留相同的 requestKey 和 payload。
async function submitVideo() {
  const res = await fetch('/api/video/tasks', {
    method: 'POST', credentials: 'same-origin',
    headers: { 'Content-Type': 'application/json', 'Idempotency-Key': requestKey },
    body: JSON.stringify(payload)
  });
  const task = await res.json();
  if (!res.ok) throw new Error(task.error || 'request_failed');
  return task;
}
// 确认费用后手动调用 submitVideo(),本页不会执行代码。
202 响应格式示例
{
  "id": "00000000-0000-4000-8000-000000000001",
  "model": "MiniMax-H3",
  "mode": "text",
  "prompt": "A quiet forest at dawn. A slow camera push, gentle wind, no cuts.",
  "resolution": "768P",
  "duration": 5,
  "ratio": "16:9",
  "price_cny": 1.5,
  "state": "queued",
  "error_code": null,
  "refunded": false,
  "created_at": "2026-10-30T00:00:00.000Z",
  "video_url": null
}

查询状态与结果

async function getVideo(taskId) {
  const res = await fetch('/api/video/tasks/' + encodeURIComponent(taskId), {
    credentials: 'same-origin', cache: 'no-store'
  });
  const task = await res.json();
  if (!res.ok) throw new Error(task.error || 'request_failed');
  return task;
}
// 建议每 10–15 秒查询一次;succeeded / failed 后停止。
// 仅 succeeded 的 video_url 可用于播放或下载。

queued → submitting → pending → succeeded / failed

queued 为排队中,submitting 为提交中,pending 为生成中。提交后的错误可能正在核实,只有终态 failed 才表示失败;请以 refunded 字段确认退款。结果链接应及时下载保存。

请求参数

字段类型必填规则
modelstring可选默认 MiniMax-H3;可用模型以 catalog.models 为准。
promptstring必填去除首尾空白后 1–5000 字符。
resolutionstring必填严格匹配所选模型价格表中的键,注意大小写。
durationinteger必填4–15 秒
ratiostring必填16:9 · 9:16 · 1:1 · 4:3 · 3:4 · 21:9 · 有首帧时可用 source
first_framestring可选data:image/(png|jpeg|webp);base64,…
last_framestring可选与首帧格式相同;必须同时提供 first_frame。

模型与分辨率键

MiniMax-H3 — 768P / 2K

seedance-2.0-mini — 480p / 720p

seedance-2.0 — 480p / 720p / 1080p / 4k

图片必须为静态 PNG、JPEG 或 WebP 的 Base64 Data URL,不接受远程图片网址。每张解码后最多 2 MiB,边长至少 256 像素、总像素不超过 16,777,216,宽高比 0.4–2.5。首尾帧比例需一致;指定画幅时需预先裁切,比例误差不超过 1%。请求体上限 6 MB。

未列出的字段会被拒绝。当前不支持 seed、独立运镜字段、参考视频、音频上传、优先通道或 Context-IR。镜头和声音意图写入 prompt。

计费与常见错误

预扣金额 = 请求时长 × 对应分辨率的最终秒价。失败自动退回同一 API 钱包。金额字段 price_cny、balance_cny、frozen_cny、available_cny 的单位均为人民币元;catalog.prices 中 cents 的单位是分。 查看价格与倍率 →

每个账号每分钟最多 10 次创建请求,同一计费账号最多 2 条进行中的任务。

HTTP常见 error处理方式
400invalid_* / unsupported_parameter / idempotency_key_required核对参数、图片与 UUID 请求键。
401login_required登录网站;普通 API Key 不能替代登录态。
402insufficient_balance充值 API 按量钱包。
403invalid_origin仅在本站已登录同域页面调用。
404task_not_found检查任务 ID 及所属账号。
409idempotency_conflict重试需保持原请求内容;新创作使用新键。
429too_many_requests / too_many_active_tasks按 Retry-After 等待,或等待进行中任务结束。
503video_unavailable / model_unavailable / tasks_unavailable稍后重试;创建重试继续使用原请求键。