APIMaster.ai

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 数和上游成本不参与这四个模型的按秒扣费。

  1. 每条参考视频单独向上取整后相加:输入计费秒数 = sum(ceil(每条实际时长))。
  2. 输出时长四舍五入到整数秒,正数的半秒向上取整。
  3. 输入与输出计费秒数相加。
  4. 乘以 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 不能视为最终结算。

Seedance 幂等提交与异常恢复