MCP 支出保护
在生成前获取明确批准,处理报价过期与变价,并在保留幂等性的同时避免悄悄提高支出上限。
本页目录
访问授权不等于支出批准
官方 MCP 已开放公开测试。这些保护规则适用于真实调用,包括 AI 代表你进行的调用。
OAuth 权限允许访问账户,不代表用户批准今后的每一次生成。generate_animation 是有费用、有副作用的工具;先说明输入、设置、预期输出和费用,再取得批准。
工具注解是供客户端参考的安全提示,不能代替用户同意或服务端校验。cancel_animation 同样有副作用,不能为了测试连接就取消用户任务。
两种服务端保护
quote_id:属于当前用户和 OAuth 客户端的短期报价。生成时检查影响价格的参数、当前价格、有效期,以及是否已绑定某次逻辑生成的幂等键。max_credits:本次生成当前报价允许的明确非负上限。
至少提供一个,也可以同时提供。它们不是无限任务的总预算;不断创建新操作,即使每次低于上限,也会反复消耗积分。
即使某字段不参与定价,也应保持用户批准的请求不变。用户意图包括图片与提示词,不只是价格。
遇到拒绝应暂停生成
| 错误 | 正确下一步 |
|---|---|
SPEND_CONFIRMATION_REQUIRED |
获取批准,提供报价或明确上限 |
QUOTE_EXPIRED |
重新报价,展示更新后的金额再确认 |
QUOTE_MISMATCH |
核对改变的生成或导出参数 |
QUOTE_CHANGED |
展示新价格并重新请求批准 |
QUOTE_ALREADY_USED |
找回原任务,不把报价用于新操作 |
CREDIT_LIMIT_EXCEEDED |
停止,询问降低配置还是批准新上限 |
INSUFFICIENT_CREDITS |
报告余额问题,不自动购买积分 |
不要通过删除上限、悄悄调高上限、换账户、换图片或创建新幂等键来“修复”这些拒绝。
重试与取消
创建前,保存批准的请求和 idempotency_key。超时不等于没有执行;复用原逻辑键和请求找回任务,再按 ID 轮询。AI 重连或重启时,默认行为不应是再生成一个任务。
去重范围包含用户、操作和 OAuth 客户端。创建结果不明时,更换客户端不属于安全重试,即使使用相同幂等字符串也不行。同一客户端刷新访问 Token,本身不会改变客户端身份。
用户改变输出要求时,应视为新决策,重新报价并获得适当批准。终态失败后,先检查已有产物,不要直接重新生成。
取消属于尽力而为;已执行工作可能保留扣费。等待终态,再准确报告积分记账和可用资产。
Seedance 明确审核拒绝,且尚无产物、导出未开始时,会返还一键流程原积分。按任务实际的 credits.refunded、credits.released 和净扣费 credits.charged 报告,不在记账前宣称已退回,也不把退分视为下一次生成的授权。账户或支付异常可能需要核验。
保留有用记录,保护私密信息
在适当的私有应用状态中保存任务 ID、资产 ID、批准上限、错误码和请求 ID。不要向分析系统发送 API Key、OAuth Token、Base64 原图、签名上传下载 URL 或私有提示词。
API 调用方不能把这些 MCP 专用参数放进 POST /animations。API 快速开始解释了两者不同的报价语义。
这篇文档有帮助吗?
不收集搜索词、代码或自由文本。此开关只控制文档交互事件;站点通用分析仍遵循隐私政策。 隐私政策