Api.Airforce
API REFERENCE

Görüntü oluşturma

Görselleri tek bir OpenAI uyumlu uç nokta üzerinden oluşturun ve düzenleyin. Aynı istek biçimi katalogdaki her görsel modeline ulaşır.

OpenAI uyumlu tek bir görsel endpoint'i Flux, Nano-Banana, Wan ve diğer sağlayıcılara dağılır. Upstream ne olursa olsun aynı request şeklini gönderin; sağlayıcıya özel seçenekler geçirilir ve her modelin yeteneklerine göre doğrulanır.

Görsel modellerini, models endpoint'ini listeleyerek ve output modalities'i image içerenleri tutarak keşfedin.

POST /v1/images/generations

OpenAI ile uyumlu açılır images.generate SDK'dır. Sağlayıcıya özgü parametreler standart olanların yanında yer alır; arka uç, her modelin anladığını iletir.

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

Resim modelleri

…· live

Ortak parametreler

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.

Temel örnek

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

Tepki şekli

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

Akış varyantı

Geçmek sse: true sıkı boşta kalma zaman aşımlarına sahip ara yazılım aracılığıyla proxy yaparken. Yanıt, JSON'un tamamını içeren bir SSE olayıdır, ardından [DONE].

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

data: [DONE]

Görüntüden görüntüye ve referans

Şunlara sahip modeller: image_caps.max_input_images > 0 referans görsellerini kabul edin. URL'leri veya base64 kodlu verileri iletin.

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

Görüntü düzenleme

OpenAI uyumlu düzenleme endpoint’i. Kaynak görüntüyü, OpenAI SDK’larının images.edit için yaptığı gibi multipart dosya olarak gönderin ya da yukarıdaki JSON gövdesini input_images ile gönderin. /v1/images/generations ile aynı yolu izler: aynı modeller, fiyatlar ve yanıt biçimi.

POSThttps://api.airforce/v1/images/edits
ParameterTypeRequiredDescription
modelstringRequiredAn image model with image_caps.max_input_images > 0 (see Discovering capabilities below).
promptstringRequiredWhat to change or create from the input image(s).
imagefileRequiredThe source image. Repeat as image[] for several references; images, images[] and input_images are accepted too, as files or as image URLs.
maskfileOptionalForwarded as is, but no listed model declares mask support, so the serving model may ignore it.
nintegerOptionalNumber of images to generate.
sizestringOptionalOutput size, e.g. "1024x1024", where the model supports it.
aspect_ratiostringOptionalOutput aspect ratio, e.g. "16:9", where the model supports it.
qualitystringOptionalModel-specific quality level.
response_formatstringOptional"url" or "b64_json", as on /v1/images/generations.
curl https://api.airforce/v1/images/edits \
  -H "Authorization: Bearer sk-air-YOUR_API_KEY" \
  -F "model=nano-banana-2" \
  -F "prompt=Same character, now in a snowy forest" \
  -F "[email protected]" \
  -F "aspect_ratio=16:9"
from openai import OpenAI

client = OpenAI(base_url="https://api.airforce/v1", api_key="sk-air-YOUR_API_KEY")

with open("character.png", "rb") as image:
    result = client.images.edit(
        model="nano-banana-2",
        image=image,
        prompt="Same character, now in a snowy forest",
    )
print(result.data[0].url)

İstek başına en fazla 16 girdi görüntüsü, her biri 25 MB; modelin kendi sınırı image_caps.max_input_images alanındadır. Girdi görüntüsü olmayan bir istek, metinden görüntüye çağrısına dönüşmek yerine 400 ile reddedilir. Her girdi görüntüsü, model sayfasında gösterildiği gibi fiyatı artırabilir.


Modele özgü parametreler

Yukarıdaki ortak parametrelerin ötesinde, bireysel model aileleri ekstraları kabul eder. Bilinmeyen parametreler olduğu gibi yukarı akışa iletilir, böylece gelecekte sağlayıcıya özel herhangi bir düğme bir SDK güncellemesi olmadan da çalışır.

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)

suno-v4.5, suno-v5 ve suno-v5.5 bu uç noktada geçmişte kabul ediliyordu. Artık şuradaki yerli müzik API’sine aitler: /v1/audio/music — buradaki çağrılar `wrong_endpoint` ile reddedilir.


Yetenekleri keşfetme

Her görüntü modeli ortaya çıkar image_caps Açık /v1/models böylece istemciler girişleri göndermeden önce doğrulayabilirler:

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

Görsel fiyatlandırması image_caps üzerinde değildir — maliyet için modelin /v1/models üzerindeki fiyat alanlarını kullanın.