Api.Airforce
API REFERENCE

Generazione di immagini

Genera e modifica immagini con un endpoint unificato e compatibile con OpenAI che si estende a Flux, Nano-Banana, Wan e altro ancora.

POST /v1/images/generations

Drop-in compatibile con OpenAI images.generate SDK. I parametri specifici del provider convivono insieme a quelli standard: il backend inoltra ciò che comprende ciascun modello.

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

Modelli di immagine

· live

Parametri comuni

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.

Esempio di base

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 della risposta

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 in streaming

Passaggio sse: true durante l'inoltro tramite middleware con timeout di inattività ridotti. La risposta è quindi un evento SSE con il JSON completo [DONE].

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

data: [DONE]

Immagine per immagine e riferimento

Modelli con image_caps.max_input_images > 0 accettare immagini di riferimento. Passa URL o dati con codifica 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"}
    ]
  }'

Parametri specifici del modello

Oltre ai parametri comuni di cui sopra, le singole famiglie di modelli accettano extra. I parametri sconosciuti vengono inoltrati all'upstream così come sono, quindi qualsiasi futura manopola specifica del provider funzionerà anche senza un aggiornamento dell'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".

Alla scoperta delle capacità

Ogni modello di immagine espone image_caps SU /v1/models in modo che i client possano convalidare gli input prima di inviare:

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.