API 说明文档

TokenFusion 平台 RESTful API 接入指南

产品介绍

TokenFusion 是统一的 AI 多模态 API 平台,面向内容创作、媒体生产与企业应用,提供文本对话、图像生成、视频生成与素材管理等能力。您只需使用平台 API Key,即可通过 OpenAI 兼容接口或平台标准接口调用模型广场中已开通的模型。

平台提供 AI 模型接口管理接口 两大类 RESTful API。除生文流式模式返回 SSE 外,请求与响应均为 JSON。

接口分类

AI 模型接口

  • 文字
    • Seed 生文POST /chat/completions;对话、流式、续写、多模态理解等
  • 图像
    • Seedream 生图POST /images/generations;文生图、图生图、组图、流式输出等
  • 视频
    • Seedance/video/generations
      • 创建任务 / 查询任务 / 取消任务
      • 素材库:/assets/{Action}asset:// 引用
    • 可灵/kling/v1/...

管理接口

  • 查询余额POST /user/balance

平台入门 · 登录开发者控制台

访问 控制台 > API Keys,创建 API 密钥并命名管理,支持一键复制 API Key。

重要提示:
  1. 立即复制并妥善保存 API Key(页面关闭后不可再次查看完整密钥);
  2. 建议通过「API 密钥命名」标注用途,便于后续管理,每个账户最多 10 个 Key。

鉴权认证

用 API Key 组装成 Authorization,填写到 Request Header 里,组装方式为:

代码块

Authorization: Bearer YOUR_API_KEY

其中 Bearer 与 API Key 之间需要保留一个空格。

API Key 无效、缺失或已禁用时返回 401,响应体为 {"detail":"..."}

组装请求地址

平台统一接口地址格式如下:

代码块

https://api.xzzgm.cn/api/v1/

AI 模型接口路径示例:

https://api.xzzgm.cn/api/v1/chat/completions

https://api.xzzgm.cn/api/v1/images/generations

https://api.xzzgm.cn/api/v1/video/generations(视频 · Seedance)

https://api.xzzgm.cn/api/v1/kling/v1/videos/text2video(视频 · 可灵)

https://api.xzzgm.cn/api/v1/assets/{Action}(素材库;请求体字段为 PascalCase,见素材库章节)

管理接口路径示例:

https://api.xzzgm.cn/api/v1/user/balance

下文示例中的路径均相对于上述 Base URL。

完整请求示例(Seedance)

以下以 Seedance 文生视频为例,演示「创建任务 → 轮询查询 → 获取结果」的完整流程。可灵模型请使用可灵 接口,勿调用本节路径。

1. 创建视频生成任务

请求

curl -X POST https://api.xzzgm.cn/api/v1/video/generations \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
  "model": "doubao-seedance-2-0-260128",
  "content": [
    {
      "type": "text",
      "text": "写实风格,晴朗的蓝天之下,一大片白色的雏菊花田"
    }
  ],
  "ratio": "16:9",
  "duration": 5
}'

结果返回示例

{
  "id": "cgt-xxxx-xxxx"
}

2. 查询任务结果

提交异步任务后,使用返回的任务 ID 查询结果:

请求

curl -X GET "https://api.xzzgm.cn/api/v1/video/generations/${TASK_ID}" \
  -H "Authorization: Bearer YOUR_API_KEY"

结果返回示例

{
  "id": "cgt-xxxx-xxxx",
  "model": "doubao-seedance-2-0-260128",
  "status": "succeeded",
  "content": {
    "video_url": "https://example.com/xxxx/xxxx.mp4"
  },
  "usage": {
    "completion_tokens": 108900,
    "total_tokens": 108900
  },
  "created_at": 1779951506,
  "updated_at": 1779951777,
  "seed": 95020,
  "resolution": "720p",
  "ratio": "16:9",
  "duration": 5,
  "framespersecond": 24,
  "service_tier": "default",
  "generate_audio": true,
  "draft": false
}

任务进行中时 statusqueuedrunning,请间隔 5~10 秒轮询,收到 429 时遵循 Retry-After 退避。

若需在视频中引用私域参考图/音视频,请先按下文 素材库 · Assets API 完成入库,再在 content 中使用 asset://{素材ID}

接口总览

快速索引表;完整路径、参数与示例见左侧对应章节。模型类接口均使用 Authorization: Bearer API Key 鉴权。

分类 能力 路径 模式
文字 Seed 生文 POST /chat/completions 同步 / 流式
图像 Seedream 生图 POST /images/generations 同步 / 流式
Seedance 创建 / 查询 / 取消 POST/GET /video/generations.../{task_id}/cancel 异步 / 轮询
素材库 POST /assets/{Action} 同步 / 异步入库
可灵 文生视频、图生视频、Omni 视频、动作控制、对口型、数字人 /kling/v1/videos/... 异步 / 轮询
文生音效、视频生音效、语音合成 /kling/v1/audio/... 异步 / 同步
自定义音色 /kling/v1/general/custom-voices 同步 / 异步
管理 查询余额 POST /user/balance(账号 + 密码) 同步

文字 · Seed 生文

POST /chat/completions

OpenAI 兼容的对话补全接口。使用 TokenFusion API Key 鉴权后,按 OpenAI 格式提交请求;平台校验模型权限并返回 JSON 或 SSE 流式响应。具体字段与扩展能力以模型广场中对应模型的说明为准。

计费说明:生文按模型用量计费,费用从平台账户余额扣除。具体单价见模型广场;调用前请确认账户可用余额充足。
能力概览(常见生文能力,以模型标签为准):
  • 默认对话:纯文本 messages,非流式返回完整 JSON
  • 流式输出stream: true,SSE 增量返回 delta.content / delta.reasoning_content
  • 续写模式:末条 assistant 消息作为前缀,配合 continue_final_message 等参数续写
  • 图片理解contentimage_url
  • 视频理解contentvideo_url
  • 音频理解contentinput_audio(Base64);须模型支持
  • 深度推理reasoning_effort: "high";响应可能含 reasoning_content

能力模式对照

模式关键参数推荐模型
默认对话messages 纯文本;stream: false 或不传doubao-seed-2-0-lite-260215
流式输出stream: true;可选 stream_options.include_usageSeed 2.0 Lite / Pro 等
续写模式末条 role: assistant + continue_final_message: trueSeed 2.0 系列
图片理解contentimage_urldoubao-seed-2-0-pro-260215 等多模态模型
视频理解contentvideo_urldoubao-seed-2-0-pro-260215
音频理解contentinput_audiodoubao-seed-2-0-lite-260428 等(Pro 260215 通常不支持)
深度推理reasoning_effort: "low" | "medium" | "high"doubao-seed-2-0-lite-260215 等推理模型

具体 Model ID 与能力标签以模型广场为准。须传入已上架且当前账户有权调用的 Model ID;否则返回 403,响应体为 {"detail":"无权调用该平台模型"}

请求头(Request Headers)

Header必填说明
AuthorizationBearer YOUR_API_KEY
Content-Typeapplication/json
Accept流式时建议 text/event-stream

请求体(Request Body)

下表为 OpenAI 兼容字段及部分多模态扩展。未在表中列出、但模型支持的扩展字段也可写入请求体。

参数类型必填默认值说明
modelstring模型 ID,须为模型广场已上架生文模型,如 doubao-seed-2-0-lite-260215
messagesarray对话消息列表,至少 1 条;见下方「messages 格式」
streambooleanfalsetrue 时返回 SSE;必须为布尔值,字符串 "true" 会返回 422
stream_optionsobject流式选项,如 {"include_usage": true} 在最后一块返回 usage
continue_final_messageboolean续写模式。true 时,以 messages 最后一条 assistant 内容为前缀继续生成
add_generation_promptboolean续写时通常设为 false,避免额外插入生成提示
reasoning_effortstring推理强度:low / medium / high(深度推理模型)
max_tokensinteger最大生成 Token 数,≥ 1;日常建议 256~8192
max_completion_tokensintegermax_tokens 语义相近,部分模型优先识别本字段
temperaturenumber1采样温度,0~2
top_pnumber1核采样,0~1
ninteger1生成候选条数,≥ 1
stopstring | array停止序列
presence_penaltynumber0存在惩罚,-2~2
frequency_penaltynumber0频率惩罚,-2~2
toolsarray工具定义(OpenAI 格式)
tool_choicestring | object工具选择策略
response_formatobject结构化输出,如 {"type":"json_object"}
seedinteger随机种子
modalitiesarray输出模态(部分多模态模型)
audioobject请求级输出音频配置;输入侧音频理解请用 input_audio
userstring终端用户标识

