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.

Un unico endpoint di immagini compatibile con OpenAI si dirama verso Flux, Nano-Banana, Wan e altri provider. Invia la stessa struttura di richiesta indipendentemente dall'upstream; le opzioni specifiche del provider vengono passate e validate rispetto alle capacità di ciascun modello.

Individua i modelli di immagini elencando l'endpoint dei modelli e tenendo quelli le cui output modalities includono image.

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[].urlstringOptionalImage URL when response_format is "url" (default). The image is re-hosted to a file host and the link ends in /image.jpeg; null if the re-host fails.
data[].b64_jsonstringOptionalBase64-encoded image bytes when response_format is "b64_json". The format follows the upstream provider (often JPEG), not necessarily PNG.
{
  "created": 1715000000,
  "data": [{
    "url": "https://.../image.jpeg"
  }]
}

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://.../image.jpeg"}]}

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.max_input_imagesintegerOptional0 = text-only model. Higher = supports reference images.
image_caps.supports_url_inputbooleanOptionalWhether input_images may be passed as URLs (vs base64).
image_caps.supports_seedbooleanOptionalWhether the model honours a seed value (most scraping-proxy upstreams ignore it).

Il prezzo delle immagini non è in image_caps — usa i campi di prezzo del modello su /v1/models per il costo.