API REFERENCE
影像生成
使用與 OpenAI 相容的統一端點產生和編輯影像,該端點可扇出至 Flux、Nano-Banana、Wan 等。
POST /v1/images/generations
與 OpenAI 直接相容 images.generate SDK。特定於提供者的參數與標準參數並存-後端轉發每個模型理解的內容。
POST
https://api.airforce/v1/images/generations影像模型
…· live常用參數
| Parameter | Type | Required | Description |
|---|---|---|---|
| model | string | Required | Image model ID. Filter /v1/models by output_modalities.includes("image"). |
| prompt | string | Required | Image description. |
| n | integer | Optional | Number of variations to generate per request. Capped by the model's image_caps.max_n. |
| size | string | Optional | OpenAI-style WxH, e.g. "1024x1024". Provider-specific values pass through. |
| aspect_ratio | string | Optional | Alternative to size. "16:9", "1:1", "9:16", … Validated against image_caps.aspect_ratios. |
| quality | string | Optional | "standard" | "hd" (OpenAI) or model-specific labels. Validated. |
| response_format | string | Optional | "url" (default) or "b64_json". |
| seed | integer | Optional | Reproducibility seed. Same prompt + same seed = same image (where the upstream supports it). |
| input_images | array | Optional | [{ url? } | { b64_json? }] for image-to-image / reference / first-frame. |
| sse | boolean | Optional | When true the response is sent as Server-Sent Events. The full JSON arrives in one event followed by [DONE]. Useful to keep long upstream renders from timing out at proxies. |
基本範例
curl https://api.airforce/v1/images/generations \
-H "Authorization: Bearer sk-air-YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "flux-2-dev",
"prompt": "A cute baby sea otter floating on its back",
"n": 1,
"response_format": "url"
}'回應形狀
| Parameter | Type | Required | Description |
|---|---|---|---|
| created | integer | Optional | Unix timestamp. |
| data | array | Optional | Generated assets. |
| data[].url | string | Optional | Pre-signed CDN URL when response_format is "url". |
| data[].b64_json | string | Optional | Base64-encoded PNG when response_format is "b64_json". |
| data[].revised_prompt | string | Optional | Some models rewrite the prompt before generating; the rewritten version is returned here. |
{
"created": 1715000000,
"data": [{
"url": "https://cdn.api.airforce/images/abc123.png"
}]
}串流版本
經過 sse: true 當透過具有嚴格空閒超時的中間件進行代理時。回應是一個帶有完整 JSON 的 SSE 事件,然後 [DONE].
data: {"created":1715000000,"data":[{"url":"https://cdn.api.airforce/images/abc123.png"}]}
data: [DONE]圖像到圖像和參考
型號有 image_caps.max_input_images > 0 接受參考圖像。傳遞 URL 或 Base64 編碼的資料。
curl https://api.airforce/v1/images/generations \
-H "Authorization: Bearer sk-air-YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "flux-2-dev",
"prompt": "Same character, now in a snowy forest",
"aspect_ratio": "16:9",
"input_images": [
{"url": "https://example.com/character.jpg"}
]
}'特定型號參數
除了上述通用參數之外,個別型號系列還接受額外參數。未知參數按原樣轉發到上游,因此任何未來特定於提供者的旋鈕也無需更新 SDK 即可運作。
Flux
flux-2-klein-4b, flux-2-klein-9b, flux-2-dev
| Parameter | Type | Required | Description |
|---|---|---|---|
| aspect_ratio | string | Optional | "1:1", "16:9", "9:16", "4:3", "3:4", "21:9", "9:21". |
| image_urls | array | Optional | Reference images for img2img mode. |
Nano-Banana
nano-banana-2, nano-banana-2-search, nano-banana-pro
| Parameter | Type | Required | Description |
|---|---|---|---|
| aspect_ratio | string | Optional | "1:1", "16:9", "9:16", "4:3". |
| resolution | string | Optional | "512", "1024", "2048". |
| image_urls | array | Optional | Reference images. |
Suno (music via /v1/images/generations)
suno-v4.5, suno-v5 — Suno historically routes through this endpoint. Native music API at /v1/audio/music is preferred for new code.
| Parameter | Type | Required | Description |
|---|---|---|---|
| custom | boolean | Optional | Switch from "auto" to fully custom mode. |
| instrumental | boolean | Optional | Suppress vocals. |
| style | string | Optional | Genre tag list, e.g. "EDM, Bass". |
發現能力
每個影像模型都暴露 image_caps 在 /v1/models 因此客戶端可以在發送之前驗證輸入:
| Parameter | Type | Required | Description |
|---|---|---|---|
| image_caps.max_n | integer | Optional | Maximum n per request. |
| image_caps.aspect_ratios | array | Optional | Allowed aspect_ratio values. |
| image_caps.qualities | array | Optional | Allowed quality values. |
| image_caps.sizes | array | Optional | Allowed size values when applicable. |
| image_caps.max_input_images | integer | Optional | 0 = text-only model. Higher = supports reference images. |
| image_caps.price_per_image_cents | integer | Optional | Cost per generated image. Multiply by n for the total request cost. |