messages 格式

content 可为字符串(纯文本),或多段对象数组(多模态理解)。

字符串 content(纯文本 / 默认对话)

{"role": "user", "content": "你好"}

多段 content(多模态)

messages[].content[]type 常用取值如下(是否支持取决于所选模型):

type结构用途
text{"type":"text","text":"..."}文本提示;text 必填且非空
image_url{"type":"image_url","image_url":{"url":"..."}}图片理解;URL 或 data:image/...;base64,...
video_url{"type":"video_url","video_url":{"url":"..."}}视频理解;URL 须公网可访问
input_audio{"type":"input_audio","input_audio":{"data":"<base64>","format":"mp3"}}音频理解;须模型支持
与「生视频」接口区分:生视频 /video/generationscontent 使用 audio_url 表示参考音频;生文 Chat 的音频理解须使用 input_audio,二者不可混用。传入 audio_url 到 Chat 会返回 400 InvalidParameter

续写模式

在已有文本前缀基础上继续生成,适用于故事续写、代码补全等。将最后一条消息的 role 设为 assistantcontent 填入希望模型接续的前缀,并在请求体设置 continue_final_message: trueadd_generation_prompt: false

{
  "role": "user",
  "content": "请以童话故事为主题续写:一片森林里,住着一只名叫小白的兔子。"
},
{
  "role": "assistant",
  "content": "有一天,小白"
}

响应(非流式)

HTTP 200,OpenAI 兼容 JSON。推理模型除 message.content 外,还可能返回 message.reasoning_content

默认对话示例

{
  "id": "chatcmpl-xxx",
  "object": "chat.completion",
  "created": 1710000000,
  "model": "doubao-seed-2-0-lite-260215",
  "choices": [{
    "index": 0,
    "message": { "role": "assistant", "content": "你好,有什么可以帮你?" },
    "finish_reason": "stop"
  }],
  "usage": { "prompt_tokens": 10, "completion_tokens": 20, "total_tokens": 30 }
}

深度推理示例(含 reasoning_content)

{
  "choices": [{
    "message": {
      "role": "assistant",
      "content": "最终给用户的回答……",
      "reasoning_content": "模型内部推理过程……"
    },
    "finish_reason": "stop"
  }],
  "usage": { "prompt_tokens": 50, "completion_tokens": 200, "total_tokens": 250 }
}

响应(流式 stream: true

Content-Type 为 text/event-stream,每行 data: {...},末尾 data: [DONE]。增量位于 choices[0].delta

客户端应同时监听两者,避免误判「长时间无输出」。设置 stream_options: {"include_usage": true} 可在末块获取 usage。

data: {"choices":[{"delta":{"reasoning_content":"……","content":""},"index":0}]}
data: {"choices":[{"delta":{"content":"你好"},"index":0}]}
data: [DONE]

常见错误

HTTP典型 code / 信息说明
422校验失败stream 传字符串;JSON 格式错误
401无效 API Key检查 Authorization: Bearer sk-...
403无权调用该平台模型Model ID 未上架、未授权或不在模型广场可用列表
400InvalidParameter请求参数不合法,如使用了当前模型不支持的 type
400audio input is not supported by this model当前模型不支持 input_audio,请换用支持音频理解的模型
400MissingParameter多模态 text 缺失或为空
404ModelNotOpen模型服务返回的业务错误(HTTP 200 时见响应 error 对象;部分场景为 4xx)
502服务暂时不可用平台或模型通道异常,请稍后重试

请求示例

默认对话(非流式)

curl -X POST https://api.xzzgm.cn/api/v1/chat/completions \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "doubao-seed-2-0-lite-260215",
    "messages": [
      {"role": "user", "content": "用一句话介绍 TokenFusion 平台"}
    ],
    "max_tokens": 256,
    "temperature": 0.7
  }'

流式输出

curl -N -X POST https://api.xzzgm.cn/api/v1/chat/completions \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Accept: text/event-stream" \
  -d '{
    "model": "doubao-seed-2-0-lite-260215",
    "messages": [{"role": "user", "content": "你好"}],
    "stream": true,
    "stream_options": {"include_usage": true},
    "max_tokens": 512
  }'

续写模式

curl -X POST https://api.xzzgm.cn/api/v1/chat/completions \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "doubao-seed-2-0-lite-260215",
    "messages": [
      {"role": "user", "content": "请以童话故事为主题续写:一片森林里,住着一只名叫小白的兔子。"},
      {"role": "assistant", "content": "有一天,小白"}
    ],
    "continue_final_message": true,
    "add_generation_prompt": false,
    "max_tokens": 512,
    "temperature": 0.7
  }'

图片理解

curl -X POST https://api.xzzgm.cn/api/v1/chat/completions \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "doubao-seed-2-0-pro-260215",
    "messages": [{
      "role": "user",
      "content": [
        {"type": "text", "text": "请用一句话描述这张图片的主要内容"},
        {"type": "image_url", "image_url": {"url": "https://example.com/images/view.jpeg"}}
      ]
    }],
    "max_tokens": 256,
    "temperature": 0.2
  }'

视频理解

curl -X POST https://api.xzzgm.cn/api/v1/chat/completions \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "doubao-seed-2-0-pro-260215",
    "messages": [{
      "role": "user",
      "content": [
        {"type": "text", "text": "请用一句话概括这段视频在做什么"},
        {"type": "video_url", "video_url": {"url": "https://example.com/videos/sample.mp4"}}
      ]
    }],
    "max_tokens": 256,
    "temperature": 0.2
  }'

音频理解(input_audio)

curl -X POST https://api.xzzgm.cn/api/v1/chat/completions \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "doubao-seed-2-0-lite-260428",
    "messages": [{
      "role": "user",
      "content": [
        {"type": "text", "text": "请用一句话描述这段音频的内容或氛围"},
        {"type": "input_audio", "input_audio": {"data": "BASE64_AUDIO_DATA", "format": "mp3"}}
      ]
    }],
    "max_tokens": 256,
    "temperature": 0.2
  }'

input_audio.data 为音频文件 Base64(不含 Data URI 前缀);format 常用 mp3wav。建议用 SDK 或脚本构造请求体。

深度推理

curl -X POST https://api.xzzgm.cn/api/v1/chat/completions \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "doubao-seed-2-0-lite-260215",
    "messages": [{
      "role": "user",
      "content": "一个农夫需要把狼、羊、白菜运过河,船每次只能载一样。狼不能和羊单独在一起,羊不能和白菜单独在一起。请给出可行步骤并说明理由。"
    }],
    "reasoning_effort": "high",
    "max_tokens": 1024,
    "temperature": 0.2
  }'

业务错误通常以 OpenAI 兼容的 error 对象返回;平台鉴权与权限错误以 detail 字段返回。

图像 · Seedream 生图

POST /images/generations

OpenAI 兼容的图像生成接口。使用 TokenFusion API Key 鉴权,按 OpenAI 格式提交请求;平台校验模型权限并返回 JSON 或 SSE 流式响应。

部分图像模型支持扩展参数(如 imagesequential_image_generationtools 等),是否可用以模型广场中对应模型说明为准。

计费说明:生图按模型用量或张数计费,费用从平台账户余额扣除。具体单价见模型广场。
能力概览(常见生图能力,以模型标签为准):
  • 文生图:仅传 prompt
  • 图生图:传 prompt + 单张 image(URL 或 Base64)
  • 多图融合:传 image 数组(最多 14 张)+ sequential_image_generation: "disabled";prompt 可用「图1/图2」指代
  • 多参考图生组图:传多张 image + sequential_image_generation: "auto" + sequential_image_generation_options.max_images
  • 流式输出stream: true,返回 SSE 事件(见下方流式说明)
  • 联网搜索tools: [{"type":"web_search"}]仅 Seedream 5.0(如 doubao-seedream-5-0-260128)支持

能力模式对照

