Api.Airforce
API REFERENCE

Pembuatan gambar

Hasilkan dan edit gambar melalui satu titik akhir yang kompatibel dengan OpenAI. Bentuk permintaan yang sama menjangkau setiap model gambar di katalog.

Satu endpoint image yang kompatibel dengan OpenAI menyebar ke Flux, Nano-Banana, Wan dan provider lain. Kirim bentuk request yang sama terlepas dari upstream-nya; opsi spesifik provider diteruskan dan divalidasi terhadap kemampuan masing-masing model.

Temukan model image dengan melisting endpoint models dan menyimpan yang output modalities-nya mencakup image.

POST /v1/images/generations

Drop-in kompatibel dengan OpenAI images.generate SDK. Parameter khusus penyedia sama dengan parameter standar — backend meneruskan apa yang dipahami setiap model.

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

Model gambar

· live

Parameter umum

ParameterTypeRequiredDescription
modelstringRequiredImage model ID. Find them on /v1/models: image models carry media_type: "image" and an image_caps block.
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.

Contoh dasar

curl https://api.airforce/v1/images/generations \
  -H "Authorization: Bearer sk-air-YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "nano-banana-2",
    "prompt": "A cute baby sea otter floating on its back",
    "n": 1,
    "response_format": "url"
  }'

Bentuk respons

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

Varian streaming

Lulus sse: true ketika melakukan proxy melalui middleware yang memiliki waktu tunggu idle yang ketat. Responsnya adalah satu peristiwa SSE dengan JSON lengkap [DONE].

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

data: [DONE]

Gambar-ke-gambar & referensi

Model dengan image_caps.max_input_images > 0 menerima gambar referensi. Baik meneruskan URL atau data yang dikodekan base64.

curl https://api.airforce/v1/images/generations \
  -H "Authorization: Bearer sk-air-YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "nano-banana-2",
    "prompt": "Same character, now in a snowy forest",
    "aspect_ratio": "16:9",
    "input_images": [
      {"url": "https://example.com/character.jpg"}
    ]
  }'

Parameter khusus model

Di luar parameter umum di atas, kelompok model individual menerima tambahan. Parameter yang tidak diketahui diteruskan ke upstream apa adanya, sehingga kenop khusus penyedia di masa mendatang juga berfungsi tanpa pembaruan SDK.

Nano-Banana

nano-banana-2, 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-v5.5 — 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".

Menemukan kemampuan

Setiap model gambar diekspos image_caps pada /v1/models sehingga klien dapat memvalidasi masukan sebelum mengirim:

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).

Harga image tidak berada di image_caps — gunakan field harga pada model di /v1/models untuk biayanya.