加载中跳到主要内容

生成接口

创建生成任务

使用幂等请求与正式账户积分创建异步图像或视频任务。

接口

POST/api/v1/developer/generations

鉴权与 Scope

Authorization: Bearer <credential>;仅接受正式账户 API Key / OAuth。

Scope: generations:write

Idempotency-Key — 必填;相同请求重试复用同一值。

将示例 model_key 和 parameters 替换为当前目录支持的值。拒绝未知字段以及 provider/URL/storage/endpoint 注入。

202 表示接受,不代表完成。不确定的提交使用相同 Idempotency-Key 和相同 payload 重试;新意图使用新 key。持续查询 generation_id 直到终态。

请求参数

字段类型必填说明
model_keystring是当前公开模型目录返回的完整 key。
operationstring是image_generation 或 video_generation,必须受所选模型支持。
promptstring是非空提示词,最多 8,000 字符。
negative_promptstring否最多 8,000 字符,须符合模型支持范围。
parametersobject否只传该模型 input_schema 接受的参数;按模型要求填写尺寸、时长等。
reference_upload_idsUUID[]否已完成上传的 upload_id,最多 8 个;模型限制可能更严格。
client_trace_idstring否最多 128 字符,仅限 [A-Za-z0-9._:-]+。
curl --request POST \
  --url 'https://api.perchanceai.art/api/v1/developer/generations' \
  --header 'X-App-Id: perchanceai' \
  --header 'X-Request-Id: docs-example' \
  --header 'Authorization: Bearer <formal_account_credential>' \
  --header 'Idempotency-Key: <unique_request_uuid>' \
  --header 'Content-Type: application/json' \
  --data '{"model_key":"<model_key_from_catalog>","operation":"image_generation","prompt":"A bright editorial product still life","parameters":{}}'

响应 HTTP 202

以下为说明响应结构的示例,并非实时 API 响应。示例数值和 USD 不代表固定定价或资金余额。空字段省略。

REST 成功响应为 success、code、message、request_id 和 data;下表描述 data。

字段类型必填说明
generation_idUUID是凭据所属账户及 App 的持久任务标识。
statusstring是持续查询直到 succeeded、failed 或 cancelled;请求被接受不代表完成。
model_key / modality / operationstring是所选模型、image/video 模态及公开 operation。
created_at / updated_atISO UTC string是UTC 时间。
completed_atISO UTC string否存在时表示完成时间。
poll_after_msinteger否非终态建议轮询间隔(当前 2000);终态省略。
estimated_credits / reserved_credits / charged_creditsinteger是账户积分估价、预扣及实际扣除。
outputsobject[]是media_id、media_type、url,以及可选 width、height、duration_ms。
errorobject否任务失败信息:code、message、retryable;无错误时省略。
client_trace_idstring否提供时回传客户端关联标识。
{
  "success": true,
  "code": "OK",
  "message": "OK",
  "request_id": "docs-example",
  "data": {
    "generation_id": "11111111-1111-4111-8111-111111111111",
    "status": "queued",
    "model_key": "<model_key_from_catalog>",
    "modality": "image",
    "operation": "image_generation",
    "created_at": "2026-10-14T00:00:00.000Z",
    "updated_at": "2026-10-14T00:00:00.000Z",
    "poll_after_ms": 2000,
    "estimated_credits": 10,
    "reserved_credits": 10,
    "charged_credits": 0,
    "outputs": []
  }
}

相关错误

  • 401 — DEVELOPER_TOKEN_REQUIRED
  • 401 — DEVELOPER_TOKEN_INVALID / DEVELOPER_TOKEN_EXPIRED / DEVELOPER_TOKEN_REVOKED
  • 403 — DEVELOPER_SCOPE_INSUFFICIENT
  • 400 — IDEMPOTENCY_KEY_REQUIRED / IDEMPOTENCY_KEY_INVALID
  • 422 — FIELD_REQUIRED / FIELD_INVALID
  • 402 — CREDITS_INSUFFICIENT
  • 409 — IDEMPOTENCY_PAYLOAD_MISMATCH / IDEMPOTENCY_IN_PROGRESS / IDEMPOTENCY_REPLAY_EXPIRED

缺 bearer 返回 REQUIRED;无效凭据(包括历史匿名令牌)返回 INVALID。过期或撤销凭据使用对应错误码。

{
  "success": false,
  "code": "DEVELOPER_TOKEN_REQUIRED",
  "message": "A developer bearer token is required.",
  "request_id": "docs-example"
}