通用任务与产物
通用任务接口适合需要统一处理多个生成服务的应用。请求使用自己的模型 API Key,并只访问同一账号的任务。
提交与查询路径
| 操作 | 方法与路径 |
|---|---|
| 提交某个已开放的任务服务 | POST /v1/tasks/{服务标识} |
| 查询任务状态 | GET /v1/tasks/{任务ID} |
| 列出产物 | GET /v1/tasks/{任务ID}/artifacts |
| 下载指定产物 | GET /v1/tasks/{任务ID}/artifacts/{产物key}/content |
提交时第一段参数是服务标识,例如 sora;查询时该位置变成提交后返回的任务 ID。服务标识需要按当前开放的模型说明确认,不能直接用模型 ID 代替。
提交示例
以下示例只面向已开放的 Sora 类文本转视频模型。创建 task.json,其他服务按自己的参数要求填写:
json
{
"model": "YOUR_VIDEO_MODEL_ID",
"prompt": "日出时平稳拍摄一片湖面,远处有薄雾。",
"seconds": "4",
"size": "1280x720"
}bash
curl -sS -X POST https://certaedge.com/v1/tasks/sora \
-H "Authorization: Bearer $CERTAEDGE_API_KEY" \
-H 'Content-Type: application/json' \
--data-binary @task.json保存响应中的 task_id。请求体必须有模型,且该模型需要属于所选服务并对账号开放。该入口主要接收 JSON,请求文件上传时优先使用模型明确支持的原生或视频端点。
统一查询状态
bash
export CERTAEDGE_TASK_ID='task_EXAMPLE'
curl -sS "https://certaedge.com/v1/tasks/$CERTAEDGE_TASK_ID" \
-H "Authorization: Bearer $CERTAEDGE_API_KEY"响应包含 task_id、platform、status、progress、fail_reason 等字段。这里使用大写任务状态:NOT_START、SUBMITTED、QUEUED、IN_PROGRESS 表示未完成,SUCCESS 表示成功,FAILURE 表示失败。
UNKNOWN 或无法识别的状态不当成成功,应保存任务 ID 再核对。不要用视频接口的小写状态值判断本接口。
列出和下载产物
任务成功后列出实际可用的文件:
bash
curl -sS "https://certaedge.com/v1/tasks/$CERTAEDGE_TASK_ID/artifacts" \
-H "Authorization: Bearer $CERTAEDGE_API_KEY"| 返回字段 | 含义 |
|---|---|
artifacts[].key | 该任务内的产物标识,下载时原样使用 |
artifacts[].type | 如 video、audio、image,以真实返回为准 |
artifacts[].mime_type | 文件媒体类型,可能不提供 |
artifacts[].content_url | 服务生成的内容地址,可能含访问凭证,不公开分享 |
可能有多个产物,也可能因尚未完成、历史任务或服务未提供文件而为空。空数组不是“成功下载了一个空文件”。
从真实产物列表复制 key,再下载对应文件;文件扩展名按实际媒体类型选择。若已有 artifact.bin,先将旧文件改名保存:
bash
export CERTAEDGE_ARTIFACT_KEY='YOUR_ARTIFACT_KEY'
curl --fail -L "https://certaedge.com/v1/tasks/$CERTAEDGE_TASK_ID/artifacts/$CERTAEDGE_ARTIFACT_KEY/content" \
-H "Authorization: Bearer $CERTAEDGE_API_KEY" \
--output artifact.bin未成功任务可能返回 artifact_not_ready;没有该产物时按错误处理,不能把错误 JSON 作为媒体文件保存。
跨服务统一处理时,参考状态表、n8n 分支流程和Python 轮询示例。