模式关键参数推荐模型
文生图promptSeedream 4.5 / 4.0 / 5.0
图生图prompt + image(单 URL)Seedream 4.5 / 4.0 / 5.0
多图融合image 数组 + sequential_image_generation: "disabled"Seedream 4.5 / 4.0
多参考图生组图image 数组 + sequential_image_generation: "auto" + max_imagesSeedream 4.5 / 4.0
流式输出stream: trueSeedream 4.5 / 4.0 / 5.0
联网搜索tools: [{"type":"web_search"}]仅 Seedream 5.0(doubao-seedream-5-0-260128

具体 Model ID 以模型广场实时列表为准。须传入已上架且当前账户有权调用的 Model ID;传 model 时若无权调用,返回 403,响应体为 {"detail":"无权调用该平台模型"}

请求头(Request Headers)

Header必填说明
AuthorizationBearer YOUR_API_KEY
Content-Typeapplication/json
Accept流式时建议 text/event-stream

请求体(Request Body)

下表包含 OpenAI 兼容字段及部分模型扩展字段。未在表中列出、但模型支持的扩展字段也可写入请求体。

参数类型必填默认值说明
promptstring图像描述文本,不能为空。Seedream 建议不超过约 300 汉字 / 600 英文词
modelstring图像模型 ID;须为模型广场中已开通的 Model ID,如 doubao-seedream-4-5-251128
imagestring / arraySeedream 扩展。参考图 URL 或 Base64(data:image/png;base64,...);支持单图或数组,最多 14 张。不传则为文生图
sizestring模型默认输出尺寸。Seedream 可用分辨率关键词 2K3K(5.0)/ 4K(4.5),或像素值如 2048x20482560x1440
sequential_image_generationstringdisabledSeedream 扩展。disabled 关闭组图(单图/融合);auto 开启组图,由模型决定张数
sequential_image_generation_optionsobject组图配置,仅 sequential_image_generation: "auto" 时生效
sequential_image_generation_options.max_imagesinteger15最多生成张数,范围 1~15;须满足「参考图数量 + 输出张数 ≤ 15」
streambooleanfalse是否流式返回;必须为布尔值,字符串 "true" 会返回 422
toolsarraySeedream 5.0 扩展。联网搜索:[{"type":"web_search"}];开启后会按需检索网络,提升时效性但增加时延
watermarkbooleantrue是否在图片右下角添加「AI生成」水印;建议生产传 false
response_formatstringurlurl 返回下载链接(24 小时内有效);b64_json 返回 Base64
output_formatstringjpegSeedream 5.0 支持 jpeg / png
optimize_prompt_optionsobject提示词优化,如 {"mode":"standard"}
ninteger1OpenAI 兼容字段;Seedream 组图请优先用 sequential_image_generation
qualitystringOpenAI 兼容(如 dall-e-3 的 hd);Seedream 通常忽略
backgroundstringOpenAI 兼容(gpt-image-1);Seedream 通常忽略
stylestringOpenAI 兼容(dall-e-3);Seedream 通常忽略
userstring终端用户标识,便于审计

参考图(image)约束

size 与分辨率(Seedream)

模型分辨率关键词常用像素示例
Seedream 5.0(doubao-seedream-5-0-2601282K3K2048×2048、2560×1440、3072×3072
Seedream 4.5(doubao-seedream-4-5-2511282K4K2048×2048、2560×1440、2496×1664
Seedream 4.0(doubao-seedream-4-0-2508281K2K4K1024×1024、2048×2048

也可在 prompt 中用自然语言描述宽高比,配合 size: "2K" 由模型决定具体像素。

响应(非流式)

成功响应示例(Seedream 4.5 文生图)

{
  "model": "doubao-seedream-4-5-251128",
  "created": 1780281542,
  "data": [
    {
      "url": "https://example.com/generated.jpeg",
      "size": "2560x1440"
    }
  ],
  "usage": {
    "generated_images": 1,
    "output_tokens": 16280,
    "total_tokens": 16280
  }
}

联网搜索成功时,usage 可能包含 tool_usage.web_search 计数(Seedream 5.0)。

响应(流式 stream: true

Content-Type 为 text/event-stream。每张图片生成完成后推送 image_generation.partial_succeeded,全部结束后推送 image_generation.completed,末尾为 data: [DONE](仅部分支持流式的模型)。

event: image_generation.partial_succeeded
data: {"type":"image_generation.partial_succeeded","model":"doubao-seedream-4-5-251128","image_index":0,"url":"https://..."}

event: image_generation.completed
data: {"type":"image_generation.completed","usage":{"generated_images":1,"output_tokens":16280,"total_tokens":16280}}

data: [DONE]

请求示例

文生图

curl -X POST https://api.xzzgm.cn/api/v1/images/generations \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "doubao-seedream-4-5-251128",
    "prompt": "一只在窗台上晒太阳的橘猫,写实摄影风格,柔和自然光",
    "size": "2K",
    "watermark": false
  }'

图生图

curl -X POST https://api.xzzgm.cn/api/v1/images/generations \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "doubao-seedream-4-5-251128",
    "prompt": "保持人物姿势不变,将服装材质改为透明清水,光影从反射变为折射",
    "image": "https://example.com/images/seedream4_5_imageToimage.png",
    "size": "2K",
    "watermark": false
  }'

多图融合

curl -X POST https://api.xzzgm.cn/api/v1/images/generations \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "doubao-seedream-4-5-251128",
    "prompt": "将图1的服装换为图2的服装,保持图1的人物姿态",
    "image": [
      "https://example.com/images/seedream4_imagesToimage_1.png",
      "https://example.com/images/seedream4_5_imagesToimage_2.png"
    ],
    "sequential_image_generation": "disabled",
    "size": "2K",
    "watermark": false
  }'

多参考图生组图

curl -X POST https://api.xzzgm.cn/api/v1/images/generations \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "doubao-seedream-4-5-251128",
    "prompt": "参考图1人物与图2服装风格,生成一组连贯时尚穿搭展示图",
    "image": [
      "https://example.com/images/seedream4_imagesToimage_1.png",
      "https://example.com/images/seedream4_5_imagesToimage_2.png"
    ],
    "sequential_image_generation": "auto",
    "sequential_image_generation_options": {"max_images": 3},
    "size": "2K",
    "watermark": false
  }'

流式输出

curl -X POST https://api.xzzgm.cn/api/v1/images/generations \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Accept: text/event-stream" \
  -d '{
    "model": "doubao-seedream-4-5-251128",
    "prompt": "一只在窗台上晒太阳的橘猫,写实摄影风格",
    "size": "2K",
    "stream": true,
    "watermark": false
  }'

联网搜索(仅 Seedream 5.0)

curl -X POST https://api.xzzgm.cn/api/v1/images/generations \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "doubao-seedream-5-0-260128",
    "prompt": "根据当前流行的时装周街拍趋势,生成一张都市时尚街拍照片,自然光,高清",
    "tools": [{"type": "web_search"}],
    "size": "2K",
    "watermark": false
  }'
常见错误:
  • 422stream 传字符串而非布尔值;缺少 prompt
  • 403:Model ID 未上架、未授权或不在模型广场可用列表
  • 部分模型不支持 tools 联网搜索;请换用模型广场标注支持该能力的模型

业务错误通常以 OpenAI 兼容的 error 对象返回;平台鉴权与权限错误以 detail 字段返回。

视频 · Seedance

面向模型广场中的 Seedance 系列视频模型,提供异步创建、查询与取消。请求体使用 model + content 统一格式;成功创建后返回任务 ID,需轮询查询接口获取视频 URL。素材库 asset:// 仅适用于本节;完整字段说明见在线产品手册(需登录且已授权)。

计费说明:创建任务前预冻结账户额度,任务进入终态后结算并释放冻结;成功时主要依据 usage.total_tokens 与模型单价规则扣费。可用余额不足返回 402

创建任务

POST /video/generations

请求体(Request Body)

