Api.Airforce
API REFERENCE

Generación de imágenes

Genere y edite imágenes con un punto final unificado y compatible con OpenAI que se distribuye en Flux, Nano-Banana, Wan y más.

Un único endpoint de imágenes compatible con OpenAI se distribuye a Flux, Nano-Banana, Wan y otros proveedores. Envía la misma estructura de request independientemente del upstream; las opciones específicas de cada proveedor pasan a través y se validan contra las capacidades de cada modelo.

Descubre los modelos de imagen listando el endpoint de models y conservando aquellos cuyas modalities de salida incluyan image.

POST /v1/images/generations

Compatible con OpenAI images.generate SDK. Los parámetros específicos del proveedor conviven con los estándar: el backend transmite lo que entiende cada modelo.

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

Modelos de imagen

· live

Parámetros comunes

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.

Ejemplo 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 respuesta

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 de transmisión

Aprobar sse: true al realizar proxy a través de middleware que tiene tiempos de inactividad ajustados. La respuesta es un evento SSE con el JSON completo, luego [DONE].

data: {"created":1715000000,"data":[{"url":"https://.../image.jpeg"}]}

data: [DONE]

Imagen a imagen y referencia

Modelos con image_caps.max_input_images > 0 aceptar imágenes de referencia. Pase URL o datos codificados en 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 del modelo

Más allá de los parámetros comunes anteriores, las familias de modelos individuales aceptan extras. Los parámetros desconocidos se envían al canal ascendente tal cual, por lo que cualquier mando específico del proveedor futuro también funcionará sin una actualización del 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".

Descubriendo capacidades

Cada modelo de imagen expone image_caps en /v1/models para que los clientes puedan validar las 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.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).

Los precios de imagen no están en image_caps — usa los campos de precio del modelo en /v1/models para el coste.