開發文件

影像生成

使用 OpenAI Images 相容介面生成和編輯圖片,支援 `gpt-image-2`、`gpt-image-2.5-flare`、`gpt-image-2.5-sunburst`、`nano-banana-2`、`nano-banana-2.1`、`nano-banana-pro` 等模型。

文字生圖

curl https://api.flyrouter.ai/v1/images/generations \
  -H "Authorization: Bearer $FLYROUTER_API_KEY" \
  -H "Content-Type: application/json" \
  --max-time 660 \
  -d '{
    "model": "nano-banana-2",
    "prompt": "一隻在鍵盤上打字的橘貓,扁平插畫風格",
    "resolution": "2K",
    "size": "16:9"
  }'

生成通常需要幾十秒到幾分鐘,介面會等圖片生成完再回傳,請把用戶端逾時設為 10 分鐘以上。回傳結構與 OpenAI 一致:

json
{
  "created": 1761800000,
  "data": [
    { "url": "https://api.flyrouter.ai/v1/tasks/task_abc/artifacts/image-0/content?access=..." }
  ]
}

圖片連結帶存取 token,可以直接下載或展示,無需再帶 API Key。需要長期儲存的圖片請下載到自己的儲存。想直接拿到圖片資料,可以加 "response_format": "b64_json",圖片會以 Base64 放在 data[].b64_json。

參數

參數說明
model必填,影像模型 ID
prompt必填,圖片描述
resolution解析度,預設 1K。GPT Image 可選 1K/2K/4K;nano-banana-2 另支援 0.5K
size畫面比例,如 1:1、16:9、9:16。GPT Image 只接受比例,不接受 1024x1024 這樣的畫素尺寸
n張數。gpt-image-2.5-* 支援 1–4,其他模型為 1
image_urls參考圖連結陣列(也可用 Data URL),用於圖生圖或多圖融合
response_formaturl(預設)或 b64_json

不同解析度價格不同,以 模型價格 頁面為準。

編輯圖片

用 POST /v1/images/edits 上傳原圖並描述修改,multipart/form-data 格式,圖片欄位為 image(多張用 image[]),單張不超過 20 MB:

終端機
curl https://api.flyrouter.ai/v1/images/edits \
  -H "Authorization: Bearer $FLYROUTER_API_KEY" \
  --max-time 660 \
  -F model="nano-banana-2" \
  -F image="@photo.png" \
  -F prompt="把背景換成星空"

逾時後取回結果

極少數情況下生成超過 10 分鐘,介面會回傳 504,錯誤碼 task_timeout,錯誤訊息裡帶任務 ID(如 task_abc)。任務仍會在背景完成,可以稍後查詢:

終端機
# 查詢任務狀態:SUCCESS 表示已完成,FAILURE 表示失敗
curl https://api.flyrouter.ai/v1/tasks/task_abc -H "Authorization: Bearer $FLYROUTER_API_KEY"

# 取得生成結果的下載連結
curl https://api.flyrouter.ai/v1/tasks/task_abc/artifacts -H "Authorization: Bearer $FLYROUTER_API_KEY"

artifacts 回傳的每一項都有 content_url,即圖片下載位址。

不支援的用法

  • 串流回傳(stream: true)。
  • 生成失敗時回傳 400,錯誤碼 image_generation_failed,失敗的請求不扣費。
FlyRouter

一組 Key,直飛全球大型模型