Api.Airforce
API REFERENCE

影像生成

使用與 OpenAI 相容的統一端點產生和編輯影像,該端點可扇出至 Flux、Nano-Banana、Wan 等。

POST /v1/images/generations

與 OpenAI 直接相容 images.generate SDK。特定於提供者的參數與標準參數並存-後端轉發每個模型理解的內容。

POSThttps://api.airforce/v1/images/generations

影像模型

· live

常用參數

ParameterTypeRequiredDescription
modelstringRequiredImage model ID. Filter /v1/models by output_modalities.includes("image").
promptstringRequiredImage description.
nintegerOptionalNumber of variations to generate per request. Capped by the model's image_caps.max_n.
sizestringOptionalOpenAI-style WxH, e.g. "1024x1024". Provider-specific values pass through.
aspect_ratiostringOptionalAlternative to size. "16:9", "1:1", "9:16", … Validated against image_caps.aspect_ratios.
qualitystringOptional"standard" | "hd" (OpenAI) or model-specific labels. Validated.
response_formatstringOptional"url" (default) or "b64_json".
seedintegerOptionalReproducibility seed. Same prompt + same seed = same image (where the upstream supports it).
input_imagesarrayOptional[{ url? } | { b64_json? }] for image-to-image / reference / first-frame.
ssebooleanOptionalWhen 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"
  }'

回應形狀

ParameterTypeRequiredDescription
createdintegerOptionalUnix timestamp.
dataarrayOptionalGenerated assets.
data[].urlstringOptionalPre-signed CDN URL when response_format is "url".
data[].b64_jsonstringOptionalBase64-encoded PNG when response_format is "b64_json".
data[].revised_promptstringOptionalSome 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

ParameterTypeRequiredDescription
aspect_ratiostringOptional"1:1", "16:9", "9:16", "4:3", "3:4", "21:9", "9:21".
image_urlsarrayOptionalReference images for img2img mode.

Nano-Banana

nano-banana-2, nano-banana-2-search, nano-banana-pro

ParameterTypeRequiredDescription
aspect_ratiostringOptional"1:1", "16:9", "9:16", "4:3".
resolutionstringOptional"512", "1024", "2048".
image_urlsarrayOptionalReference 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.

ParameterTypeRequiredDescription
custombooleanOptionalSwitch from "auto" to fully custom mode.
instrumentalbooleanOptionalSuppress vocals.
stylestringOptionalGenre tag list, e.g. "EDM, Bass".

發現能力

每個影像模型都暴露 image_caps /v1/models 因此客戶端可以在發送之前驗證輸入:

ParameterTypeRequiredDescription
image_caps.max_nintegerOptionalMaximum n per request.
image_caps.aspect_ratiosarrayOptionalAllowed aspect_ratio values.
image_caps.qualitiesarrayOptionalAllowed quality values.
image_caps.sizesarrayOptionalAllowed size values when applicable.
image_caps.max_input_imagesintegerOptional0 = text-only model. Higher = supports reference images.
image_caps.price_per_image_centsintegerOptionalCost per generated image. Multiply by n for the total request cost.