参数类型必填说明
modelstringSeedance 系列 Model ID,须为当前账户已授权模型(如 doubao-seedance-2-0-260128
contentarray输入内容数组,见下方 Content 对象说明
resolutionstring480p / 720p / 1080p
ratiostring16:9 / 4:3 / 1:1 / 3:4 / 9:16 / 21:9 / adaptive
durationinteger时长(秒);部分模型支持 -1 表示由模型决定
seedinteger随机种子,-1 表示随机
generate_audioboolean是否生成同步音频(支持的模型)
draftboolean样片模式(支持的模型)
camera_fixedboolean是否固定镜头
watermarkboolean是否添加水印
return_last_frameboolean是否返回尾帧图像 URL
service_tierstringdefaultflex
execution_expires_afterinteger任务超时阈值(秒),3600~259200
callback_urlstring任务进入终态后,平台向该地址推送通知(若您的账户已开通回调能力)
toolsarray工具配置,如 [{"type":"web_search"}]
framesinteger帧数(部分模型)

Content 数组对象

文本对象

{ "type": "text", "text": "描述期望生成的视频内容" }

图片对象

{
  "type": "image_url",
  "image_url": { "url": "https://example.com/frame.jpg" },
  "role": "first_frame"
}

role 可选:first_frame(首帧)、last_frame(尾帧)、reference_image(参考图)。也支持 asset://{素材ID} 引用平台素材库(须为当前用户拥有的素材)。

响应

结果返回示例

{ "id": "cgt-2025xxxxxx-xxxx" }

仅返回任务 ID,不包含视频 URL。

查询任务

GET /video/generations/{task_id}

查询任务状态与结果。仅可查询当前 API Key 所属用户创建的任务。平台对同一任务有进程内查询缓存与最小间隔限制,轮询过快返回 429(响应头含 Retry-After)。

路径参数

参数类型说明
task_idstring创建任务时返回的 id

响应字段

字段类型说明
idstring任务 ID
modelstring模型 ID
statusstringqueued / running / succeeded / failed / cancelled / expired
content.video_urlstring成功时的视频 URL,请及时转存
content.last_frame_urlstring尾帧图片 URL(如创建时开启)
usage.total_tokensintegerToken 消耗(用于计费)
errorobject失败时的错误信息
created_at / updated_atintegerUnix 时间戳

请求示例

请求

curl https://api.xzzgm.cn/api/v1/video/generations/cgt-2025xxxxxx-xxxx \
  -H "Authorization: Bearer YOUR_API_KEY"

取消任务

POST /video/generations/{task_id}/cancel

取消排队中的任务。仅 queued 状态可取消;响应结构与查询接口相同,返回取消后的任务状态。

请求

curl -X POST https://api.xzzgm.cn/api/v1/video/generations/cgt-2025xxxxxx-xxxx/cancel \
  -H "Authorization: Bearer YOUR_API_KEY"

素材库

POST /assets/{Action}

面向火山方舟(Volcano Ark)素材库的统一代理接口:将图片、视频、音频等参考素材入库后,在 POST /video/generationscontent 中通过 asset://{素材ID} 引用。平台使用服务端 AK/SK 访问上游,下游仅需 TokenFusion API Key,不可在 URL 中指定上游账号(如 ?account=...)。

字段命名与视频接口不同:素材库请求体字段为 PascalCase(如 GroupIdProjectName);Seedance /video/generations 使用小写字段。响应业务数据通常在 Result 字段中。

通用规则

规则说明
鉴权Authorization: Bearer YOUR_API_KEY
权限须已开通火山类视频模型及素材库调用权限,否则 403
归属仅可访问当前 API Key 用户自己创建的素材组与素材;空列表返回结构化空结果
项目名ProjectName 默认 default,创建素材时需与所属素材组一致
入库CreateAsset 为异步入库,状态通常为 Processing → Active / Failed,仅 Active 可用于生视频
URL 时效GetAsset / ListAssets 返回的 URL 短期有效,请尽快使用

推荐流程

  1. CreateAssetGroup — 创建素材组,记录 Result.Id
  2. CreateAsset — 提交公网可访问素材 URL,记录素材 Result.Id
  3. GetAsset — 每 3~5 秒轮询直至 StatusActive
  4. POST /video/generations — 在 contentimage_url.url / video_url.url / audio_url.url 中填写 asset://{素材ID}

Action 列表

以下操作均为 POST,路径中的 {Action} 与表内名称一致。

Action说明
CreateAssetGroup创建素材组
ListAssetGroups查询当前用户的素材组列表
GetAssetGroup查询单个素材组
UpdateAssetGroup更新素材组名称或描述
CreateAsset在指定素材组下提交素材(异步入库)
ListAssets查询当前用户的素材列表
GetAsset查询单个素材状态与 URL
UpdateAsset更新素材名称
DeleteAsset删除单个素材(暂不支持删除素材组)

请求头

Header必填说明
AuthorizationBearer YOUR_API_KEY
Content-Typeapplication/json

通用字段

字段 / 枚举说明
ProjectName项目名,默认 default;创建素材时须与所属素材组一致
GroupType素材组类型,当前固定 AIGC
AssetTypeImage / Video / Audio
StatusProcessing(入库中)→ Active(可用于生视频)/ Failed
PageNumber / PageSize列表分页;PageSize 最大 100

创建素材组 · CreateAssetGroup

POST https://api.xzzgm.cn/api/v1/assets/CreateAssetGroup

参数类型必填说明
Namestring素材组名称,建议不超过 64 字符
Descriptionstring描述,建议不超过 300 字符
GroupTypestring固定传 AIGC
ProjectNamestring默认 default

请求

curl -X POST https://api.xzzgm.cn/api/v1/assets/CreateAssetGroup \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "Name": "brand-hero-v1",
  "Description": "品牌主视觉素材组",
  "GroupType": "AIGC",
  "ProjectName": "default"
}'

响应示例

{
  "Result": {
    "Id": "group-202604020001"
  }
}

创建素材 · CreateAsset

POST https://api.xzzgm.cn/api/v1/assets/CreateAsset

参数类型必填说明
GroupIdstring所属素材组 ID,须为当前用户已创建的组
URLstring公网可访问素材地址(当前仅支持 URL,不支持 Base64)
AssetTypestringImage / Video / Audio
Namestring素材名称,便于列表检索
ProjectNamestring须与素材组一致,默认 default

成功仅表示已提交预处理队列;新素材默认 Processing,须轮询 GetAssetActive 后再用于生视频。图片/视频/音频的格式与大小限制以火山方舟素材库文档为准。

请求

curl -X POST https://api.xzzgm.cn/api/v1/assets/CreateAsset \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "GroupId": "group-202604020001",
  "URL": "https://example.com/hero-face.png",
  "Name": "hero-face-closeup",
  "AssetType": "Image",
  "ProjectName": "default"
}'

响应示例

{
  "Result": {
    "Id": "asset-202604020001"
  }
}

查询素材 · GetAsset

POST https://api.xzzgm.cn/api/v1/assets/GetAsset

curl -X POST https://api.xzzgm.cn/api/v1/assets/GetAsset \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "Id": "asset-202604020001",
  "ProjectName": "default"
}'

响应示例(可用)

{
  "Result": {
    "Id": "asset-202604020001",
    "Name": "hero-face-closeup",
    "URL": "https://example-cdn.com/asset/hero-face.png",
    "AssetType": "Image",
    "GroupId": "group-202604020001",
    "Status": "Active",
    "ProjectName": "default",
    "CreateTime": "2026-04-02T09:03:00Z",
    "UpdateTime": "2026-04-02T09:03:20Z"
  }
}

Result.URL 通常短期有效,请及时用于下载或生视频;入库轮询建议间隔 3~5 秒。

列表与其它操作

ListAssets — 仅返回当前用户拥有的素材;Filter.GroupType 必填 AIGC,可按 GroupIdsStatusesName 过滤。

ListAssets 请求示例

curl -X POST https://api.xzzgm.cn/api/v1/assets/ListAssets \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "Filter": {
    "GroupIds": ["group-202604020001"],
    "GroupType": "AIGC",
    "Statuses": ["Active"]
  },
  "PageNumber": 1,
  "PageSize": 20,
  "SortBy": "CreateTime",
  "SortOrder": "Desc",
  "ProjectName": "default"
}'

ListAssetGroupsGetAssetGroupUpdateAssetGroupUpdateAssetDeleteAsset 路径分别为 /assets/{Action},请求体字段与火山方舟 Assets API 一致,由平台透传并维护本地归属记录。

在生视频中引用素材

素材 StatusActive 后,在创建 Seedance 视频任务时使用 asset:// 前缀(须为当前用户拥有的素材 ID):

curl -X POST https://api.xzzgm.cn/api/v1/video/generations \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "doubao-seedance-2-0-260128",
  "content": [
    {"type": "text", "text": "人物在花海中缓慢转身"},
    {
      "type": "image_url",
      "image_url": {"url": "asset://asset-202604020001"},
      "role": "reference_image"
    }
  ],
  "ratio": "16:9",
  "duration": 5
}'

