回调

ModelPort API 文档

使用说明

任务成功、失败或取消后,ModelPort 向 callback_url 发送签名事件。

提交任务时传入公开 HTTPS 地址和你生成的 32 至 128 位独立签名密钥。密钥可用字母、数字、短横线或下划线。

提交带回调的任务

curl "https://apimodel.store/v1/jobs" \
  -H "Authorization: Bearer $MODELPORT_API_KEY" \
  -H "Idempotency-Key: webhook-example-01" \
  -H "Content-Type: application/json" \
  --data '{"model":"nano-banana-2-1","prompt":"A ceramic cup in soft morning light","callback_url":"https://app.example.com/hooks/modelport","callback_secret":"REPLACE_WITH_A_RANDOM_WEBHOOK_SECRET"}'

验证并接收

以 ModelPort-Timestamp、一个英文句点和请求原始正文拼接成待签字符串。用你的密钥计算 HMAC-SHA256,再以恒定时间比较十六进制结果和 ModelPort-Signature 中的 v1= 后缀。时间戳以秒计,拒绝与当前时间相差超过 5 分钟的请求。

事件类型为 job.succeeded、job.failed 或 job.cancelled。用已验签正文的 id 去重。失败事件的 data.failure 与任务查询字段一致。结果文件通过事件中的 URL 读取,仍须携带本站 API 密钥。

重试与状态

接收端返回 2xx 即确认投递。超时、跳转或其他状态会按 1、2、4、8、15 分钟的间隔重试。GET /v1/jobs/{id} 的 callback.status 显示投递状态,轮询仍可查询任务结果。本地预览不会向外发送回调。