Seedance 预报价与计费回执
提前预估 Seedance 视频费用,通过鉴权接口获取持久化计费明细并复算最终扣费。
Seedance 预报价与计费回执
适用于所有生成渠道上的 seedance-2.0、seedance-2.5、seedance-2.0-fast、seedance-2.0-mini。Base URL 为 https://apimaster.ai/v1(https://apimaster.ai/v1)。以下接口均使用 Authorization: Bearer YOUR_API_KEY 鉴权。
INTL 版本:按实际视频 Tokens 计费
四个 seedance-*-intl 模型的新请求,按上游返回的实际视频 Tokens计费。估价与账单使用 schema_version: "2"、unit: "million_tokens"。estimated_video_tokens 是预扣估算,actual_video_tokens 是上游返回的最终用量。最终费用按提交时冻结的每百万 Tokens 单价、渠道价格与账号倍率计算,只在换算账号额度时取整一次;分辨率和参考视频模式决定 Token 单价,不会再次乘以视频秒数。
基础价格采用 BytePlus ModelArk 在线推理官方价,渠道采购折扣与销售倍率单独计算,以现网模型卡为准。缺少最终 Token 用量时继续查询,不会把预估用量当成最终用量。此前已提交的按秒计费任务保留原冻结价格。
旧 -nsfw 模型 ID 已停用,新建请求必须使用对应的 -intl ID;历史任务与素材绑定继续保留。
下方按秒计费示例适用于上面列出的标准版模型 ID。
获取预报价
POST https://apimaster.ai/v1/videos/quote 接受普通生成请求的 JSON 参数,包括 model、prompt、duration、resolution、video_urls 以及模型支持的其他设置。暂不支持草稿生成、草稿升级及 remix 报价。
curl "https://apimaster.ai/v1/videos/quote" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"seedance-2.0","prompt":"池塘上的小纸船","duration":4,"resolution":"480p","generate_audio":false}'
响应包含 object: "video.quote"、quote_id、expires_at(Unix 秒)、binding: false、funds_reserved: false 和 billing。报价参考有效期五分钟,不扣费、不创建任务、不触发上游生成,billing.reserved_amount 为 "0.000000"。报价编号不是锁价凭证,不需要随生成请求提交。
实际提交时重新确认价格,并冻结任务单价、倍率。估算不是扣费上限,最终费用可能高于或低于估算。自动时长按 30 秒输出估算,requested_output_seconds 为 -1。
生成仍受上游参数校验约束。Seedance 2.5 视频延长请求请显式指定 aspect_ratio: "adaptive";上游拒绝时按正常退款流程处理。
查询回执
curl "https://apimaster.ai/v1/videos/task_xxx/billing" \
-H "Authorization: Bearer YOUR_API_KEY"
GET /v1/videos/{task_id}/billing 返回 object: "video.billing_receipt" 和 billing。只有任务所属账户的 API Key 可读取。未知、其他账户及没有新回执的历史任务均返回 HTTP 404;本功能上线后的新任务创建回执,不对历史任务补造账单。
两个查询入口返回同一份明细:GET /v1/videos/{task_id} 的顶层 billing,以及 GET /v1/video/generations/{task_id} 的 data.billing。
settlement_status 为 pending、settled 或 refunded,报价为 estimate。任务完成与资金结算是两个状态,只有 settled/refunded 金额才是最终结果。重复读取不触发生成、结算或退款;最终回执编号和内容保持稳定,退款后仍可读取。
完整请求与响应示例
以下采用同一场景:Seedance 2.0、480P、请求输出 4 秒,参考视频时长 4.042 秒,渠道倍率 1、账户倍率 1.05。以下报价和完成响应用于说明计费字段及结算流程,ID、素材地址均为示例。实际价格以接口返回为准。
1. 获取预报价
POST https://apimaster.ai/v1/videos/quote,请求 JSON:
{
"model": "seedance-2.0",
"prompt": "A paper boat moves gently on a pond.",
"duration": 4,
"resolution": "480p",
"video_urls": [
"https://example.com/reference.mp4"
]
}
| 字段 | 类型 | 说明 |
|---|---|---|
model |
string | 模型 ID,本例为 seedance-2.0。 |
prompt |
string | 视频生成提示词。 |
duration |
integer | 请求输出时长(秒),不是参考视频时长。 |
resolution |
string | 输出分辨率,本例为 480p。 |
video_urls |
array |
参考视频 URL 列表;请替换为平台可访问的真实素材地址。服务器测量每条视频的时长。 |
报价响应:
{
"object": "video.quote",
"quote_id": "quote_example",
"expires_at": 1790949324,
"binding": false,
"funds_reserved": false,
"billing": {
"schema_version": "1",
"settlement_status": "estimate",
"model": "seedance-2.0",
"resolution": "480P",
"tariff_variant": "480P-input",
"tariff_revision": "sd-v1-b79a35d3a29af9af",
"currency": "USD",
"unit": "second",
"base_unit_rate": "0.04319",
"channel_multiplier": 1,
"account_multiplier": 1.05,
"effective_unit_rate": "0.0453495",
"requested_output_seconds": 4,
"estimated_output_seconds": 4,
"estimated_billable_seconds": 9,
"input_videos": [
{
"index": 0,
"media_id": "media_example_hash",
"measured_seconds": 4.042,
"billable_seconds": 5,
"duration_source": "apimaster_probe"
}
],
"billable_input_video_seconds": 5,
"output": null,
"billable_seconds": null,
"rounding": {
"amount_formula": "round(total_billable_seconds * effective_unit_rate / account_unit_usd) * account_unit_usd",
"effective_unit_rate": "nearest_decimal_12_places_half_up",
"input_video": "ceil_each_file_then_sum",
"money": "nearest_account_unit_half_up",
"output_video": "nearest_integer_half_up"
},
"estimated_amount": "0.408146",
"reserved_amount": "0.000000",
"additional_debit_amount": "0.000000",
"final_debit_amount": null,
"refunded_amount": "0.000000",
"net_amount": null,
"initial_quota_units": 0,
"final_quota_units": null,
"account_unit_usd": "0.000002",
"media_charges": {
"audio": "0.000000",
"image": "0.000000",
"input_video_unrounded": "0.2267475",
"other_reference": "0.000000",
"output_video_unrounded": "0.181398"
},
"final_debit_may_exceed_estimate": true,
"created_at": 1790949024,
"settled_at": null
}
}
参考输入 4.042 秒向上取整为 5 秒,加预计输出 4 秒,共 9 秒,预计费用为 0.408146 USD。报价没有预扣;最终金额尚未知,因此为 null。
2. 提交生成并查询完成结果
向 POST https://apimaster.ai/v1/videos/generations 提交生成请求后,先返回任务编号:
{
"code": 200,
"data": [
{
"status": "submitted",
"task_id": "task_example"
}
]
}
随后使用同一账户 API Key 查询 GET https://apimaster.ai/v1/videos/task_example,生成与结算完成后返回:
{
"actual_time": 189,
"billing": {
"schema_version": "1",
"receipt_id": "bill_task_example",
"task_id": "task_example",
"settlement_status": "settled",
"model": "seedance-2.0",
"resolution": "480P",
"tariff_variant": "480P-input",
"tariff_revision": "sd-v1-b79a35d3a29af9af",
"currency": "USD",
"unit": "second",
"base_unit_rate": "0.04319",
"channel_multiplier": 1,
"account_multiplier": 1.05,
"effective_unit_rate": "0.0453495",
"requested_output_seconds": 4,
"estimated_output_seconds": 4,
"estimated_billable_seconds": 9,
"input_videos": [
{
"index": 0,
"media_id": "media_example_hash",
"measured_seconds": 4.042,
"billable_seconds": 5,
"duration_source": "apimaster_probe"
}
],
"billable_input_video_seconds": 5,
"output": {
"actual_seconds": 4,
"billable_seconds": 4,
"duration_source": "provider_reported"
},
"billable_seconds": 9,
"rounding": {
"amount_formula": "round(total_billable_seconds * effective_unit_rate / account_unit_usd) * account_unit_usd",
"effective_unit_rate": "nearest_decimal_12_places_half_up",
"input_video": "ceil_each_file_then_sum",
"money": "nearest_account_unit_half_up",
"output_video": "nearest_integer_half_up"
},
"estimated_amount": "0.408146",
"reserved_amount": "0.408146",
"additional_debit_amount": "0.000000",
"final_debit_amount": "0.408146",
"refunded_amount": "0.000000",
"net_amount": "0.408146",
"initial_quota_units": 204073,
"final_quota_units": 204073,
"account_unit_usd": "0.000002",
"media_charges": {
"audio": "0.000000",
"image": "0.000000",
"input_video_unrounded": "0.2267475",
"other_reference": "0.000000",
"output_video_unrounded": "0.181398"
},
"final_debit_may_exceed_estimate": true,
"created_at": 1790949024,
"settled_at": 1790949213
},
"completed_at": 1790949213,
"created_at": 1790949024,
"id": "task_example",
"metadata": {
"url": "https://apimaster.ai/v1/videos/task_example/content"
},
"model": "seedance-2.0",
"object": "video",
"progress": 100,
"status": "completed",
"task_id": "task_example",
"usage": {
"completion_tokens": 80770
}
}
本例预扣与最终费用一致,无补扣或退款。billing.output.actual_seconds 是输出视频时长,actual_time 是处理耗时,usage.completion_tokens 不参与扣费。可选字段可能因渠道而缺省。
独立查询 GET https://apimaster.ai/v1/videos/task_example/billing 返回 { "object": "video.billing_receipt", "billing": ... },billing 与上例相同。兼容查询 GET https://apimaster.ai/v1/video/generations/task_example 将相同明细放在 data.billing。
响应外层字段
| 字段 | 类型 | 说明 |
|---|---|---|
object |
string | 响应类型:报价为 video.quote,完成查询为 video,独立回执为 video.billing_receipt。 |
quote_id |
string | 报价编号,仅用于识别报价,不是锁价或生成授权凭证。 |
expires_at |
integer | 报价参考有效期的 Unix 秒时间戳,通常为创建时间加 300 秒。 |
binding |
boolean | 当前为 false,报价不承诺最终金额。 |
funds_reserved |
boolean | 当前为 false,获取报价不扣费、不冻结资金。 |
billing |
object | 下方逐字段解释的计费明细。 |
code |
integer | 提交响应状态码;示例 200 表示提交成功,不代表生成已完成。 |
data |
array | 提交返回的任务列表;兼容查询返回的 data 为对象。 |
data[].status |
string | 提交后的状态,示例为 submitted。 |
data[].task_id |
string | 后续查询使用的公开任务编号。 |
id |
string | 完成查询中的公开任务编号。 |
task_id |
string | 任务编号,与示例中的 id 一致。 |
model |
string | 生成使用的公开模型名。 |
status |
string | 任务状态;示例 completed 表示生成完成,最终结算仍需检查 billing.settlement_status。 |
progress |
number | 任务进度百分比;示例完成时为 100。 |
actual_time |
number | 任务处理耗时(秒),不是生成视频时长。 |
created_at |
integer | 任务创建 Unix 秒时间戳。 |
completed_at |
integer | 任务完成 Unix 秒时间戳。 |
metadata |
object | 生成结果相关元数据。 |
metadata.url |
string | 视频内容下载地址。 |
usage |
object | 上游返回的用量信息,可能因渠道而缺省。 |
usage.completion_tokens |
integer | 上游报告的 token 用量,不参与这四个模型的按秒计费。 |
billing 字段
金额和单价均为十进制字符串,时长单位为秒;未确定的可空字段为 JSON null。以下字段相对于 billing 对象。
| 字段 | 类型 | 含义 |
|---|---|---|
schema_version |
string | 当前计费明细版本,示例为 "1"。 |
receipt_id |
string | 持久化回执编号;报价中不存在。 |
task_id |
string | 该回执对应的公开任务编号;报价中不存在。 |
settlement_status |
string | estimate、pending、settled、refunded |
model |
string | 实际计费使用的公开模型 ID。 |
resolution |
string | 实际计费使用的标准化分辨率。 |
tariff_variant |
string | 计费档位;有参考视频时带 -input,输入与输出均采用此档单价。 |
tariff_revision |
string | 模型、档位、基础单价及计费规则版本的指纹 |
currency |
string | 费用币种,当前为 USD。 |
unit |
string | 单价的计费单位,second 表示每秒。 |
base_unit_rate |
decimal string | 该模型与档位配置的基础每秒单价。 |
effective_unit_rate |
decimal string | 实际采用的最终每秒单价;提交时冻结,按十二位小数取整。 |
channel_multiplier |
number | 适用的渠道综合价格倍率。 |
account_multiplier |
number | 适用的账户/分组倍率,本例为 1.05。 |
requested_output_seconds |
integer | 请求输出时长;自动为 -1 |
estimated_output_seconds |
integer | 提交前估算的输出秒数;自动时长按 30 秒估算。 |
estimated_billable_seconds |
integer | 初始估算的总计费秒数,包含输入参考视频和预计输出。 |
input_videos |
array | 按请求顺序列出的参考视频测量明细 |
input_videos[].index |
integer | 参考视频在请求中的序号,从 0 开始。 |
input_videos[].media_id |
string | 账户范围的媒体哈希或自有素材 ID;不回显参考视频 URL。 |
input_videos[].measured_seconds |
number or null | 取整前的平台测量时长;旧缓存素材可能为 null |
input_videos[].billable_seconds |
integer | 该参考视频取整后的计费秒数 |
input_videos[].duration_source |
string | apimaster_probe 或 apimaster_asset_cache |
billable_input_video_seconds |
integer | 各参考视频计费秒数之和 |
output |
object or null | 成功结算后的输出时长信息,否则为 null |
output.actual_seconds |
number or null | 上游报告/平台测量的实际时长;未知为 null |
output.billable_seconds |
integer | 最终采用的输出计费秒数 |
output.duration_source |
string | provider_reported、apimaster_probe、provider_billable_seconds、requested_duration_fallback、reservation_fallback |
billable_seconds |
integer or null | 最终输入加输出总计费秒数 |
rounding |
object | 输入、输出、金额取整规则及计算公式 |
estimated_amount |
decimal string | 初始估算费用,不是最终金额或最高扣费承诺。 |
reserved_amount |
decimal string | 任务提交时的初始账户预扣;报价为零。这是账户扣款,不是银行授权冻结。 |
additional_debit_amount |
decimal string | 最终费用超过初始预扣时额外扣除的金额。 |
refunded_amount |
decimal string | 从初始预扣退回的金额;全额退款时等于初始预扣。 |
final_debit_amount |
decimal string or null | 调整后的最终净费用;全额退款为零 |
net_amount |
decimal string or null | 调整后的最终净费用;全额退款为零 |
initial_quota_units |
integer | 任务初始预扣的精确账户单位数;报价为 0。 |
final_quota_units |
integer or null | 最终净费用的精确账户单位数;待结算为 null,全额退款为 0。 |
account_unit_usd |
decimal string | 每单位 "0.000002" USD |
media_charges |
object | image、audio、other_reference 当前为零;input_video_unrounded、output_video_unrounded 分列金额取整前的输入、输出视频费用 |
final_debit_may_exceed_estimate |
boolean | 当前为 true,估算不是硬性消费上限 |
created_at |
integer | 计费明细创建时间,Unix 秒时间戳。 |
settled_at |
integer or null | 最终结算或退款时间,Unix 秒时间戳;未完成时为 null。 |
| 字段 | 类型 | 说明 |
|---|---|---|
rounding.input_video |
string | ceil_each_file_then_sum:每条输入视频向上取整后相加。 |
rounding.output_video |
string | nearest_integer_half_up:输出秒数四舍五入,半秒向上。 |
rounding.effective_unit_rate |
string | nearest_decimal_12_places_half_up:有效单价按十二位小数四舍五入。 |
rounding.money |
string | nearest_account_unit_half_up:总金额折算为账户单位后四舍五入。 |
rounding.amount_formula |
string | 最终总金额的计算公式,输入与输出金额不分别取整。 |
media_charges.input_video_unrounded |
decimal string | 金额取整前的输入视频费用。 |
media_charges.output_video_unrounded |
decimal string | 金额取整前的输出视频费用。 |
media_charges.image |
decimal string | 独立图片附加费,当前为零。 |
media_charges.audio |
decimal string | 独立音频附加费,当前为零。 |
media_charges.other_reference |
decimal string | 其他参考附加费,当前为零。 |
复算费用
含参考视频时,视频输入档位单价同时用于输入与输出视频。当前没有独立图片、音频附加费,Token 数和上游成本不参与这四个模型的按秒扣费。
- 每条参考视频单独向上取整后相加:
输入计费秒数 = sum(ceil(每条实际时长))。 - 输出时长四舍五入到整数秒,正数的半秒向上取整。
- 输入与输出计费秒数相加。
- 乘以
effective_unit_rate,除以account_unit_usd,最后对总额度单位数取整一次,正数的半个单位向上取整。
final_quota_units = round_half_up(billable_seconds × effective_unit_rate / 0.000002)
net_amount = final_quota_units × 0.000002
net_amount = reserved_amount + additional_debit_amount - refunded_amount
请用十进制计算,不要分别对输入、输出金额取整。例如 Seedance 2.0、480P、无参考视频、输出 4 秒,基础单价 0.07031、渠道倍率 1、账户倍率 1.05,最终单价 0.0738255,净费用 0.295302 USD,即 147651 个额度单位。
参考视频时长由 APIMaster 测量,不信任客户端 input_seconds、reference_seconds 等输入时长字段;duration/seconds 指定输出时长。输出优先采用上游报告,缺失时尝试测量生成文件;仍不可用时采用上游计费秒数或请求/预扣时长。回执明确标注来源,不把回退值标成独立测量的实际时长。历史缓存素材或继承旧草稿可能缺少完整逐文件测量明细。
视频响应中的 actual_time 是处理耗时,不是视频时长;usage.completion_tokens 仅供参考。
失败与退款
上游任务失败和当前配置的 24 小时未完成任务超时会自动发起全额退款。退款成功后回执变为 refunded、净费用为零,仍可查询。临时网络/轮询错误不直接退款或取消任务,系统会重试。
提交失败且确认上游未扣费时退还预扣;结果不确定时自动对账,异步首次对账约在 20 分钟后,持续未知超过 24 小时的请求在对账时退款。如果提交未创建公开任务,该次尝试没有任务级回执。报价不冻结资金,无需释放。
当前没有公开 Seedance 取消接口。断开连接或停止轮询不等于取消。任务状态检查防止重复轮询重复结算或退款,回执接口本身只读;这不代表所有基础设施故障下的绝对 exactly-once 保证,pending 不能视为最终结算。