提示词中建议用「图片1」「视频1」等顺序指代参考素材,勿将裸 Asset ID 写入提示词正文。仅支持素材引用的火山视频模型可使用 asset://;可灵等其它上游不支持此引用方式。

素材库常见错误

HTTP典型 detail说明
403当前用户无权调用素材库 API未开通火山类视频模型权限;引用非本人素材
404素材组不存在 / 素材不存在ID 无效或不属于当前用户;ProjectName 不匹配
400不支持的素材库操作 / 不支持指定 account 参数Action 不在白名单;URL 勿带 ?account=
502 / 504上游连接失败 / 响应超时火山素材库链路异常,可稍后重试
503当前素材库服务暂时不可用后台未配置或未启用素材库账号

部分上游业务错误会以原 HTTP 状态码与响应体透传,平台不做二次包装。更完整的 Seedance 2.0 字段说明见在线产品手册

视频 · 可灵

面向模型广场中的可灵(Kling)系列视频模型。请使用 /kling/v1/... 路径及本章示例字段。覆盖文生/图生视频、Omni 视频(多模态参考生视频)、动作控制、对口型、数字人、音效、语音合成、自定义音色等能力(以模型广场及账户授权为准)。

计费说明:异步创建任务按模型规则预冻结,余额不足返回 402;任务成功后实扣并释放冻结,失败仅释放冻结。同步接口(identify-facetts)成功即结算;删除类接口不计费。单任务查询须为当前账户创建且路径类型一致。具体价目见模型广场

创建任务时可在 body 中传 callback_url;任务进入终态后平台推送 video.task.updated 事件(与 Seedance 回调格式一致),常见字段含 task_idtask_statustask_result.videos 等。

通用响应结构

创建(POST) 成功时 data 常见字段:

字段类型说明
codeint0 表示受理成功;非 0 见错误码表
messagestring状态或错误描述
request_idstring请求 ID,用于排查
data.task_idstring系统任务 ID,用于同路径 GET 轮询
data.task_statusstringsubmitted / processing / succeed / failed
data.task_info.external_task_idstring创建时传入的自定义任务 ID(若有)
data.created_atint创建时间,Unix 毫秒时间戳
data.updated_atint更新时间,Unix 毫秒时间戳

查询(GET) 终态成功时 data.task_result 常见字段:

字段类型说明
data.task_status_msgstring失败原因(如触发内容风控等)
data.task_result.videos[]array视频结果列表
videos[].idstring成片视频 ID,全局唯一;可用于延长、对口型、视频生音效等
videos[].urlstring成片下载 URL;生成资源约 30 天后清理,请及时保存
videos[].watermark_urlstring含水印版本 URL(请求中启用水印时返回)
videos[].durationstring视频总时长(秒)
data.task_result.audios[]array音频类任务成功时的结果(TTS、文生音效等)
audios[].idstring音频 ID,可作为 audio_id 用于数字人、对口型等
final_unit_deductionstring任务扣减单位数(积分计量)

查询路径参数 {task_id} 可与创建返回的 task_idexternal_task_id 二选一填入(须与创建类型路径一致)。

轮询间隔建议 5–10 秒;过快可能 429。查询路径必须与创建时一致(如文生用 text2video,不可用 image2video 路径查)。

文生视频

官方文档:Text to Video。请求头须含 Content-Type: application/jsonAuthorization: Bearer <API_KEY>

POST /kling/v1/videos/text2video
GET /kling/v1/videos/text2video/{task_id}

请求体

参数类型必填默认值说明
model_namestringkling-v1模型名称;平台侧请使用模型广场 Model ID(如 kling-v2-6kling-v3)。历史字段 model 仍兼容,等价于未传 model_name 时的默认行为
promptstring正向文本提示,不超过 2500 字符
negative_promptstring负向文本提示,不超过 2500 字符
soundstringoff是否同步生成声音。枚举 on / off;通常 V2.6 及之后模型支持
cfg_scalefloat0.5生成视频自由度;值越大自由度越低。范围 [0, 1]kling-v2.x 通常不支持
modestringstd生成模式。枚举 std(标准)、pro(高品质);具体以模型能力为准
camera_controlobject运镜控制;未传时由模型根据文本智能匹配。子字段见下表
aspect_ratiostring16:9画幅宽高比。枚举 16:99:161:1
durationstring5视频时长(秒)。枚举 510;部分新型号支持更多档位,见模型说明
watermark_infoobject{"enabled": boolean}true 时同时生成含水印结果(响应含 watermark_url),不支持自定义水印图案
callback_urlstring任务终态回调 URL;状态变更时服务端主动通知
external_task_idstring自定义任务 ID;不覆盖系统 task_id,可用于查询;同一用户账户内须唯一

camera_control 子字段

字段类型必填说明
typestring预定义运镜类型。枚举 simpledown_back(下移后拉)、forward_up(推进上仰)、right_turn_forward(右转前进)、left_turn_forward(左转前进)。非 simpleconfig 应为空
configobject条件type=simple 时必填;六轴中仅能有一个非零,其余为 0
config.horizontalfloat水平平移(x 轴),范围 [-10, 10];负左正右
config.verticalfloat垂直平移(y 轴),范围 [-10, 10];负下正上
config.panfloat水平摇镜(绕 y 轴),范围 [-10, 10]
config.tiltfloat垂直俯仰(绕 x 轴),范围 [-10, 10]
config.rollfloat滚转(绕 z 轴),范围 [-10, 10]
config.zoomfloat变焦,范围 [-10, 10];负值焦距更长、视野更小

请求示例

curl -X POST https://api.xzzgm.cn/api/v1/kling/v1/videos/text2video \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "model_name": "kling-v3",
  "prompt": "写实风格,晴朗蓝天下的白色雏菊花田",
  "duration": "5",
  "aspect_ratio": "16:9",
  "mode": "pro",
  "sound": "on"
}'

响应示例

{
  "code": 0,
  "message": "ok",
  "data": {
    "task_id": "kling-task-xxxx",
    "task_status": "submitted"
  }
}
curl https://api.xzzgm.cn/api/v1/kling/v1/videos/text2video/kling-task-xxxx \
  -H "Authorization: Bearer YOUR_API_KEY"

图生视频

官方文档:Image to Video

POST /kling/v1/videos/image2video
GET /kling/v1/videos/image2video/{task_id}
互斥规则(平台侧校验):以下三种增强模式同一时间只能使用一种——① 首尾帧(同时传 imageimage_tail);② 运动笔刷(static_maskdynamic_masks,须同时提供 image);③ 运镜(camera_control 含有效 typeconfig,须同时提供 image)。仅传 image 或仅传 image_tail 为普通图生,可与笔刷/运镜组合(但笔刷与运镜仍互斥)。imageimage_tail 不能同时为空。

请求体

参数类型必填默认值说明
model_namestringkling-v1模型名称;平台侧使用模型广场 Model ID。历史字段 model 仍兼容
imagestring条件参考图(首帧/主图)。URL 或 Base64(勿加 data:image/...;base64, 前缀)。jpg/jpeg/png,≤ 10MB,宽/高 ≥ 300px,宽高比 1:2.5 – 2.5:1
image_tailstring条件尾帧控制图;格式同 image。与 image 至少填其一
promptstring正向提示,≤ 2500 字符。可用 <<>> 指定音色(顺序与 voice_list 一致,最多 2 个);指定音色时 sound 须为 on。示例:The man<<>> said: "Hello"
negative_promptstring负向提示,≤ 2500 字符
voice_listarray引用音色,最多 2 项:[{"voice_id": "..."}]voice_id 来自自定义音色或系统预置(对口型 face ID)
soundstringoff是否生成声音。枚举 on / off;通常 V2.6 及之后支持
cfg_scalefloat0.5生成自由度,范围 [0, 1]kling-v2.x 通常不支持
modestringstd枚举 std / pro
static_maskstring静态笔刷遮罩(运动笔刷·静态区)。URL/Base64,格式同 image;宽高比须与 image 一致
dynamic_masksarray动态笔刷,最多 6 组;每组含 masktrajectories
dynamic_masks[].maskstring动态笔刷遮罩图;分辨率须与 static_mask 一致
dynamic_masks[].trajectoriesarray轨迹坐标序列;5s 视频 ≤ 77 点,点数范围 [2, 77];原点为图片左下角
trajectories[].xint轨迹点 x(像素)
trajectories[].yint轨迹点 y(像素)
camera_controlobject运镜控制,子字段同文生视频 · camera_control
durationstring5视频时长(秒)。枚举 510
watermark_infoobject{"enabled": boolean}
callback_urlstring终态回调 URL
external_task_idstring自定义任务 ID,账户内唯一
curl -X POST https://api.xzzgm.cn/api/v1/kling/v1/videos/image2video \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "model_name": "kling-v3",
  "prompt": "让画面中的人物轻轻转头",
  "image": "https://example.com/first-frame.png",
  "duration": "5"
}'
curl https://api.xzzgm.cn/api/v1/kling/v1/videos/image2video/kling-task-yyyy \
  -H "Authorization: Bearer YOUR_API_KEY"

