Seedance 2.0 Fast · 查询单个模型
模型对象包含 slug、name、type、vendor、params 和 providers。每个渠道提供 params、prices、billing,支持根据公开字段在前端本地报价。
/api/v1/models/{slug}公开接口 · 无需 API Key此模型使用的接口
/generations创建生成任务GET/generations/{id}获取结果POST/generations/{id}/cancel取消任务POST/quote报价GET/models/{slug}查询单个模型选择供应商可查看其实际参数限制。自动路由会选择支持所传参数的供应商。示例包含默认值和必填输入,请将示例媒体地址替换为可访问的文件。
价格数据在哪里
GET /api/v1/models 返回 object=list 和 data 数组。普通目录的每个模型包含 slug、params 和 providers;从 data[].providers[] 选择渠道后,读取该渠道的 prices、params、billing。GET /api/v1/models/模型slug 直接返回模型对象,不包裹 data。
带 project 查询参数时,data[] 中每项已指定 provider,prices、params、billing 直接位于模型对象上,没有 providers 数组。项目 prices[] 仅含 unit、conditions、priceMicros,billing.priceScope=project、creditsPerUsd=null。项目自定义模型名应从此列表读取,模型详情接口不解析 project。
接口无需 API Key。浏览器跨域读取请使用 /api/v1/models;普通目录允许公开跨域,项目目录遵守配置的域名限制。目录缓存 60 秒。下面价格为演示值,接入时读取实时响应,不要写死;报价不锁价。完整的五类计费规则见 /docs/quote。
模型级字段:图标与价格区间
每个模型对象还带有用于列表展示的图标和价格区间。价格区间是所有渠道、所有价格规则里每单位单价的最低值和最高值,已包含网关售价设置;它不是本次请求总价,两端的计费单位也可能不同。具体报价请读取所选渠道的 prices。
data[]
| 字段 | 类型 | 含义与用法 |
|---|---|---|
iconUrl | string | null | 模型图标的完整 URL(SVG 或 WebP),没有图标时为 null。 |
iconMono | boolean | 为 true 时表示图标是单一深色,深色背景下需要反色显示。 |
fromMicros | number | null | 所有渠道中最低的每单位单价,单位为微美元;模型没有价格时为 null。 |
maxMicros | number | null | 所有渠道中最高的每单位单价,单位为微美元;模型没有价格时为 null。 |
fromUnit / maxUnit | string | null | fromMicros / maxMicros 对应的计费单位(request / second / image / kchar / input_token / output_token)。展示价格时必须带上单位。 |
fromOriginalMicros / maxOriginalMicros | number | null | 最低价 / 最高价那条规则有折扣时的原价,没有折扣时为 null,仅用于展示。 |
使用说明
项目目录(?project=)同样返回 iconUrl、iconMono、fromMicros、fromUnit、maxMicros、maxUnit,价格已乘项目倍率;不返回 fromOriginalMicros 和 maxOriginalMicros。
params:输入参数定义
模型 params 描述模型整体能力;渠道 params 描述该渠道实际支持的参数。billing.modelParams、billing.upstreamParams 使用相同的字段结构。以下表格描述数组中的一个参数对象,可选字段可能不出现在 JSON 中。
params[]
| 字段 | 类型 | 含义与用法 |
|---|---|---|
name | string | 输入字段名,例如 prompt、duration、num_images。 |
type | string | text / string 为文本;integer 为整数;number 为数值;boolean 为布尔值;enum 为枚举;image 为一个 http(s) 图片 URL;images 为图片 URL 数组。 |
label / description | string | 显示名称和说明;缺省时可直接展示 name。 |
required | boolean | 是否必填,缺省为 false;补默认值后仍为空的必填项不能提交。 |
default | string | number | boolean | 输入缺省、null 或空字符串时使用的默认值;缺省不等于 0。 |
options | array | 允许的字符串、数字或布尔值列表。enum 必须从列表中选择,并保留选项值的类型。 |
min / max | number | 数值型参数的最小值与最大值,包含边界;integer 还必须为整数。 |
maxItems | number | images 参数最多允许的图片数。 |
maxLength | number | 文本最大长度,按 JavaScript 字符串 length 统计;文本仍受 10,000 长度上限约束,未设置时默认 10,000。 |
使用说明
准备参数:billing.version=1 为当前计算契约;billing.unavailableReason 非空时不可报价。先按 billing.modelParams 校验模型输入,再按渠道 params 的类型、required、default、options、min/max 等约束校验并补默认值;存在 billing.upstreamParams 时,以其校验结果和默认值作为最终输入。渠道或上游不支持的字段,只有其值等于模型默认值时才忽略,否则报错。mode 根据最终参数定义中的 image/images 字段是否有值推导为 image 或 text,不直接使用用户指定的 mode。
prices:价格规则
prices 是价格规则数组,不是本次请求的总价。先补齐并校验参数,再选规则;普通计费按 unit 得到数量后计算 round(priceMicros × 数量)。次数为 1,秒数取 duration,图片数取 num_images,字符数按 characterBilling 处理后除以 1,000;秒数、图片数均最低为 1。
prices[]
| 字段 | 类型 | 含义与用法 |
|---|---|---|
unit | string | request / second / image / kchar / input_token / output_token;分别按次、秒、张、千字符、百万输入 Token、百万输出 Token 计价。 |
conditions | object | 条件名到字符串、数字或布尔值的映射。空对象表示无条件;普通规则全部匹配后优先选条件最多的一条。Token 的 min_input_tokens 为输入长度档位,缺省为 0。 |
priceMicros | number | 每个计费单位的微美元单价,1,000,000 微美元 = 1 美元。已经包含网关售价设置;项目目录还已包含项目倍率,不再乘折扣或加价倍率。 |
originalMicros | number | null | 普通目录返回的对比原价单价;null 表示没有可展示的折扣原价。项目目录不返回此字段。 |
credits | number | 普通目录返回的规则展示积分,不能乘本次用量当作总积分。总积分必须从总美元金额与 billing.creditsPerUsd 换算。项目目录不返回此字段。 |
使用说明
按次、秒、图片和字符计费时,用最终输入匹配 prices[].conditions:条件全部满足才可选,比较时将值转为字符串;匹配规则中条件最多的一条优先,同等条件数量保留接口返回顺序。Token 按下文的输入长度档位选价。
输入、输出分别计价,单价均对应 1,000,000 Token。使用输入 Token 数,分别从两类规则中选择 min_input_tokens 不超过该数量且阈值最高的一条;未设置阈值视为 0,同档位保留返回顺序。输出价格的档位也由输入 Token 数决定。
总微美元 = ceil(输入单价 × 输入 Token 数 / 1,000,000 + 输出单价 × 输出 Token 数 / 1,000,000)。先合计再向上取整,不要分别取整。例:输入单价 1,000,000、输出单价 2,000,000 微美元,输入 1,000 Token、输出 500 Token,总价为 0.002 美元。Token 数不是字符数;未知输出量只能预估。
上面的 round 表示四舍五入到整数微美元(Math.round),ceil 表示向上取整(Math.ceil)。美元金额 = 总微美元 / 1,000,000。billing.creditsPerUsd 非空时,积分 = max(1, ceil(美元金额 × creditsPerUsd - 1e-9));最低 1 积分,减去 1e-9 用于避免浮点误差造成多扣。例:0.40 美元、每美元 250 积分,对应 100 积分。
下面普通目录示例的默认时长为 5 秒,每秒 200,000 微美元:总价 1 美元,每美元 250 积分,所以本次为 250 积分,不能直接拿单价展示积分 50 当总积分。项目目录示例每秒 240,000 微美元,5 秒为 1.20 美元;这是转售价,不返回网关积分。
billing:计算与结算规则
billing 为每个价格来源提供计算规则,不包含密钥或上游成本。下面的嵌套字段以 billing 为起点;缺少可选对象表示该规则不适用,不要自行补出字符块或音频预留量。
billing
| 字段 | 类型 | 含义与用法 |
|---|---|---|
version | number | 当前为 1。表示计算规则版本,不是锁价凭证;不支持的版本应停止报价并刷新目录。 |
priceScope | "gateway" | "project" | gateway 为网关收费价;project 为项目转售展示价,已含项目倍率。 |
creditsPerUsd | number | null | 每美元对应的网关积分数;项目目录为 null,不据此计算网关扣费积分。 |
modelParams | array | 模型层参数定义,结构同 params[],先用它校验输入。 |
upstreamParams | array | 最终计费所用参数定义,结构同 params[];存在时在渠道校验之后再用它校验并补默认值。 |
characterBilling | object | 按字符计费的附加规则。缺省时统计 prompt 的 JavaScript 字符串 length,至少 1 个字符,不自动按整千取整。 |
characterBilling.fields | string[] | 需要合计字符数的输入字段名;仅在 characterBilling 存在时返回。缺省输入按空字符串计算。 |
characterBilling.minimum | number | 最低计费字符数;仅在 characterBilling 存在时返回。 |
characterBilling.block | number | 字符数先向上取整到该块大小的倍数,再应用 minimum;省略或为 0 时不做块取整。 |
metering | object | 存在时按音频用量计费,生成前报价为 Token 预留金额;最终结算可能不同。 |
metering.outputTokenHold | number | 预留输出 Token 数;仅在 metering 存在时返回。 |
metering.providerCost | boolean | true 表示最终费用依赖上游报告,不能仅凭公开单价推算最终费用;省略或 false 时按实际 Token 用量结算。 |
unavailableReason | string | 当前配置不可报价的原因。非空时停止计算并提示用户,不显示为免费。 |
使用说明
音频预留:存在 billing.metering 时,先将 prompt 与 style_instructions 拼接,取 UTF-8 字节数 + 256 作为输入 Token 估值,输出 Token 取 outputTokenHold,再用上述 Token 公式计算预留金额。最终按真实用量结算;providerCost=true 时以所需的上游费用报告进行结算。
项目售价:billing.priceScope=project 的单价已包含项目售价倍率,不要重复加价;billing.creditsPerUsd=null,不能据此计算网关扣费积分。POST /quote 即使携带 project,返回的仍是网关收费价和积分,不包含项目转售加价。
一致性:同一价格配置、指定渠道与输入下,按上述规则计算可与后端保持一致。目录缓存 60 秒,更新价格后需重新获取;前端报价不锁价。自动路由还考虑渠道可用性、优先级和熔断,本地最低价不保证实际成交价。参数不合法、版本不支持或无匹配价格时应提示无法报价,不能显示为免费。
输入参数
查询 / 路径参数slugstring · path必填模型目录中的 slug;项目密钥也可使用项目自定义的模型 slug。
可选值:"seedance-2.0-fast"
输出字段
slugstring模型目录中的 slug;项目密钥也可使用项目自定义的模型 slug。
paramsarray参数定义:name、type、required、default、options,以及已配置的 min、max、maxItems、maxLength。
providersarray可用供应商、各自的参数约束及公开价格档位。
iconUrlstring | null模型图标的完整 URL(SVG 或 WebP),没有图标时为 null。
iconMonoboolean为 true 时表示图标是单一深色,深色背景下需要反色显示。
请求
curl 'https://01router.com/api/v1/models/seedance-2.0-fast'响应示例
{
"slug": "seedance-2.0-fast",
"name": "Seedance 2.0 Fast",
"type": "video",
"vendor": "ByteDance",
"description": "Seedance 2.0 at a lower price and faster turnaround (480p/720p), with first/last frame and image/video/audio references.",
"tags": [
"text-to-video",
"image-to-video",
"reference-to-video",
"audio",
"fast"
],
"coverUrl": "",
"iconUrl": "https://01router.com/models/bytedance-80.webp",
"iconMono": false,
"params": [
{
"name": "prompt",
"type": "text",
"label": "Prompt",
"required": true
},
{
"name": "image_url",
"type": "image",
"label": "First frame",
"description": "Optional start image (image-to-video)"
},
{
"name": "end_image_url",
"type": "image",
"label": "Last frame"
},
{
"name": "image_urls",
"type": "images",
"label": "Reference images",
"description": "Reference-to-video images; cite them in the prompt as the model documents",
"maxItems": 9,
"mode": "reference"
},
{
"name": "video_urls",
"type": "videos",
"label": "Videos",
"description": "MP4/MOV references, or the clip to edit/extend; input seconds are billed",
"maxItems": 3
},
{
"name": "audio_urls",
"type": "audios",
"label": "Reference audio",
"description": "Needs a reference image or video",
"maxItems": 3
},
{
"name": "task",
"type": "enum",
"label": "Video task",
"description": "With video_urls: use them as references, edit the first one, or extend it",
"options": [
"reference",
"edit",
"extend"
]
},
{
"name": "duration",
"type": "integer",
"label": "Duration (s)",
"min": 4,
"max": 15,
"default": 5
},
{
"name": "resolution",
"type": "enum",
"label": "Resolution",
"options": [
"480p",
"720p"
],
"default": "720p"
},
{
"name": "aspect_ratio",
"type": "enum",
"label": "Aspect ratio",
"options": [
"16:9",
"9:16",
"1:1",
"4:3",
"3:4",
"21:9"
],
"default": "16:9"
},
{
"name": "generate_audio",
"type": "boolean",
"label": "Generate audio",
"default": true
}
],
"providers": [
{
"provider": "fal",
"providerName": "fal.ai",
"discount": 90,
"preferred": false,
"params": [
{
"name": "prompt",
"type": "text",
"label": "Prompt",
"required": true
},
{
"name": "image_url",
"type": "image",
"label": "First frame",
"description": "Optional start image (image-to-video)"
},
{
"name": "end_image_url",
"type": "image",
"label": "Last frame"
},
{
"name": "image_urls",
"type": "images",
"label": "Reference images",
"description": "Reference-to-video images; cite them in the prompt as the model documents",
"maxItems": 9,
"mode": "reference"
},
{
"name": "video_urls",
"type": "videos",
"label": "Videos",
"description": "MP4/MOV references, or the clip to edit/extend; input seconds are billed",
"maxItems": 3
},
{
"name": "audio_urls",
"type": "audios",
"label": "Reference audio",
"description": "Needs a reference image or video",
"maxItems": 3
},
{
"name": "task",
"type": "enum",
"label": "Video task",
"description": "With video_urls: use them as references, edit the first one, or extend it",
"options": [
"reference"
],
"default": "reference"
},
{
"name": "duration",
"type": "integer",
"label": "Duration (s)",
"min": 4,
"max": 15,
"default": 5
},
{
"name": "resolution",
"type": "enum",
"label": "Resolution",
"options": [
"720p"
],
"default": "720p"
},
{
"name": "aspect_ratio",
"type": "enum",
"label": "Aspect ratio",
"options": [
"16:9",
"9:16",
"1:1",
"4:3",
"3:4",
"21:9"
],
"default": "16:9"
},
{
"name": "generate_audio",
"type": "boolean",
"label": "Generate audio",
"default": true
}
],
"billing": {
"version": 1,
"priceScope": "gateway",
"creditsPerUsd": 100,
"modelParams": [
{
"name": "prompt",
"type": "text",
"label": "Prompt",
"required": true
},
{
"name": "image_url",
"type": "image",
"label": "First frame",
"description": "Optional start image (image-to-video)"
},
{
"name": "end_image_url",
"type": "image",
"label": "Last frame"
},
{
"name": "image_urls",
"type": "images",
"label": "Reference images",
"description": "Reference-to-video images; cite them in the prompt as the model documents",
"maxItems": 9,
"mode": "reference"
},
{
"name": "video_urls",
"type": "videos",
"label": "Videos",
"description": "MP4/MOV references, or the clip to edit/extend; input seconds are billed",
"maxItems": 3
},
{
"name": "audio_urls",
"type": "audios",
"label": "Reference audio",
"description": "Needs a reference image or video",
"maxItems": 3
},
{
"name": "task",
"type": "enum",
"label": "Video task",
"description": "With video_urls: use them as references, edit the first one, or extend it",
"options": [
"reference",
"edit",
"extend"
]
},
{
"name": "duration",
"type": "integer",
"label": "Duration (s)",
"min": 4,
"max": 15,
"default": 5
},
{
"name": "resolution",
"type": "enum",
"label": "Resolution",
"options": [
"480p",
"720p"
],
"default": "720p"
},
{
"name": "aspect_ratio",
"type": "enum",
"label": "Aspect ratio",
"options": [
"16:9",
"9:16",
"1:1",
"4:3",
"3:4",
"21:9"
],
"default": "16:9"
},
{
"name": "generate_audio",
"type": "boolean",
"label": "Generate audio",
"default": true
}
]
},
"prices": [
{
"unit": "second",
"conditions": {
"resolution": "720p"
},
"priceMicros": 217710,
"originalMicros": 241900,
"credits": 22
},
{
"unit": "second",
"conditions": {
"mode": "video",
"resolution": "720p"
},
"priceMicros": 130626,
"originalMicros": 145140,
"credits": 14
}
]
},
{
"provider": "kie",
"providerName": "KIE AI",
"discount": 90,
"preferred": false,
"params": [
{
"name": "prompt",
"type": "text",
"label": "Prompt",
"required": true
},
{
"name": "image_url",
"type": "image",
"label": "First frame",
"description": "Optional start image (image-to-video)"
},
{
"name": "end_image_url",
"type": "image",
"label": "Last frame"
},
{
"name": "image_urls",
"type": "images",
"label": "Reference images",
"description": "Reference-to-video images; cite them in the prompt as the model documents",
"maxItems": 9,
"mode": "reference"
},
{
"name": "video_urls",
"type": "videos",
"label": "Videos",
"description": "MP4/MOV references, or the clip to edit/extend; input seconds are billed",
"maxItems": 3
},
{
"name": "audio_urls",
"type": "audios",
"label": "Reference audio",
"description": "Needs a reference image or video",
"maxItems": 3
},
{
"name": "task",
"type": "enum",
"label": "Video task",
"description": "With video_urls: use them as references, edit the first one, or extend it",
"options": [
"reference"
],
"default": "reference"
},
{
"name": "duration",
"type": "integer",
"label": "Duration (s)",
"min": 4,
"max": 15,
"default": 5
},
{
"name": "resolution",
"type": "enum",
"label": "Resolution",
"options": [
"480p",
"720p"
],
"default": "720p"
},
{
"name": "aspect_ratio",
"type": "enum",
"label": "Aspect ratio",
"options": [
"16:9",
"9:16",
"1:1",
"4:3",
"3:4",
"21:9"
],
"default": "16:9"
},
{
"name": "generate_audio",
"type": "boolean",
"label": "Generate audio",
"default": true
}
],
"billing": {
"version": 1,
"priceScope": "gateway",
"creditsPerUsd": 100,
"modelParams": [
{
"name": "prompt",
"type": "text",
"label": "Prompt",
"required": true
},
{
"name": "image_url",
"type": "image",
"label": "First frame",
"description": "Optional start image (image-to-video)"
},
{
"name": "end_image_url",
"type": "image",
"label": "Last frame"
},
{
"name": "image_urls",
"type": "images",
"label": "Reference images",
"description": "Reference-to-video images; cite them in the prompt as the model documents",
"maxItems": 9,
"mode": "reference"
},
{
"name": "video_urls",
"type": "videos",
"label": "Videos",
"description": "MP4/MOV references, or the clip to edit/extend; input seconds are billed",
"maxItems": 3
},
{
"name": "audio_urls",
"type": "audios",
"label": "Reference audio",
"description": "Needs a reference image or video",
"maxItems": 3
},
{
"name": "task",
"type": "enum",
"label": "Video task",
"description": "With video_urls: use them as references, edit the first one, or extend it",
"options": [
"reference",
"edit",
"extend"
]
},
{
"name": "duration",
"type": "integer",
"label": "Duration (s)",
"min": 4,
"max": 15,
"default": 5
},
{
"name": "resolution",
"type": "enum",
"label": "Resolution",
"options": [
"480p",
"720p"
],
"default": "720p"
},
{
"name": "aspect_ratio",
"type": "enum",
"label": "Aspect ratio",
"options": [
"16:9",
"9:16",
"1:1",
"4:3",
"3:4",
"21:9"
],
"default": "16:9"
},
{
"name": "generate_audio",
"type": "boolean",
"label": "Generate audio",
"default": true
}
]
},
"prices": [
{
"unit": "second",
"conditions": {
"resolution": "480p"
},
"priceMicros": 53100,
"originalMicros": 59000,
"credits": 6
},
{
"unit": "second",
"conditions": {
"resolution": "720p"
},
"priceMicros": 111600,
"originalMicros": 124000,
"credits": 12
},
{
"unit": "second",
"conditions": {
"mode": "video",
"resolution": "480p"
},
"priceMicros": 30600,
"originalMicros": 34000,
"credits": 4
},
{
"unit": "second",
"conditions": {
"mode": "video",
"resolution": "720p"
},
"priceMicros": 67500,
"originalMicros": 75000,
"credits": 7
}
]
},
{
"provider": "apimart",
"providerName": "APIMart",
"discount": 90,
"preferred": false,
"params": [
{
"name": "prompt",
"type": "text",
"label": "Prompt",
"required": true
},
{
"name": "image_url",
"type": "image",
"label": "First frame",
"description": "Optional start image (image-to-video)"
},
{
"name": "end_image_url",
"type": "image",
"label": "Last frame"
},
{
"name": "image_urls",
"type": "images",
"label": "Reference images",
"description": "Reference-to-video images; cite them in the prompt as the model documents",
"maxItems": 9,
"mode": "reference"
},
{
"name": "video_urls",
"type": "videos",
"label": "Videos",
"description": "MP4/MOV references, or the clip to edit/extend; input seconds are billed",
"maxItems": 3
},
{
"name": "audio_urls",
"type": "audios",
"label": "Reference audio",
"description": "Needs a reference image or video",
"maxItems": 3
},
{
"name": "task",
"type": "enum",
"label": "Video task",
"description": "With video_urls: use them as references, edit the first one, or extend it",
"options": [
"reference"
],
"default": "reference"
},
{
"name": "duration",
"type": "integer",
"label": "Duration (s)",
"min": 4,
"max": 15,
"default": 5
},
{
"name": "resolution",
"type": "enum",
"label": "Resolution",
"options": [
"480p",
"720p"
],
"default": "720p"
},
{
"name": "aspect_ratio",
"type": "enum",
"label": "Aspect ratio",
"options": [
"16:9",
"9:16",
"1:1",
"4:3",
"3:4",
"21:9"
],
"default": "16:9"
},
{
"name": "generate_audio",
"type": "boolean",
"label": "Generate audio",
"default": true
}
],
"billing": {
"version": 1,
"priceScope": "gateway",
"creditsPerUsd": 100,
"modelParams": [
{
"name": "prompt",
"type": "text",
"label": "Prompt",
"required": true
},
{
"name": "image_url",
"type": "image",
"label": "First frame",
"description": "Optional start image (image-to-video)"
},
{
"name": "end_image_url",
"type": "image",
"label": "Last frame"
},
{
"name": "image_urls",
"type": "images",
"label": "Reference images",
"description": "Reference-to-video images; cite them in the prompt as the model documents",
"maxItems": 9,
"mode": "reference"
},
{
"name": "video_urls",
"type": "videos",
"label": "Videos",
"description": "MP4/MOV references, or the clip to edit/extend; input seconds are billed",
"maxItems": 3
},
{
"name": "audio_urls",
"type": "audios",
"label": "Reference audio",
"description": "Needs a reference image or video",
"maxItems": 3
},
{
"name": "task",
"type": "enum",
"label": "Video task",
"description": "With video_urls: use them as references, edit the first one, or extend it",
"options": [
"reference",
"edit",
"extend"
]
},
{
"name": "duration",
"type": "integer",
"label": "Duration (s)",
"min": 4,
"max": 15,
"default": 5
},
{
"name": "resolution",
"type": "enum",
"label": "Resolution",
"options": [
"480p",
"720p"
],
"default": "720p"
},
{
"name": "aspect_ratio",
"type": "enum",
"label": "Aspect ratio",
"options": [
"16:9",
"9:16",
"1:1",
"4:3",
"3:4",
"21:9"
],
"default": "16:9"
},
{
"name": "generate_audio",
"type": "boolean",
"label": "Generate audio",
"default": true
}
]
},
"prices": [
{
"unit": "second",
"conditions": {
"resolution": "480p"
},
"priceMicros": 35820,
"originalMicros": 39800,
"credits": 4
},
{
"unit": "second",
"conditions": {
"resolution": "720p"
},
"priceMicros": 77040,
"originalMicros": 85600,
"credits": 8
},
{
"unit": "second",
"conditions": {
"mode": "video",
"resolution": "480p"
},
"priceMicros": 21330,
"originalMicros": 23700,
"credits": 3
},
{
"unit": "second",
"conditions": {
"mode": "video",
"resolution": "720p"
},
"priceMicros": 46170,
"originalMicros": 51300,
"credits": 5
}
]
},
{
"provider": "atlascloud",
"providerName": "AtlasCloud",
"discount": 90,
"preferred": false,
"params": [
{
"name": "prompt",
"type": "text",
"label": "Prompt",
"required": true
},
{
"name": "image_url",
"type": "image",
"label": "First frame",
"description": "Optional start image (image-to-video)"
},
{
"name": "end_image_url",
"type": "image",
"label": "Last frame"
},
{
"name": "image_urls",
"type": "images",
"label": "Reference images",
"description": "Reference-to-video images; cite them in the prompt as the model documents",
"maxItems": 9,
"mode": "reference"
},
{
"name": "video_urls",
"type": "videos",
"label": "Videos",
"description": "MP4/MOV references, or the clip to edit/extend; input seconds are billed",
"maxItems": 3
},
{
"name": "audio_urls",
"type": "audios",
"label": "Reference audio",
"description": "Needs a reference image or video",
"maxItems": 3
},
{
"name": "task",
"type": "enum",
"label": "Video task",
"description": "With video_urls: use them as references, edit the first one, or extend it",
"options": [
"reference"
],
"default": "reference"
},
{
"name": "duration",
"type": "integer",
"label": "Duration (s)",
"min": 4,
"max": 15,
"default": 5
},
{
"name": "resolution",
"type": "enum",
"label": "Resolution",
"options": [
"480p",
"720p"
],
"default": "720p"
},
{
"name": "aspect_ratio",
"type": "enum",
"label": "Aspect ratio",
"options": [
"16:9",
"9:16",
"1:1",
"4:3",
"3:4",
"21:9"
],
"default": "16:9"
},
{
"name": "generate_audio",
"type": "boolean",
"label": "Generate audio",
"default": true
}
],
"billing": {
"version": 1,
"priceScope": "gateway",
"creditsPerUsd": 100,
"modelParams": [
{
"name": "prompt",
"type": "text",
"label": "Prompt",
"required": true
},
{
"name": "image_url",
"type": "image",
"label": "First frame",
"description": "Optional start image (image-to-video)"
},
{
"name": "end_image_url",
"type": "image",
"label": "Last frame"
},
{
"name": "image_urls",
"type": "images",
"label": "Reference images",
"description": "Reference-to-video images; cite them in the prompt as the model documents",
"maxItems": 9,
"mode": "reference"
},
{
"name": "video_urls",
"type": "videos",
"label": "Videos",
"description": "MP4/MOV references, or the clip to edit/extend; input seconds are billed",
"maxItems": 3
},
{
"name": "audio_urls",
"type": "audios",
"label": "Reference audio",
"description": "Needs a reference image or video",
"maxItems": 3
},
{
"name": "task",
"type": "enum",
"label": "Video task",
"description": "With video_urls: use them as references, edit the first one, or extend it",
"options": [
"reference",
"edit",
"extend"
]
},
{
"name": "duration",
"type": "integer",
"label": "Duration (s)",
"min": 4,
"max": 15,
"default": 5
},
{
"name": "resolution",
"type": "enum",
"label": "Resolution",
"options": [
"480p",
"720p"
],
"default": "720p"
},
{
"name": "aspect_ratio",
"type": "enum",
"label": "Aspect ratio",
"options": [
"16:9",
"9:16",
"1:1",
"4:3",
"3:4",
"21:9"
],
"default": "16:9"
},
{
"name": "generate_audio",
"type": "boolean",
"label": "Generate audio",
"default": true
}
]
},
"prices": [
{
"unit": "second",
"conditions": {
"resolution": "480p"
},
"priceMicros": 64800,
"originalMicros": 72000,
"credits": 7
},
{
"unit": "second",
"conditions": {
"resolution": "720p"
},
"priceMicros": 139320,
"originalMicros": 154800,
"credits": 14
},
{
"unit": "second",
"conditions": {
"mode": "video",
"resolution": "480p"
},
"priceMicros": 38169,
"originalMicros": 42410,
"credits": 4
},
{
"unit": "second",
"conditions": {
"mode": "video",
"resolution": "720p"
},
"priceMicros": 82062,
"originalMicros": 91180,
"credits": 9
}
]
}
],
"fromMicros": 21330,
"fromOriginalMicros": 23700,
"fromUnit": "second",
"maxMicros": 217710,
"maxOriginalMicros": 241900,
"maxUnit": "second"
}{
"provider": "example-chat",
"providerName": "Example chat",
"discount": null,
"preferred": false,
"params": [],
"prices": [
{
"unit": "input_token",
"conditions": {
"min_input_tokens": 0
},
"priceMicros": 1000000,
"originalMicros": null,
"credits": 250
},
{
"unit": "output_token",
"conditions": {
"min_input_tokens": 0
},
"priceMicros": 2000000,
"originalMicros": null,
"credits": 500
},
{
"unit": "input_token",
"conditions": {
"min_input_tokens": 100000
},
"priceMicros": 2000000,
"originalMicros": null,
"credits": 500
},
{
"unit": "output_token",
"conditions": {
"min_input_tokens": 100000
},
"priceMicros": 4000000,
"originalMicros": null,
"credits": 1000
}
],
"billing": {
"version": 1,
"priceScope": "gateway",
"creditsPerUsd": 250,
"modelParams": []
}
}{
"provider": "example-speech",
"providerName": "Example speech",
"discount": null,
"preferred": false,
"params": [
{
"name": "prompt",
"type": "text",
"required": true,
"maxLength": 10000
},
{
"name": "style_instructions",
"type": "string",
"default": "",
"maxLength": 1000
}
],
"prices": [
{
"unit": "kchar",
"conditions": {},
"priceMicros": 100000,
"originalMicros": null,
"credits": 1
}
],
"billing": {
"version": 1,
"priceScope": "gateway",
"creditsPerUsd": 250,
"modelParams": [
{
"name": "prompt",
"type": "text",
"required": true,
"maxLength": 10000
},
{
"name": "style_instructions",
"type": "string",
"default": "",
"maxLength": 1000
}
],
"characterBilling": {
"fields": [
"prompt",
"style_instructions"
],
"minimum": 1000,
"block": 1000
}
}
}{
"provider": "example-audio",
"providerName": "Example audio",
"discount": null,
"preferred": false,
"params": [
{
"name": "prompt",
"type": "text",
"required": true,
"maxLength": 10000
},
{
"name": "style_instructions",
"type": "string",
"default": "",
"maxLength": 1000
}
],
"prices": [
{
"unit": "input_token",
"conditions": {
"min_input_tokens": 0
},
"priceMicros": 1000000,
"originalMicros": null,
"credits": 250
},
{
"unit": "output_token",
"conditions": {
"min_input_tokens": 0
},
"priceMicros": 2000000,
"originalMicros": null,
"credits": 500
}
],
"billing": {
"version": 1,
"priceScope": "gateway",
"creditsPerUsd": 250,
"modelParams": [
{
"name": "prompt",
"type": "text",
"required": true,
"maxLength": 10000
},
{
"name": "style_instructions",
"type": "string",
"default": "",
"maxLength": 1000
}
],
"upstreamParams": [
{
"name": "prompt",
"type": "text",
"required": true,
"maxLength": 10000
},
{
"name": "style_instructions",
"type": "string",
"default": "",
"maxLength": 1000
}
],
"metering": {
"outputTokenHold": 1000,
"providerCost": false
}
}
}响应仅用于说明结构;ID、用量、价格和结果以实际请求为准。
给 AI 使用
把文档索引或完整接口文档交给 AI 编程助手,包含实时模型参数。