参数与厂商扩展
核对字段层级、协议差异与 SDK 传参方式。
字段属于具体协议
参数名称、类型和层级应与所用接口一致。下列对照帮助迁移请求,具体参数仍需所选模型支持;采样范围、推理选项和媒体规格不能直接从一个模型套用到另一个模型。
| 协议 / 模型范围 | 请求体字段 | 类型 | 用法 |
|---|---|---|---|
| Chat Completions | max_tokens | integer | 输出 Token 上限;部分新模型改用 max_completion_tokens。 |
| Chat Completions | max_completion_tokens | integer | 补全 Token 上限;部分模型同时计入可见输出与推理 Token。 |
| Responses | max_output_tokens | integer | 输出 Token 上限,部分模型包含推理 Token。 |
| Claude Messages | max_tokens | integer | 本次响应允许生成的最大 Token 数,必须为正整数。 |
| Gemini GenerateContent | generationConfig.maxOutputTokens | integer | 最大输出 Token 数。 |
| Chat Completions | reasoning_effort | string | 推理强度;仅限支持该参数的模型。 |
| Responses | reasoning.effort | string | 推理强度。 |
| Claude Messages | thinking.budget_tokens | integer | type=enabled 时的思考 Token 预算;应小于 max_tokens,并满足模型要求。 |
| Gemini GenerateContent | generationConfig.thinkingConfig | object | 思考设置;由具体模型决定可用字段。 |
| Chat Completions | response_format | object | 输出格式约束。 |
| Responses | text.format | object | 输出文本格式。 |
| Gemini GenerateContent | generationConfig.responseJsonSchema | object | JSON Schema 形式的响应约束;不与 responseSchema 同时使用,需模型支持。 |
metadata 与 SDK extra_body
metadata 是某些接口的请求体字段,含义由接口定义:Messages 的 metadata.user_id 用于用户标识,Responses 的 metadata 用于附加键值,视频接口的 metadata 可承载模型专用选项。字段同名不代表用途或结构相同。
extra_body 是 OpenAI Python SDK 的调用选项,用于把字段加入最终 JSON 请求体;它自身不会作为 JSON 中的 extra_body 字段发送。SDK 能发送一个字段,也仍需目标接口和模型接受该字段。字段已由 SDK 提供时优先使用命名参数,并避免在两处重复设置同一字段。
| 协议 / 模型范围 | 请求体字段 | 类型 | 用法 |
|---|---|---|---|
| Claude Messages | metadata.user_id | string | 应用内终端用户标识。 |
| Responses | metadata | object | 键值形式的附加元数据。 |
| 视频生成 | metadata | object | 模型专用扩展参数。Seedance/Veo 使用扁平字段,Wan/HappyHorse 使用 parameters 嵌套字段;各模型的结构不可互换。MiniMax-H3 的 ratio/content 放在顶层。 |
下面是 Responses 协议示例,展示 SDK 参数如何形成请求体。将 MODEL_ID 替换为支持 Responses 的账户可用模型。
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["KEDANG_API_KEY"],
base_url="https://ai.kedang.net/v1",
)
response = client.responses.create(
model="MODEL_ID",
input="用一句话解释 API。",
extra_body={"metadata": {"project": "demo"}},
){
"model": "MODEL_ID",
"input": "用一句话解释 API。",
"metadata": {
"project": "demo"
}
}视频厂商字段位置
| 协议 / 模型范围 | 请求体字段 | 类型 | 用法 |
|---|---|---|---|
| Wan 3.0 | resolution | string | 模型专用分辨率字符串。Seedance 2.5 使用 480p/720p/1080p,Wan 3.0 与 HappyHorse 1.1 使用 480P/720P/1080P,MiniMax-H3 使用 768P/2K,Veo 3.1 的参考值为 720p。字段支持情况因模型和通道而异,最终尺寸以输出文件为准。 |
| Wan / HappyHorse | metadata.parameters.resolution | string | Wan/HappyHorse 的分辨率选项,例如 480P、720P、1080P。是否采用请求值取决于模型和通道,输出尺寸以实际文件为准。 |
| Wan / HappyHorse | metadata.parameters.ratio | string | Wan/HappyHorse 的宽高比,例如 16:9;可选值按模型选择。 |
| Wan 3.0 | metadata.parameters.prompt_extend | boolean | Wan 提示词扩写选项,false 表示请求关闭扩写;是否生效取决于模型和通道支持。 |
| Wan 3.0 | metadata.parameters.audio | boolean | Wan 音轨选项,false 表示请求关闭音频;是否生效取决于通道支持,最终音轨以输出文件为准。 |
| HappyHorse 1.1 | metadata.parameters.duration | integer | HappyHorse 的视频时长,整数 3–15 秒,与顶层 duration/seconds 保持一致。 |
| Seedance / Veo | metadata.resolution | string | 扁平分辨率字段,例如 Seedance 的 480p、Veo 的 720p;支持范围按模型选择。 |
| Seedance 2.5 | metadata.ratio | string | 扁平宽高比字段,例如 Seedance 的 16:9。MiniMax-H3 使用顶层 ratio。 |
| Seedance 2.5 | metadata.duration | integer | 扁平时长字段。Seedance 文生视频最低 4 秒,与顶层 duration/seconds 保持一致。 |
| Seedance 2.5 | metadata.generate_audio | boolean | Seedance 同步音频开关,false 表示请求不生成同步音频。此字段不用于独立语音合成。 |
| Veo 3.1 | metadata.aspectRatio | string | Veo 原生宽高比,例如 16:9。 |
| Veo 3.1 | metadata.durationSeconds | integer | Veo 原生时长,例如 4,单位为秒。 |
| Veo 3.1 | metadata.numberOfVideos | integer | Veo 原生视频数量,例如 1。 |
| MiniMax-H3 | ratio | string | MiniMax-H3 文生视频(content 仅含 text)必填顶层 ratio,取 21:9、16:9、4:3、1:1、3:4、9:16,不能使用 adaptive。官方图生视频按输入图片自适应;其他模型的参数位置见 metadata。 |
| MiniMax-H3 | content | array | MiniMax-H3 原生内容数组。文生视频在顶层提供 type=text 的文本项,下列子字段描述文本项格式。 |
| MiniMax-H3 | resolution | string | 模型专用分辨率字符串。Seedance 2.5 使用 480p/720p/1080p,Wan 3.0 与 HappyHorse 1.1 使用 480P/720P/1080P,MiniMax-H3 使用 768P/2K,Veo 3.1 的参考值为 720p。字段支持情况因模型和通道而异,最终尺寸以输出文件为准。 |
| MiniMax-H3 | duration | number | 视频时长(秒),按具体模型填写整数。原生规格:Wan 3.0 为 2–30 秒,Seedance 2.5 文生为 4–30 秒,HappyHorse 1.1 文生为 3–15 秒,MiniMax-H3 为 4–15 秒,Veo 3.1 为 4/6/8 秒。 |
大小写也属于参数值:480p 与 480P 按模型分别填写。同时传入多处时长或分辨率字段时应保持一致。最终音轨和尺寸以结果文件为准。
Seedance 2.0 多模态格式:平台接入文档使用顶层 content[],文本写入 text,图片、视频与音频写入对应的 *_url.url,用 role 区分首尾帧与参考素材;duration、resolution、ratio、generate_audio 写在顶层。这组示例使用 Doubao-Seedance-2.0-fast,不要将全部字段移入 metadata。查看六种输入组合与参数 →
MiniMax-H3 请求参数与调用示例 →:使用 H3 的 content 格式和平台任务查询响应,避免混用其他视频模型的字段。
构造请求时的边界
- JSON 中的数字、布尔值和数组应保持原类型;例如
stream使用布尔值,seconds在对应视频协议中使用字符串。 - 文件上传使用接口要求的 multipart/form-data;让客户端设置 boundary。JSON 扩展参数不能代替文件字段。
- 未知参数、超范围值或错误嵌套应先按接口说明修正。将参数移入 metadata 不会自动获得兼容性。
- 响应字段也有协议差异:Chat Completions 读取 choices,Responses 读取 output,Gemini 读取 candidates;成功的语音响应可能直接是音频字节。