Omni 视频

统一多模态生视频接口,路径与可灵官方 Omni Video 一致:POST /v1/videos/omni-video。适用模型如 kling-v3-omnikling-video-o1(以模型广场授权为准)。

能力概览(单接口覆盖多种场景):

重要约束(与官方一致):
  • 至少提供其一:promptimage_listvideo_list
  • 传入 video_listsound 必须为 off
  • 仅尾帧无效:有 end_frame 时必须同时有 first_frame
  • 参考视频为待编辑(base)时,不能使用首尾帧生视频
  • kling-v3-omni 时长通常 315 秒;kling-video-o1 通常 310
POST /kling/v1/videos/omni-video
GET /kling/v1/videos/omni-video/{task_id}

提示词引用语法

prompt 中用占位符关联参考素材(序号与列表顺序一致,从 1 开始):

占位符对应字段
<<<image_1>>><<<image_2>>>image_list 第 1、2 张参考图
<<<video_1>>>video_list 第 1 段参考视频
<<<element_1>>>element_list 第 1 个主体

请求体

参数类型必填默认值说明
model_namestringOmni 模型,如 kling-v3-omnikling-video-o1
promptstring条件文本提示,≤ 2500 字符;支持 <<<image_1>>> 等占位符。multi_shot=false 时,无图/视频输入时通常必填
image_listarray参考图列表,见下表
video_listarray参考视频列表;传入时 sound 必须为 off
element_listarray主体引用,见下表
modestringstd枚举 std(约 720P)、pro(约 1080P);部分支持 4k
durationstring生成时长(秒)。kling-v3-omni 通常 3–15;kling-video-o1 通常 3–10。refer_type: base 时跟随参考视频
aspect_ratiostring条件16:9枚举 16:99:161:1;无首帧且非视频编辑时通常必填
soundstringoff原生有声。枚举 on / off;有 video_list 时必须 off
multi_shotbooleanfalse多镜头分镜;true 时忽略 prompt,使用 multi_prompt
shot_typestring条件multi_shot=true 时必填。枚举 customizeintelligence
multi_promptarray条件分镜 1–6 镜。项:index(从 1 连续)、prompt(≤ 512 字)、duration(秒);各镜时长之和 = duration
watermark_infoobject{"enabled": boolean}
callback_urlstring终态回调 URL
external_task_idstring自定义任务 ID,账户内唯一

image_list[] 参考图

字段类型说明
image_urlstring图片 URL 或 Base64(勿加 data URI 前缀)
typestring可选。first_frame 首帧;end_frame 尾帧(须同时存在首帧)。不设 type 时可作场景/风格/主体参考图
格式约束jpg/jpeg/png,≤ 10MB,宽/高 ≥ 300px,宽高比 1:2.5 – 2.5:1

video_list[] 参考视频

字段类型说明
video_urlstring公网可访问的视频 URL
refer_typestringbase:待编辑成片(生成时长跟随参考视频,不可用首尾帧);feature:特征/动作/风格参考
keep_original_soundstringyes / no,是否保留参考视频原声
格式约束mp4/mov,时长 3–10s(部分场景可至 15s),分辨率 720–2160px,24–60fps,≤ 200MB

element_list[] 主体引用

三种方式可混用:

方式字段说明
已有主体element_id整数,已创建主体的 ID
Inline 图片主体frontal_image正面参考图 URL/Base64(必填)
refer_images额外参考图 URL 数组
element_name主体名称(可选)
element_description主体描述(可选)
tag_list标签列表(可选),项为 {"tag_id": "..."}
element_voice_id绑定音色 ID(可选)
Inline 视频主体refer_videos参考视频 URL 数组;有参考视频时不支持视频类 inline 主体
场景图片 + 主体数量上限
无参考视频合计 ≤ 7
有参考视频合计 ≤ 4(不支持视频类 inline 主体)
首尾帧生视频主体 ≤ 3;超过 2 张图时不支持尾帧

示例 1 · 纯文生视频

curl -X POST https://api.xzzgm.cn/api/v1/kling/v1/videos/omni-video \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "model_name": "kling-v3-omni",
  "prompt": "金色柴犬在阳光草地上慢镜头奔跑,电影感",
  "mode": "pro",
  "duration": "5",
  "aspect_ratio": "16:9",
  "sound": "off"
}'

示例 2 · 图参考(占位符)

curl -X POST https://api.xzzgm.cn/api/v1/kling/v1/videos/omni-video \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "model_name": "kling-v3-omni",
  "prompt": "参考 <<<image_1>>>,人物向镜头微笑挥手",
  "image_list": [
    { "image_url": "https://example.com/ref.jpg" }
  ],
  "duration": "5",
  "aspect_ratio": "16:9",
  "mode": "std",
  "sound": "off"
}'

示例 3 · 首尾帧图生视频

{
  "model_name": "kling-v3-omni",
  "prompt": "从白天到夜晚的城市天际线,灯光逐渐亮起",
  "mode": "pro",
  "duration": "5",
  "sound": "off",
  "image_list": [
    { "image_url": "https://example.com/day.jpg", "type": "first_frame" },
    { "image_url": "https://example.com/night.jpg", "type": "end_frame" }
  ]
}

示例 4 · 视频编辑(refer_type: base)

{
  "model_name": "kling-v3-omni",
  "prompt": "为画面添加飘雪与冷色调",
  "mode": "pro",
  "aspect_ratio": "16:9",
  "sound": "off",
  "video_list": [
    {
      "video_url": "https://example.com/original.mp4",
      "refer_type": "base",
      "keep_original_sound": "yes"
    }
  ]
}

示例 5 · 多镜头分镜

{
  "model_name": "kling-v3-omni",
  "multi_shot": true,
  "shot_type": "customize",
  "duration": "10",
  "aspect_ratio": "16:9",
  "mode": "pro",
  "sound": "off",
  "multi_prompt": [
    { "index": 1, "prompt": "城堡远景日出 Establishing shot", "duration": "5" },
    { "index": 2, "prompt": "骑士拔剑特写", "duration": "5" }
  ]
}

响应示例(创建)

{
  "code": 0,
  "message": "SUCCEED",
  "data": {
    "task_id": "task_xxxxxxxx",
    "task_status": "submitted"
  }
}

响应示例(查询成功)

{
  "code": 0,
  "message": "SUCCEED",
  "data": {
    "task_id": "task_xxxxxxxx",
    "task_status": "succeed",
    "task_result": {
      "videos": [
        {
          "id": "825406034503692376",
          "url": "https://...",
          "duration": "5.0"
        }
      ]
    }
  }
}
curl https://api.xzzgm.cn/api/v1/kling/v1/videos/omni-video/task_xxxxxxxx \
  -H "Authorization: Bearer YOUR_API_KEY"

动作控制

官方文档:Motion Control。将人物参考图与动作参考视频结合生成视频;成片时长跟随参考视频。

POST/kling/v1/videos/motion-control
GET/kling/v1/videos/motion-control/{task_id}

请求体

