Api.Airforce
API REFERENCE

Geração de imagem

Gere e edite imagens com um endpoint unificado e compatível com OpenAI que se espalha para Flux, Nano-Banana, Wan e muito mais.

POST /v1/images/generations

Drop-in compatível com OpenAI images.generate SDK. Os parâmetros específicos do provedor convivem com os padrões – o backend encaminha o que cada modelo entende.

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

Modelos de imagem

· live

Parâmetros comuns

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.

Exemplo básico

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"
  }'

Forma de resposta

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"
  }]
}

Variante de streaming

Passar sse: true ao fazer proxy por meio de middleware com tempos limite de inatividade reduzidos. A resposta é um evento SSE com o JSON completo, então [DONE].

data: {"created":1715000000,"data":[{"url":"https://cdn.api.airforce/images/abc123.png"}]}

data: [DONE]

Imagem a imagem e referência

Modelos com image_caps.max_input_images > 0 aceitar imagens de referência. Passe URLs ou dados codificados em 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"}
    ]
  }'

Parâmetros específicos do modelo

Além dos parâmetros comuns acima, famílias de modelos individuais aceitam extras. Parâmetros desconhecidos são encaminhados para o upstream como estão, portanto, qualquer botão futuro específico do provedor também funciona sem uma atualização do 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".

Descobrindo capacidades

Cada modelo de imagem expõe image_caps sobre /v1/models para que os clientes possam validar as entradas antes de enviar:

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.