VlogMe / 开发者资源
REST API 与 MCP 工作流
通过 REST API 与 MCP 连接 Director 和各个 Studio 的工作流,传递提示词与素材引用,跟踪任务,并将结果保存在共享 Lab 中——与 VlogMe 应用中的工作流完全一致。
本页内容
API 如何运作
REST API 和 MCP 服务器运行的任务与 VlogMe 应用完全相同——Director、Video、Image 和 Audio Studio、Aisma、DUB 以及 新闻视频——使用同一个账户、同一个积分余额和同一个 Lab。
访问权限:所有已注册的 VlogMe 账户都可以使用 API 和 MCP。在 Account → API & MCP 中创建密钥即可,无需客服批准。如需大批量使用或为团队做集成,请联系 sales@vlogme.ai。
集成分为五步:
- 在 Account → API & MCP 中创建 API 密钥(账户后台目前仅提供英文界面)。
- 上传任务所需的照片、视频或音频,或直接使用 Lab 中的文件。
- 获取报价:VlogMe 返回任务的准确积分价格。
- 按该报价启动任务。任务不会以其他价格运行。
- 通过轮询或 Webhook 跟踪任务;结果会保存到 Lab。
智能体可以通过 MCP 服务器完成同样的事:其工具涵盖任务、Director、Lab 文件、项目、模板、声音、新闻视频 和社交发布,使用与 REST 相同的密钥、余额和检查。
API 与 MCP 的变更会在开发日志中公布。
连接您的智能体
AI 智能体通过 MCP 服务器 https://vlogme.ai/mcp 使用同一个账户、密钥、余额和价格。每个客户端的具体步骤见 MCP 服务器设置:
- Claude Code、Cursor 和 VS Code
- Gemini CLI 和 Codex
- n8n 工作流
在 Claude Code 中只需一条命令,密钥放在 VLOGME_API_KEY 中:
claude mcp add --transport http vlogme https://vlogme.ai/mcp --header "Authorization: Bearer $VLOGME_API_KEY"
在任何付费任务之前,智能体都会先获取报价并向您展示积分。下方的 MCP 服务器 章节列出了所有工具及其所需的密钥权限。
API 密钥与访问权限
每个请求都在 Authorization 请求头中携带密钥:
Authorization: Bearer vma_…
- 密钥能做的,就是您在 Account → API & MCP 中创建它时勾选的内容:
- read:列出 Lab 文件、任务和余额,并获取报价。每个密钥都有此权限。
- write:上传和导入文件、重命名和归档文件、保存项目、在 Director 中规划和准备素材,并按报价启动付费任务。
- delete:删除文件、项目、克隆声音和新闻监控。删除无法撤销。
- share:创建和撤销公开分享链接。
- publish:在已连接的社交账号上发布或定时发布视频。
- 在有这些选项之前创建的密钥保留原有权限:“Read”密钥只读;“Read and create jobs”密钥与以前一样,还可以删除和分享。
- 密钥无权发起的请求会以
403和code: scope_missing被拒绝。GET /api/me会显示该密钥自身的token.scopes。 - 密钥的有效期为 1 至 365 天(默认 90 天)。您可以随时在 Account → API & MCP 中撤销密钥,使用它的集成会立即停止。
- 密钥不能更改套餐、创建其他密钥、删除账户或使用管理工具;这些操作需要登录后的会话(
code: session_required)。
请妥善保管密钥:密钥以您账户的权限运行,并消耗该账户的积分(服务条款)。
查看任务与接口
两个公开地址描述了集成可以发送的全部内容,无需密钥。
GET /api/catalog列出每一种任务kind(按 workflow 或模型):以 JSON Schema 描述的输入、所需的 Lab 文件、可选的时长、宽高比和清晰度、计价规则、一个示例输入及其积分价格,以及当前是否可用。?kind=video可缩小范围。其中还包括 Director 的模式:新建项目、编辑命令、聊天发言和素材准备。GET /api/openapi.json是 REST API 的 OpenAPI 3.1 描述。每个操作的x-scope注明所需的密钥权限。
条目中列在 server_fills 下的字段(例如视频时长)由 VlogMe 根据您的文件测量,可以不传。
报价、启动和跟踪任务
任务是一项工作:一个片段、一个数字人、一张图像、一条语音轨、一次编辑、一次配音、一次 Aisma 修改、一条 新闻视频 视频或一次 Director 渲染。其 kind 为 video, avatar, image, audio, video_edit, dub, trend, aisma, voice_clone, director 之一,input 中的设置与应用中对应界面相同。
普通 Image Editor 修改在浏览器中导出,不属于服务器任务。AI 图像生成和编辑请使用 kind: image 及对应的 workflow。
| 请求 | 作用 |
|---|---|
POST /api/jobs/quote | 针对 kind 和 input 返回 credits、价格明细 parts 以及 quote_fingerprint |
POST /api/jobs | 使用报价中的 quoted_credits 和 quote_fingerprint 启动任务;Idempotency-Key 请求头(UUID)让重试返回同一个任务,而不会启动第二个 |
GET /api/jobs | 您的任务,最新的在前。可按 kind、status 和 project_id 筛选;用 limit(最多 100)和返回的 next_cursor 翻页;fields=compact 不返回输入 |
GET /api/jobs/{id} | 任务状态、其结果 results(生成的 Lab 文件)以及 warnings。加上 ?wait=30 可在指定秒数内等待任务结束 |
GET /api/jobs/{id}/clips | 已完成的 Aisma 编辑的片段:每个片段的版本、重新生成的费用,以及完整视频是否为最新 |
例如,先为一张图像获取报价,再启动任务:
curl https://vlogme.ai/api/jobs/quote \
-H "Authorization: Bearer $VLOGME_KEY" \
-H "Content-Type: application/json" \
-d '{"kind": "image", "input": {…}}'
curl https://vlogme.ai/api/jobs \
-H "Authorization: Bearer $VLOGME_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: 6f1c2b8e-7d4a-4f0e-9b1a-2c3d4e5f6a7b" \
-d '{"kind": "image", "input": {…}, "quoted_credits": 12, "quote_fingerprint": "…"}'
如果报价之后价格或输入发生变化,启动请求会以 409 被拒绝,且不会扣费:请重新获取报价。任务失败时,可退还的积分会自动退回您的余额。任务一旦启动就无法取消,因为服务商并不总能停止它。
修改 Aisma 编辑中的一个片段。已完成的 Aisma 编辑可以只重新生成其中一个片段,不必重做整个视频。GET /api/jobs/{id}/clips(id 为该编辑自身的任务)返回它的各个片段,包括序号 index 和重新生成所需的 credits。请为 input 为 {"clip": {"job_id": "<该编辑的任务 ID>", "op": "regenerate", "part": <index>, "clarification": "…"}} 的 aisma 任务获取报价并启动:补充说明 clarification 可选,片段会按该编辑原有的版本和画质生成。只收取这一个片段的积分;如果 Aisma 没有采用补充说明、无法生成该片段,或让它保持原样,则不会扣费。任务结束后,input.clip_result 中有结果 outcome,补充说明未被采用时还有原因 reason;任务的成果是更新后的完整视频,即 Lab 中的一个新文件。没有可读取片段的编辑,其 clips 为 null:它创建于片段可修改之前,或其文件已随源视频一并删除。其他情况下,disabled 说明当前为何无法修改任何片段(starting、failed、busy 或 materials;可以修改时为 null),finish 说明如何让完整视频保持最新(assemble:启动 {"clip": {"job_id": "…", "op": "assemble"}} 任务;reassemble:调用 POST /api/jobs/{id}/reassemble;null:已是最新)。mode 为 change 的片段是 Aisma 保持原样的片段:用密钥重新生成时必须提供补充说明。未扣费结束的更新每小时有次数上限:每个编辑有一个上限,账户下所有编辑合计还有一个上限;超过其中任何一个后,报价和启动任务都会返回 429 并附带 retry_after_s。Aisma 只在应用内提出澄清问题:用密钥启动的编辑不会被提问。
通过 API 制作 Director 视频
拥有 write 权限的密钥可以把一个想法一直做成最终的视频文件:
- 向
POST /api/director/projects发送{"version": 2, "concept": "…"}创建项目。 - 带上新的
client_request_id和项目的base_revision调用POST /api/director/projects/{id}/turns,请 Director 规划。GET /api/director/turns/{发言 id}?wait=30会等到规划完成或 Director 提出问题;用POST /api/director/turns/{发言 id}/answer回答。 POST /api/director/projects/{id}/prepare免费准备图片、声音和音乐,GET /api/director/projects/{id}/view显示准备情况。准备需要一些时间:请重新读取/view,直到所有materials都变为ready。POST /api/director/projects/{id}/render/quote为视频报价(remake_scene_numbers可重新制作选定的场景),再带上该revision、quoted_credits、quote_fingerprint和Idempotency-Key调用POST /api/director/projects/{id}/render启动。如果报价之后规划有变,启动会以409(code: revision_conflict)被拒绝,且不会扣费。- 用
GET /api/jobs/{任务 id}?wait=30等到任务结束;然后GET /api/director/projects/{id}/result返回视频和字幕,链接有效期为 15 分钟。
通过密钥进行的规划、聊天和免费准备,与应用共用您账户的同一份免费额度:大量规划的代理也会用掉应用的额度。额度暂时用完时,响应中会带有 limited: true。
人物和地点图片在额度内免费。超出后,免费账户的图片不会生成:/prepare 响应会把它们列在 plan_required(以及 skipped)中,需要订阅套餐才能继续生成图片。有套餐时,超出其额度的图片会连同价格列在 charged 中:用 POST /api/jobs/quote(kind director,input {"v": 2, "stage": "materials", "project_id": "…", "revision": 3, "keys": ["…"]})报价,然后像其他付费任务一样启动。渲染视频时在 /view 中仍为 missing 的图片会在渲染中生成,并包含在其报价中。为已完成的图片重新生成一版(再试一次)时,调用 POST /api/director/projects/{id}/prepare,在 keys 中放入该图片的键,并加上 "regenerate": true。
要修改规划,可以向 /turns 发送消息(加上 scope.block_ids 只修改部分场景),或向 POST /api/director/projects/{id}/edits 发送遵循 GET /api/catalog 中 director.edit_command_schema 的结构化编辑。POST /api/director/projects/{id}/undo 恢复较早的版本。每次修改都带上您读取到的 base_revision 和新的 client_request_id:过时的版本会以 409 被拒绝,重复的 client_request_id 会重放该修改,而不会执行两次。
添加到规划中的文件需要 rights_confirmed: true。通过密钥发送时,这表示您本人确认拥有使用这些文件及其中人物的权利(服务条款)。
Lab 文件:上传、导入与下载
GET /api/assets列出您的 Lab 文件,最新的在前。section=main为文件(成片、结果和上传),working为项目制作中使用的文件,archived为归档,all(默认)为所有未归档的文件。可按kind、project_id(或none)和q筛选;fields=compact不返回元数据;用limit和返回的next_offset翻页。GET /api/assets/working-projects按项目汇总工作文件。- 使用
mime_type、bytes和title调用POST /api/assets/intent可在 Lab 中预留文件,并返回可续传(tus)上传地址和令牌。图像:JPEG、PNG、WebP、BMP。视频:MP4、MOV、M4V,最长 150 分钟。音频:MP3、M4A、WAV、OGG。每个文件最大 1 GB。 - 附带
content_sha256(文件的 SHA-256,64 个小写十六进制字符)时,您已上传过的相同文件会被直接复用:返回200,包含reused: true和该文件,无需再上传。如需保留第二份副本,请同时发送allow_duplicate: true。 POST /api/assets/{id}/complete会检查上传,之后即可在任务的input中使用该文件。- 使用 API 密钥时,intent 的响应还包含
put_url:一个签名地址,可用一次PUT上传整个文件(curl -T clip.mp4 -H "Content-Type: video/mp4" "$put_url"),无需 tus。Idempotency-Key请求头(UUID)让重试返回同一个文件。 - 带上
{"url": "https://…"}和Idempotency-Key调用POST /api/assets/import,会在后台从公开 HTTPS 地址导入文件。响应为包含新文件 id 的202;之后GET /api/assets/{id}显示import.status,直到文件就绪,或显示带error_code的failed。VlogMe 自身的地址、私有网络和 IP 地址会被拒绝。 PATCH /api/assets/{id}带title可重命名文件,带archived: true可将其移入归档(false恢复);项目制作中使用的文件保留在工作文件中。DELETE /api/assets/{id}永久删除文件(delete 权限)。正在运行的任务仍需要的文件会以409被拒绝。GET /api/assets/working-projects/{id}/cleanup显示清理会在某个项目中删除哪些文件(较早的版本、未使用的图片、残留文件),并注明每个文件的原因。向同一地址POST该预览中的asset_ids,每次请求最多删除五个(delete 权限)。任何文件都不会被自动删除。GET /api/assets/{id}/download返回有效期 60 秒的私密链接;ttl最长可延至一小时,redirect=1会以重定向到文件的方式响应,因此curl -L即可下载。
通过 API 上传的文件与在应用中上传的文件一样,会私密保存在您的 Lab 中。
项目、模板与声音
GET /api/projects列出您的项目,最新的在前:Director 项目(附想法和摘要),以及 新闻视频、Aisma、DUB 和 Image Editor 草稿(附已保存的数据)。可按kind筛选;用limit和返回的next_cursor翻页。- 带
kind、title和data调用POST /api/projects保存新草稿;Idempotency-Key请求头让重试返回同一份草稿。带上草稿当前的revision调用PUT /api/projects/{id}保存修改,过时的版本会以409被拒绝。DELETE /api/projects/{id}删除项目(delete 权限);其 Lab 文件会保留。 - Director 项目通过
POST /api/director/projects(见上文)创建,而不是作为草稿。 GET /api/templates列出已发布的 Aisma 模板(category、q、limit、cursor),GET /api/templates/{id}显示单个模板,带Idempotency-Key调用POST /api/templates/{id}/open可将其作为新项目打开。GET /api/voices列出任务和 Director 角色可用的声音:预设声音和您已就绪的克隆声音。GET /api/voice-clones列出您的克隆声音及其状态,DELETE /api/voice-clones/{id}删除克隆声音,包括在声音服务商处的副本(delete 权限)。
新闻视频 与社交发布
GET /api/trends/search?q=…搜索近期新闻(language为en或ru;country、category、domains、sort_by)。POST /api/trends/script依据新闻来源撰写脚本,POST /api/trends/verify将脚本与这些来源进行核对。- 新闻监控按计划查找新报道:
GET和POST /api/trends/monitors,PUT和DELETE /api/trends/monitors/{id}。 GET /api/social/connections显示已连接的社交账号,GET /api/social/publications显示您的发布及其状态。连接账号需要在应用中登录。- 带
asset_id(已就绪的视频)和platform,可选caption、headline、visibility、cover_asset_id和scheduled_at,以及Idempotency-Key调用POST /api/social/publications,即可发布或定时发布视频。这需要 publish 权限,只有您在创建密钥时勾选了它,密钥才具有此权限。发布内容对所有人可见:代理应向您展示视频、平台和文案,并在您明确同意后才发布。 POST /api/social/publications/{id}/cancel取消尚未发出的发布(publish 或 write 权限)。- 视频编辑器预览(
POST /api/video-editor/preview)返回 MP4 流,因此只能通过 REST 使用。
等待:长轮询与 Webhook
有两种方式可以得知工作何时完成。
长轮询。GET /api/jobs/{id}?wait=30 和 GET /api/director/turns/{id}?wait=30 会在指定秒数(0 至 30)内等待任务或发言结束(Director 提出问题时,发言也会停止),然后连同 waited_seconds 一起返回。仍在进行时,retry_after_s 提示何时再次查询。无法接收 Webhook 的笔记本电脑上的代理就以这种方式等待。
Webhook。使用 API 密钥启动任务时添加 webhook_url(一个公开的 HTTPS 地址),任务结束时 VlogMe 会发送事件:
{"id": "job.<job id>.succeeded", "type": "job.succeeded", "created_at": "…",
"job": {"id": "…", "kind": "image", "status": "succeeded", "result_asset_id": "…", "error_code": null}}
- 事件类型为
job.succeeded、job.failed或job.partial(部分成果已在 Lab 中,缺失部分的积分已退回)。审核中的任务(needs_review)尚未结束,结束时才会发送事件。 - 最终合成失败的部分完成任务,可通过
POST /api/jobs/{id}/reassemble免费重新合成。合成结束后,会有新事件告知结果;即使再次合成失败、任务仍为部分完成,也会发送事件。每种结果都有各自的事件 ID(部分完成的事件 ID 以其error_code结尾:job.<job id>.partial.<error code>;免费重新合成失败 n 次后,还会加上.retry<n>)。该次数可在GET /api/jobs/{id}的reassembly_failures中查看。片段被修改过的 Aisma 编辑要用另一种方式合成:对它发出这个请求会以409(clip_job_required)被拒绝,视频改由input为{"clip": {"job_id": "<该编辑的任务 ID>", "op": "assemble"}}的任务免费合成。片段任务以aisma_clip_video_pending部分完成时,也用同样的任务合成视频。 - 每次发送都带有
X-VlogMe-Event-Id、X-VlogMe-Timestamp和X-VlogMe-Signature: v1=<hex>:以您 API 密钥的 SHA-256 摘要为密钥,对<timestamp>.<body>计算的 HMAC-SHA256。请校验签名,并拒绝过旧的时间戳。 - 未收到 2xx 响应的发送最多重试八次,间隔从 30 秒逐步延长到每小时一次。撤销密钥后发送即停止。
MCP 服务器
支持 Model Context Protocol 的 AI 智能体使用同一个 Authorization: Bearer 密钥连接 https://vlogme.ai/mcp(基于 HTTP POST 的 JSON-RPC 2.0);https://vlogme.ai/api/mcp 是同一服务器的另一个地址。支持的协议版本:2026-07-28(无状态,使用 Mcp-Method 和 Mcp-Name 请求头以及 server/discover),以及 2025-11-25、2025-06-18 和 2025-03-26(带 initialize,并以客户端请求的版本应答)。没有 MCP-Protocol-Version 请求头的请求按 2025-03-26 处理。单个请求最大 1 MB。
这些工具涵盖密钥通过 REST 能做的事。每个工具需要表中列出的权限。工具列表与密钥权限无关;密钥无权发起的调用会以 code: scope_missing 的拒绝结果返回。在 URL 后加上 ?tools=all(https://vlogme.ai/mcp?tools=all),列表就会列出表中的所有工具;各客户端的连接方法见 MCP 服务器设置。
| 工具 | 权限 | 作用 |
|---|---|---|
vlogme_account | read | 账户与积分余额 |
vlogme_get_catalog | read | 任务目录 |
vlogme_list_assets | read | 列出 Lab 文件 |
vlogme_get_asset | read | Lab 文件与下载链接 |
vlogme_list_working_projects | read | 按项目查看工作文件 |
vlogme_create_upload | write | 开始上传 |
vlogme_complete_upload | write | 完成上传 |
vlogme_import_asset | write | 从网址导入文件 |
vlogme_update_asset | write | 重命名或归档文件 |
vlogme_delete_asset | delete | 删除 Lab 文件 |
vlogme_share_asset | share | 开启或关闭公开链接 |
vlogme_preview_cleanup | read | 预览清理 |
vlogme_cleanup_working_files | delete | 清理工作文件 |
vlogme_list_jobs | read | 列出任务 |
vlogme_get_job | read | 读取单个任务 |
vlogme_wait_job | read | 等待任务结束 |
vlogme_get_job_clips | read | Aisma 编辑的片段 |
vlogme_quote_job | read | 任务报价 |
vlogme_create_job | write | 启动付费任务 |
vlogme_reassemble_job | write | 重新合成部分完成的任务 |
vlogme_list_projects | read | 列出项目 |
vlogme_save_project | write | 保存草稿 |
vlogme_delete_project | delete | 删除项目 |
vlogme_director_create | write | 新建 Director 项目 |
vlogme_director_get | read | 读取 Director 项目 |
vlogme_director_message | write | 向 Director 提出请求 |
vlogme_director_turn | read | 读取或等待 Director 发言 |
vlogme_director_answer | write | 回答 Director 的问题 |
vlogme_director_turn_action | write | 停止、应用或放弃发言结果 |
vlogme_director_edit | write | 编辑规划 |
vlogme_director_undo | write | 恢复较早的版本 |
vlogme_director_prepare | write | 准备图片、声音和音乐 |
vlogme_director_quote_render | read | 视频报价 |
vlogme_director_render | write | 渲染视频 |
vlogme_director_result | read | 成片 |
vlogme_list_templates | read | 列出模板 |
vlogme_get_template | read | 读取单个模板 |
vlogme_open_template | write | 打开模板 |
vlogme_list_voices | read | 列出声音 |
vlogme_delete_voice_clone | delete | 删除克隆声音 |
vlogme_trends_search | read | 搜索新闻 |
vlogme_trends_discover | read | 新闻推荐 |
vlogme_news_read_article | write | 读取新闻全文 |
vlogme_news_get_article | read | 已保存的文章和引用段落 |
vlogme_trends_script | write | 撰写新闻视频脚本 |
vlogme_trends_verify | write | 附加来源而不改写旁白(旧接口) |
vlogme_news_presenters | read | 已保存的新闻主持人 |
vlogme_news_create_presenter | write | 保存新闻主持人 |
vlogme_news_update_presenter | write | 更新主持人资料 |
vlogme_news_delete_presenter | delete | 删除已保存的主持人资料 |
vlogme_news_tasks | read | 新闻任务和共享预算 |
vlogme_news_create_task | write | 创建新闻任务 |
vlogme_news_update_task | write | 修改新闻任务 |
vlogme_news_delete_task | delete | 停止并删除新闻任务 |
vlogme_news_run_task | write | 准备供人工审核的新闻 |
vlogme_news_task_runs | read | 新闻任务运行记录 |
vlogme_social_status | read | 社交账号与发布 |
vlogme_publish_video | publish | 发布视频 |
vlogme_cancel_publication | publish / write | 取消发布 |
- 只读工具带有
readOnlyHint。执行删除的工具带有destructiveHint,其描述以“Irreversible.”开头;让内容公开的工具,描述以“Public.”开头;付费工具会注明需要消耗积分。代理必须先向您确认这些调用。 - 参数会按每个工具的模式进行检查。错误或未知的参数会在发送任何请求之前被拒绝,返回带
isError: true和code: invalid_input的结果。 - 每个列表工具都接受
limit(1 至 50,默认 20)和cursor,并返回next_cursor(最后一页为null)。 vlogme_wait_job和vlogme_director_turn每次调用最多等待 30 秒;只要响应中有retry_after_s,就请再次调用。- 资源:
resources/read提供vlogme://docs/agents(面向代理的指南:从想法到视频、计费规则、等待与错误)、vlogme://catalog(任务目录)和vlogme://openapi(OpenAPI 描述)。initialize会返回概述同样流程的简短说明。
通过 MCP 启动任务:
- 使用
kind和input调用vlogme_quote_job,并确认返回的credits。 - 使用相同的
kind和input、新的 UUIDidempotency_key、设为返回值credits的quoted_credits,以及未修改的quote_fingerprint调用vlogme_create_job。Aisma 还需要原样传入报价中的quote_proof。 - 如果确认已过期,或价格、输入发生变化,请重新获取并确认报价后再试。已接受的请求使用相同的
idempotency_key重试会返回同一个任务。
Director 视频遵循同样的规则:先调用 vlogme_director_quote_render,向用户展示价格,再带上该报价和 idempotency_key 调用 vlogme_director_render。
可选的 webhook_url 用于接收上述任务事件。MCP 与 REST 使用相同的 API 密钥、积分余额和价格检查。
在 Codex 中,将服务器添加到 ~/.codex/config.toml,并把密钥保存在环境变量 VLOGME_API_KEY 中:
[mcp_servers.vlogme]
url = "https://vlogme.ai/mcp"
bearer_token_env_var = "VLOGME_API_KEY"
tool_timeout_sec = 120
限制与规则
- 任务消耗的积分与应用中相同,从同一余额扣除;报价即价格。
Idempotency-Key为 UUID。将同一个键用于不同请求会被拒绝。- Aisma 任务需要报价返回的
quote_proof。它有有效期,过期后请重新获取报价。 - Aisma 任务可带可选字段
engine:v1或v2,不传时为v2。两个版本的价格和可用参考照片数量不同,各自的上限见GET /api/catalog?kind=aisma。报价只对应一个版本:要用另一个版本开始,请重新获取报价。由模板打开的项目始终使用v2。 - 错误以 JSON
{"error": "…", "code": "…"}返回,并附 HTTP 状态码:400输入无效(invalid_input),403密钥权限不允许的请求(scope_missing、session_required),404未找到,409价格、输入或规划已变化,429请求过多,503服务或服务商暂时不可用。 - 请求有频率限制。超过限制时返回
429、code: rate_limited和Retry-After请求头:等待相应秒数后再试。 - 通过 MCP,被拒绝的工具调用不是 HTTP 错误:它作为带
isError: true的工具结果返回,内容是相同的 JSON(error、status,如有还包括code)。在 MCP 中,只有缺少或无效的密钥(401)、没有 API 访问权限的账户或外部Origin(403)以及格式错误的请求才是 HTTP 错误。 - 通过 API 创建的内容与在应用中创建的内容一样,遵守服务条款。