参数类型必填默认值说明
model_namestring模型名称(如 kling-v2-6kling-v3
image_urlstring人物参考图 URL 或 Base64;生成视频中人物、背景等元素基于此图
video_urlstring动作参考视频 URL;人物动作与参考视频一致。mp4/mov,最短 3s;最长取决于 character_orientation(见下表)
character_orientationstring生成视频中人物朝向。枚举 image(与参考图一致,参考视频 3–10s)、video(与参考视频一致,参考视频 3–30s
modestringstd枚举 std / pro
promptstring画面补充描述,≤ 2500 字符
negative_promptstring负向提示,≤ 2500 字符
keep_original_soundstringyes是否保留参考视频原声。枚举 yes / no
watermark_infoobject{"enabled": boolean}
callback_urlstring终态回调 URL
external_task_idstring自定义任务 ID,账户内唯一

请求示例

curl -X POST https://api.xzzgm.cn/api/v1/kling/v1/videos/motion-control \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "model_name": "kling-v3",
  "image_url": "https://example.com/person.jpg",
  "video_url": "https://example.com/dance-reference.mp4",
  "prompt": "人物按参考视频动作跳舞",
  "mode": "pro",
  "keep_original_sound": "yes",
  "character_orientation": "video"
}'

对口型

官方文档:Lip-Sync。两步流程:

  1. POST /kling/v1/videos/identify-face(同步)→ 获得 session_idface_id 列表
  2. POST /kling/v1/videos/advanced-lip-sync(异步)→ 轮询 GET .../advanced-lip-sync/{task_id}

identify-face 请求体(同步)

POST/kling/v1/videos/identify-face

同步接口:立即返回人脸分析结果,成功即计费。session_id 供对口型使用。

参数类型必填默认值说明
video_idstring二选一可灵生成的视频 ID;须在有效期内,时长 ≤ 60s
video_urlstring二选一公网视频 URL 或 Base64。MP4/MOV,2–60s,720p/1080p,宽/高 512–2160px

advanced-lip-sync 请求体(异步)

POST/kling/v1/videos/advanced-lip-sync
GET/kling/v1/videos/advanced-lip-sync/{task_id}
参数类型必填默认值说明
session_idstringidentify-face 返回的会话 ID
face_choosearray人脸驱动配置,可为多张脸指定不同音频,见下表
model_namestring对口型模型(可选)
watermark_infoobject{"enabled": boolean}
callback_urlstring终态回调 URL
external_task_idstring自定义任务 ID,账户内唯一

face_choose[]

字段类型必填默认值说明
face_idstringidentify-face 返回的 face_data[].face_id
audio_idstring二选一驱动音频 ID(来自 TTS 等);与 sound_file 互斥
sound_filestring二选一驱动音频 URL 或 Base64;mp3/wav/m4a/aac,≤ 5MB;与 audio_id 互斥
sound_start_timeint音频裁剪起点,单位 毫秒
sound_end_timeint音频裁剪终点,单位 毫秒
sound_insert_timeint音频插入视频时间轴位置,单位 毫秒
sound_volumefloat1.0驱动音频音量,范围 [0, 2]
original_audio_volumefloat1.0原视频人声音量,范围 [0, 2]

identify-face 响应示例

{
  "code": 0,
  "message": "SUCCEED",
  "data": {
    "session_id": "session_xxxxxxxx",
    "face_data": [
      { "face_id": "face_01", "face_image": "https://..." }
    ]
  }
}

advanced-lip-sync 请求示例

curl -X POST https://api.xzzgm.cn/api/v1/kling/v1/videos/advanced-lip-sync \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "session_id": "session_xxxxxxxx",
  "face_choose": [
    {
      "face_id": "face_01",
      "audio_id": "825455158141661278",
      "sound_start_time": 0,
      "sound_end_time": 5000,
      "sound_insert_time": 0,
      "sound_volume": 1.0,
      "original_audio_volume": 0.5
    }
  ]
}'

数字人

官方文档:Avatar。路径为 /videos/avatar/image2video(非顶层 image2video)。

典型链路:先调用 语音合成 TTS 获得 audio_id,再传入本接口;也可直接用 sound_file 传音频 URL/Base64。
POST/kling/v1/videos/avatar/image2video
GET/kling/v1/videos/avatar/image2video/{task_id}

请求体

参数类型必填默认值说明
imagestring数字人参考图 URL 或 Base64(勿加 data URI 前缀)。jpg/jpeg/png,≤ 10MB,宽/高 ≥ 300px;正面人像,人脸清晰无遮挡
audio_idstring二选一驱动音频 ID(来自 TTS 等),有效期约 30 天,时长 2–300s;与 sound_file 互斥
sound_filestring二选一驱动音频 URL 或 Base64;mp3/wav/m4a/aac,≤ 5MB,2–300s;与 audio_id 互斥
promptstring画面与动作补充,≤ 2500 字符
modestringstd枚举 std / pro
callback_urlstring终态回调 URL
external_task_idstring自定义任务 ID,账户内唯一

请求示例(TTS 驱动)

curl -X POST https://api.xzzgm.cn/api/v1/kling/v1/videos/avatar/image2video \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "image": "https://example.com/portrait.jpg",
  "audio_id": "825455158141661278",
  "prompt": "人物面向镜头自然说话",
  "mode": "std"
}'

请求示例(音频 URL 驱动)

{
  "image": "https://example.com/portrait.jpg",
  "sound_file": "https://example.com/speech.mp3",
  "prompt": "人物面向镜头自然说话",
  "mode": "pro"
}

响应示例(查询成功)

{
  "code": 0,
  "message": "SUCCEED",
  "data": {
    "task_id": "task_xxxxxxxx",
    "task_status": "succeed",
    "task_result": {
      "videos": [
        { "id": "825455158141661278", "url": "https://...", "duration": "5.0" }
      ]
    }
  }
}

语音合成(TTS)

官方文档:TTS。同步接口:一次请求返回合成结果,成功即计费。task_result.audios[0].id 可作为 audio_id 用于数字人对口型

POST/kling/v1/audio/tts

请求体

参数类型必填默认值说明
textstring待合成文本,最长 1000 字符
voice_idstring音色 ID,须与 voice_language 匹配;系统预置或自定义音色
voice_languagestring语种。枚举 zhen
voice_speedfloat / string1.0语速,范围 [0.8, 2.0]

请求示例

curl -X POST https://api.xzzgm.cn/api/v1/kling/v1/audio/tts \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "text": "你好,欢迎使用 TokenFusion。",
  "voice_id": "genshin_vindi2",
  "voice_language": "zh",
  "voice_speed": "1.0"
}'

响应示例

{
  "code": 0,
  "message": "SUCCEED",
  "data": {
    "task_id": "task_tts_xxxx",
    "task_status": "succeed",
    "task_result": {
      "audios": [
        {
          "id": "825455158141661278",
          "url": "https://...",
          "duration": "3.2"
        }
      ]
    }
  }
}

数字人、对口型等场景使用 task_result.audios[0].id 作为 audio_id

文生音效

官方文档:Text to Audio。异步:创建后轮询同路径 GET 直至 task_statussucceed

POST/kling/v1/audio/text-to-audio
GET/kling/v1/audio/text-to-audio/{task_id}

请求体

参数类型必填默认值说明
promptstring音效文本描述(环境声、动作声等)
durationfloat / string目标时长(秒),范围 3.0–10.0,支持一位小数(如 7.0
external_task_idstring自定义任务 ID,账户内唯一
callback_urlstring终态回调 URL

请求示例

curl -X POST https://api.xzzgm.cn/api/v1/kling/v1/audio/text-to-audio \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "prompt": "清晨鸟鸣与微风声",
  "duration": 7.0
}'

响应示例(查询成功)

{
  "code": 0,
  "message": "SUCCEED",
  "data": {
    "task_id": "task_audio_xxxx",
    "task_status": "succeed",
    "task_result": {
      "audios": [
        { "id": "...", "url": "https://...", "duration": "7.0" }
      ]
    }
  }
}
curl https://api.xzzgm.cn/api/v1/kling/v1/audio/text-to-audio/task_audio_xxxx \
  -H "Authorization: Bearer YOUR_API_KEY"

视频生音效

官方文档:Video to Audio。为视频生成匹配音效/配乐(异步)。

POST/kling/v1/audio/video-to-audio
GET/kling/v1/audio/video-to-audio/{task_id}

请求体

参数类型必填默认值说明
video_idstring二选一可灵生成的视频 ID;时长 3–20s;与 video_url 互斥
video_urlstring二选一公网视频 URL。MP4/MOV,≤ 100MB,3–20s;与 video_id 互斥
sound_effect_promptstring音效描述(环境声、动作声等)
bgm_promptstring背景音乐/配乐描述
asmr_modebooleanfalseASMR 增强模式
external_task_idstring自定义任务 ID
callback_urlstring终态回调 URL

请求示例

curl -X POST https://api.xzzgm.cn/api/v1/kling/v1/audio/video-to-audio \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "video_id": "825406034503692376",
  "sound_effect_prompt": "与画面氛围匹配的环境音效",
  "bgm_prompt": "轻柔的钢琴背景",
  "asmr_mode": false
}'

