跳转到主要内容

Documentation Index

Fetch the complete documentation index at: https://docs.vmeg.ai/llms.txt

Use this file to discover all available pages before exploring further.

是什么

异步任务完成后,VMEG 向你配置的 Webhook URL 发送 HTTP POST,请求体为 JSON。请按 Webhook 签名校验 校验 X-TimestampX-Signature create-async 的 HTTP 响应只表示受理(taskId 等)。成品在 Webhook 请求体中返回,不在该响应里。

公共结构

各类异步完成回调共用以下顶层字段;产品相关字段在 data 中:
{
  "code": 200,
  "version": "v1",
  "event": "openapi-tts",
  "pipelineKey": "a1b2c3d4e5f6789012345678901234ab",
  "message": "",
  "extraData": { "your": "memo" },
  "data": { }
}
字段含义
code本次回调的业务结果(200 表示任务成功)
version任务的 API 版本号(如 v1v2
event哪类产品任务已完成 — 见下表
pipelineKey该次异步完成的稳定标识 — 用于接收端去重(见下文)
messagecode 非成功时的说明
extraData异步提交时传入的 extraData 回显(若提交时有传)
data任务结果;结构随 event 而异

pipelineKey 去重

VMEG 为每次已受理的异步任务分配一个 pipelineKey,并在该次完成的所有 Webhook POST 中携带。
情况处理方式
首次见到某 pipelineKey验签、处理 data、持久化该键、返回 2xx
再次收到相同 pipelineKey(重试)快速返回 2xx;不要重复计费或不可逆操作
pipelineKey 用于 Webhook 投递去重,与 create-async 上的 X-Idempotency-Key(防止重复提交任务)不是同一概念。一次已受理的异步任务对应一个 pipelineKeydata.taskId 标识任务,但重试去重应以 pipelineKey 为准。

event 字段

eventJSON 请求体里的字符串,表示是哪条 Open API 产品线的异步任务已结束。请用它做路由(先根据 event 分支,再解析 data)。
API 参考 里各 create-async 页面下的 Callbacks 区块名称来自 OpenAPI 工具命名。集成时请以 POST JSON 里的 event 字段取值为准,不要依赖该区块标题字面量。

各产品对应的 event

产品event 取值异步创建接口data 中关注的内容
文本转语音openapi-tts创建 TTS(异步)合成 resultstaskId — 见该页 Callbacks
文本翻译openapi-translate创建文本翻译(异步)items(译文列表)、taskId
声音克隆openapi-clone-voice创建声音克隆(异步)成功时的 voiceId 等克隆字段
音视频翻译openapi-media-translation创建媒体翻译(异步)交付物 CDN URL 等,见 result
当前异步任务完成回调 仅使用 以上四种 event。若后续新增回调类型,会同步更新本文与各接口 Callbacks 说明。

处理示例

POST /your-webhook
  → 验签
  → 解析 JSON
  → 若 pipelineKey 已处理 → 返回 200
  → 按 event 分支:
       openapi-tts                 → 解析 TTS data
       openapi-translate           → 解析翻译 data
       openapi-clone-voice         → 解析克隆 data
       openapi-media-translation   → 解析媒体翻译 data
  → 记录 pipelineKey → 返回 200

各接口的请求 schema

字段类型与嵌套结构见 API 参考中各 create-async 操作下的 Callbacks(上表已链到对应页面)。