Imagifly 开发者文档
HTTP API

API 通用约定

创建 Key、发出第一个请求,并了解所有接口共同遵循的规则。

Base URL

https://imagifly.net/api/v1

所有接口都通过 HTTPS 传输 JSON。视频提交还额外接受 multipart/form-data。

鉴权

打开 API 控制台,登录后点击 创建。Key 只显示一次,请立即复制保存。

Key 形如 imf_...。每个账号最多一个有效 Key;创建新 Key 会使旧 Key 立即失效。请把 Key 放在环境变量里,而不是写进源码:

export IMAGIFLY_API_KEY="imf_your_key_here"

用两个请求头之一传入 Key:

Authorization: Bearer imf_your_key_here
x-api-key: imf_your_key_here

没有有效 Key 的请求会返回 401 UNAUTHORIZED。Key 属于某一个账号;在控制台撤销后立即生效。

Key 只放在服务端

API Key 代表你的账号并消耗积分。不要把它打进浏览器产物或移动应用;请从后端调用 API。

没有 OAuth 流程,没有浏览器会话,也没有签名 URL。Key 是唯一的凭证。

第一个请求

先查模型目录,获取当前的模型 ID、价格和限制:

curl -s https://imagifly.net/api/v1/images/models \
  -H "Authorization: Bearer $IMAGIFLY_API_KEY"

然后提交一次图片生成:

curl -s -X POST https://imagifly.net/api/v1/images/generations \
  -H "Authorization: Bearer $IMAGIFLY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-image-2",
    "prompt": "A quiet tea shop on a rainy Shanghai street, warm window light",
    "ratio": "16:9"
  }'

提交成功会返回 202 Accepted:

{
  "ok": true,
  "generation": {
    "id": "gen_2f1c9a...",
    "status": "generating",
    "cost": 12,
    "size": "1536x864",
    "imageCount": 1
  },
  "settings": {
    "model": "gpt-image-2",
    "ratio": "16:9",
    "resolutionTier": null,
    "steps": null
  }
}

积分会在任务被接受时扣除。

轮询直到完成

POST /generations  →  202 + generation.id (status: generating)
GET  /generations/{id}  →  status: generating | success | failed
curl -s https://imagifly.net/api/v1/images/generations/gen_2f1c9a... \
  -H "Authorization: Bearer $IMAGIFLY_API_KEY"
{
  "ok": true,
  "generation": {
    "id": "gen_2f1c9a...",
    "status": "success",
    "error": null,
    "durationMs": 18420,
    "imageUrls": ["https://imagedelivery.net/.../public"]
  }
}

每 2–5 秒轮询一次,直到状态进入终态。图片通常 10–60 秒完成,视频可能需要几分钟。没有 Webhook、回调或推送通道。status 为 failed 时,error 会说明原因,积分自动退回;成功的任务不退款。

使用结果

imageUrls(视频任务是 videoUrls)指向生成的文件。下载后存到你产品自己的媒体存储里;把这些 URL 当作临时分发链接,而不是永久存储。

响应结构

成功:

{ "ok": true, "...": "endpoint-specific fields" }

失败:

{ "ok": false, "error": "INVALID_IMAGE_REQUEST", "message": "Unknown image model: foo." }

完整的错误码列表见 错误。

积分

每个模型都有一个基础积分价格,在模型列表中以 credits 返回。最终价格可能取决于模型的选项——尺寸、分辨率档位、时长、质量或变体——实际扣费在受理响应中以 generation.cost 返回。

  • 每个请求一张图片:imageCount 恒为 1。
  • 账号余额无法覆盖的请求会在任何工作开始前以 402 拒绝。
  • 账号套餐限制了同时运行的生成任务数;超出时返回 429 CONCURRENCY_LIMIT。

归属

任务按持有该 API Key 的账号隔离。读取其他账号的任务会返回 404 GENERATION_NOT_FOUND,与任务不存在时的响应完全一致。

模型

接口鉴权用途
GET /api/v1/images/models需要图片模型及其价格和限制。
GET /api/v1/videos/models不需要平台当前可用的视频模型。

模型列表是实时的:平台启用或下线模型时,条目会随之出现或消失;价格请从列表读取,不要写死。

本页内容