响应示例(查询成功)

{
  "code": 0,
  "message": "SUCCEED",
  "data": {
    "task_status": "succeed",
    "task_result": {
      "audios": [
        { "url": "https://...", "duration": "5.0" }
      ]
    }
  }
}
curl https://api.xzzgm.cn/api/v1/kling/v1/audio/video-to-audio/task_v2a_xxxx \
  -H "Authorization: Bearer YOUR_API_KEY"

自定义音色

官方文档:Custom Voices。从人声样本或历史视频提取音色(异步创建 + 轮询)。

POST/kling/v1/general/custom-voices
GET/kling/v1/general/custom-voices/{id}
POST/kling/v1/general/delete-voices

创建请求体(custom-voices)

参数类型必填默认值说明
voice_namestring音色名称
voice_urlstring二选一人声样本 URL。mp3/wav/mp4/mov,干净单人人声 5–30s;与 video_id 互斥
video_idstring二选一从可灵历史成片提取(有声视频、数字人、对口型等);与 voice_url 互斥
callback_urlstring终态回调 URL
external_task_idstring自定义任务 ID,可用于查询

删除请求体(delete-voices)

参数类型必填说明
voice_idstring待删除的音色 ID

创建示例

curl -X POST https://api.xzzgm.cn/api/v1/kling/v1/general/custom-voices \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "voice_name": "my-brand-voice",
  "voice_url": "https://example.com/clean-voice-sample.wav"
}'

查询成功响应(节选)

{
  "code": 0,
  "data": {
    "task_status": "succeed",
    "task_result": {
      "voices": [
        { "voice_id": "829877809978941442", "voice_name": "my-brand-voice" }
      ]
    }
  }
}

删除音色(不计费)

curl -X POST https://api.xzzgm.cn/api/v1/kling/v1/general/delete-voices \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"voice_id": "829877809978941442"}'

删除接口 body 仅需 voice_id;创建类接口轮询路径为 GET /kling/v1/general/custom-voices/{id}{id} 为创建返回的 task/资源 ID。

管理接口 · 查询余额

POST /user/balance

客户可使用平台登录账号和密码查询账户余额。账号即注册邮箱。该接口不会创建登录会话,也不会返回 API Key 或访问令牌;请不要将密码放入 URL Query。

请求体

参数类型必填说明
accountstring二选一登录邮箱;与 email 等价,推荐用 account
emailstring二选一account 的别名
passwordstring平台登录密码

响应体

字段类型说明
accountstring账户邮箱
balancenumber账户总余额(元),保留 4 位小数
reserved_balancenumber已冻结额度(元),如视频任务预冻结
available_balancenumber可用余额 = balance − reserved_balance

请求示例

请求

curl -X POST https://api.xzzgm.cn/api/v1/user/balance \
  -H "Content-Type: application/json" \
  -d '{
    "account": "user@example.com",
    "password": "YourLoginPassword1"
  }'

响应示例

结果返回示例

{
  "account": "user@example.com",
  "balance": 100.0,
  "reserved_balance": 12.5,
  "available_balance": 87.5
}
安全提示:同一 account + client_ip 在 10 分钟内连续 5 次密码错误将被锁定 15 分钟(429)。请使用 POST JSON 传递密码,切勿写入 URL。

模型能力支持

下列列表展示当前账户在模型广场中可见的模型(未登录时展示平台已上架模型)。完整能力说明、参数约束与价格请前往模型广场查看;调用前请确认 Model ID 与您的账户授权一致。

文字 · Seed 生文

显示名Model ID能力标签
doubao-seed-2-1-pro-260628 doubao-seed-2-1-pro-260628 深度思考、文本生成、多模态理解、工具调用
doubao-seed-2-1-turbo-260628 doubao-seed-2-1-turbo-260628 多模态理解、深度思考、工具调用、结构化输出、文本生成

图像 · Seedream 生图

显示名Model ID能力标签
doubao-seedream-5-0-260128 doubao-seedream-5-0-260128 文生图、图生图
doubao-seedream-4-5-251128 doubao-seedream-4-5-251128 文生组图、单图生组图、多参考图生组图

视频 · Seedance 模型

下列模型请使用 /video/generations,见 视频 · Seedance

显示名Model ID能力标签
Seedance 2.0 doubao-seedance-2-0-260128 文生视频、图生视频、首尾帧、有声视频、联网搜索、多模态参考、视频编辑
Seedance 2.0 Fast doubao-seedance-2-0-fast-260128 文生视频、图生视频、首尾帧、有声视频、联网搜索、快速出片
Seedance 1.5 Pro doubao-seedance-1-5-pro-251215 文生视频、图生视频、首尾帧、有声视频、样片模式
Seedance 1.0 Pro Fast doubao-seedance-1-0-pro-fast-251015 文生视频、图生视频、快速出片
doubao-seedance-2.0-mini doubao-seedance-2-0-mini-260615 文生视频、图生视频、首尾帧、有声视频、联网搜索、多模态参考、视频编辑

视频 · 可灵模型

下列模型请使用 /kling/v1/...,见 视频 · 可灵

显示名Model ID能力标签

产品与计费

文字 · Seed 生文

图像 · Seedream 生图

视频 · Seedance

视频 · 可灵

素材库(Assets)

余额查询

管理接口返回的 available_balance 可用于判断视频任务是否可创建。

错误与状态码

HTTP 状态码典型场景响应体格式
200请求成功(生文/生图业务失败时也可能为 HTTP 200 + error 字段)业务 JSON 或 SSE
400参数不合法、视频任务创建被模型服务拒绝{"detail": ...}
401API Key 无效/缺失;余额查询账号或密码错误{"detail":"..."}
402视频任务创建时 TokenFusion 可用余额不足(需预冻结){"detail":"..."}
403账户已禁用;无权调用素材库;无权访问素材引用;模型 ACL 拒绝{"detail":"..."}
404视频任务不存在;素材组/素材不存在(或不属于当前用户){"detail":"..."}
422请求体 JSON Schema 校验失败(如缺少必填字段、类型错误){"detail":[...]}
429视频任务查询轮询过频;余额查询密码错误次数过多{"detail":"..."}
502 / 504平台服务、模型通道或素材库上游不可用/超时{"detail":"..."} 或上游原文 / OpenAI error
503素材库服务未配置;对应模型暂未开放;无可用模型通道(如 当前模型暂无可用接入点{"detail":"..."}

集成建议

  1. 生文流式:设置 stream: true,按 SSE 规范解析 data: 行;深度推理时同时监听 delta.reasoning_contentdelta.content
  2. 生文续写:末条 assistant 消息填前缀,并设 continue_final_message: trueadd_generation_prompt: false
  3. 生文多模态:图片/视频用 Pro 模型;音频理解优先 doubao-seed-2-0-lite-260428,勿在 Chat 中使用 audio_url
  4. 生图流式:设置 stream: true 并传 Accept: text/event-stream;监听 image_generation.partial_succeeded 逐张渲染,以 data: [DONE] 结束。
  5. 生图模式选型:文生图/图生图/融合/组图通过 imagesequential_image_generation 组合切换;联网搜索须使用 Seedream 5.0(doubao-seedream-5-0-260128)。
  6. 视频选型:Seedance 用 /video/generations,可灵用 /kling/v1/...;详见接口分类
  7. Seedance 异步流程:创建任务后每 5~10 秒轮询查询;收到 429 时遵循 Retry-After 退避。
  8. 可灵:请求体字段以可灵章节示例为准;迁移时通常只需替换 Base URL 与 API Key。
  9. 素材入库:仅配合 Seedance;CreateAsset 后轮询 GetAssetActive,再在 content 中用 asset://;素材库用 PascalCase,生视频用小写字段。
  10. 及时转存:视频、生图与素材库返回的 URL 通常有时效(生图 URL 约 24 小时),请在成功后尽快下载到自有存储。
  11. 错误处理:区分平台鉴权/权限错误(detail)与 OpenAI 兼容格式的模型业务错误(error 对象);生图 503 model_not_found 多为 Model ID 未在模型广场绑定渠道。
  12. 余额监控:视频业务建议定期调用余额查询接口或关注控制台用量页。
  13. 模型选型:以模型广场实时列表为准,勿硬编码已下线或未接入的 Model ID。