参数与厂商扩展

核对字段层级、协议差异与 SDK 传参方式。

字段属于具体协议

参数名称、类型和层级应与所用接口一致。下列对照帮助迁移请求,具体参数仍需所选模型支持;采样范围、推理选项和媒体规格不能直接从一个模型套用到另一个模型。

协议 / 模型范围请求体字段类型用法
Chat Completionsmax_tokensinteger输出 Token 上限;部分新模型改用 max_completion_tokens。
Chat Completionsmax_completion_tokensinteger补全 Token 上限;部分模型同时计入可见输出与推理 Token。
Responsesmax_output_tokensinteger输出 Token 上限,部分模型包含推理 Token。
Claude Messagesmax_tokensinteger本次响应允许生成的最大 Token 数,必须为正整数。
Gemini GenerateContentgenerationConfig.maxOutputTokensinteger最大输出 Token 数。
Chat Completionsreasoning_effortstring推理强度;仅限支持该参数的模型。
Responsesreasoning.effortstring推理强度。
Claude Messagesthinking.budget_tokensintegertype=enabled 时的思考 Token 预算;应小于 max_tokens,并满足模型要求。
Gemini GenerateContentgenerationConfig.thinkingConfigobject思考设置;由具体模型决定可用字段。
Chat Completionsresponse_formatobject输出格式约束。
Responsestext.formatobject输出文本格式。
Gemini GenerateContentgenerationConfig.responseJsonSchemaobjectJSON 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 Messagesmetadata.user_idstring应用内终端用户标识。
Responsesmetadataobject键值形式的附加元数据。
视频生成metadataobject模型专用扩展参数。Seedance/Veo 使用扁平字段,Wan/HappyHorse 使用 parameters 嵌套字段;各模型的结构不可互换。MiniMax-H3 的 ratio/content 放在顶层。

下面是 Responses 协议示例,展示 SDK 参数如何形成请求体。将 MODEL_ID 替换为支持 Responses 的账户可用模型。

Python · SDK 参数
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"}},
)
JSON · 最终请求体
{
  "model": "MODEL_ID",
  "input": "用一句话解释 API。",
  "metadata": {
    "project": "demo"
  }
}

视频厂商字段位置

按所选模型与示例构造请求:Seedance 2.5 兼容示例与 Veo 使用扁平 metadata;Wan/HappyHorse 使用 metadata.parameters;MiniMax-H3 的 content、resolution、duration 和 ratio 位于请求体顶层,提示词写入 content[].text,无需再传 prompt。
协议 / 模型范围请求体字段类型用法
Wan 3.0resolutionstring模型专用分辨率字符串。Seedance 2.5 使用 480p/720p/1080p,Wan 3.0 与 HappyHorse 1.1 使用 480P/720P/1080P,MiniMax-H3 使用 768P/2K,Veo 3.1 的参考值为 720p。字段支持情况因模型和通道而异,最终尺寸以输出文件为准。
Wan / HappyHorsemetadata.parameters.resolutionstringWan/HappyHorse 的分辨率选项,例如 480P、720P、1080P。是否采用请求值取决于模型和通道,输出尺寸以实际文件为准。
Wan / HappyHorsemetadata.parameters.ratiostringWan/HappyHorse 的宽高比,例如 16:9;可选值按模型选择。
Wan 3.0metadata.parameters.prompt_extendbooleanWan 提示词扩写选项,false 表示请求关闭扩写;是否生效取决于模型和通道支持。
Wan 3.0metadata.parameters.audiobooleanWan 音轨选项,false 表示请求关闭音频;是否生效取决于通道支持,最终音轨以输出文件为准。
HappyHorse 1.1metadata.parameters.durationintegerHappyHorse 的视频时长,整数 3–15 秒,与顶层 duration/seconds 保持一致。
Seedance / Veometadata.resolutionstring扁平分辨率字段,例如 Seedance 的 480p、Veo 的 720p;支持范围按模型选择。
Seedance 2.5metadata.ratiostring扁平宽高比字段,例如 Seedance 的 16:9。MiniMax-H3 使用顶层 ratio。
Seedance 2.5metadata.durationinteger扁平时长字段。Seedance 文生视频最低 4 秒,与顶层 duration/seconds 保持一致。
Seedance 2.5metadata.generate_audiobooleanSeedance 同步音频开关,false 表示请求不生成同步音频。此字段不用于独立语音合成。
Veo 3.1metadata.aspectRatiostringVeo 原生宽高比,例如 16:9。
Veo 3.1metadata.durationSecondsintegerVeo 原生时长,例如 4,单位为秒。
Veo 3.1metadata.numberOfVideosintegerVeo 原生视频数量,例如 1。
MiniMax-H3ratiostringMiniMax-H3 文生视频(content 仅含 text)必填顶层 ratio,取 21:9、16:9、4:3、1:1、3:4、9:16,不能使用 adaptive。官方图生视频按输入图片自适应;其他模型的参数位置见 metadata。
MiniMax-H3contentarrayMiniMax-H3 原生内容数组。文生视频在顶层提供 type=text 的文本项,下列子字段描述文本项格式。
MiniMax-H3resolutionstring模型专用分辨率字符串。Seedance 2.5 使用 480p/720p/1080p,Wan 3.0 与 HappyHorse 1.1 使用 480P/720P/1080P,MiniMax-H3 使用 768P/2K,Veo 3.1 的参考值为 720p。字段支持情况因模型和通道而异,最终尺寸以输出文件为准。
MiniMax-H3durationnumber视频时长(秒),按具体模型填写整数。原生规格: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;成功的语音响应可能直接是音频字节。