छवि निर्माण
एक ही OpenAI-संगत एंडपॉइंट से छवियां बनाएं और संपादित करें। वही अनुरोध प्रारूप कैटलॉग के हर छवि मॉडल तक पहुंचता है।
एक ही OpenAI-compatible image endpoint Flux, Nano-Banana, Wan और अन्य providers तक फैल जाता है। upstream चाहे जो भी हो, वही request shape भेजें; provider-विशिष्ट options pass through होते हैं और हर मॉडल की capabilities के विरुद्ध validate किए जाते हैं।
models endpoint को list करके और उन मॉडलों को रखकर image मॉडल खोजें जिनकी output modalities में image शामिल है।
POST /v1/images/generations
OpenAI के साथ ड्रॉप-इन संगत images.generate एसडीके. प्रदाता-विशिष्ट पैरामीटर मानक मानकों के साथ रहते हैं - बैकएंड आगे बढ़ता है जो प्रत्येक मॉडल समझता है।
https://api.airforce/v1/images/generationsछवि मॉडल
…· liveसामान्य पैरामीटर
| Parameter | Type | Required | Description |
|---|---|---|---|
| model | string | Required | Image model ID. Find them on /v1/models: image models carry media_type: "image" and an image_caps block. |
| prompt | string | Required | Image description. |
| n | integer | Optional | Number of variations to generate per request. Capped by the model's image_caps.max_n. |
| size | string | Optional | OpenAI-style WxH, e.g. "1024x1024". Provider-specific values pass through. |
| aspect_ratio | string | Optional | Alternative to size. "16:9", "1:1", "9:16", … Validated against image_caps.aspect_ratios. |
| quality | string | Optional | "standard" | "hd" (OpenAI) or model-specific labels. Validated. |
| response_format | string | Optional | "url" (default) or "b64_json". |
| seed | integer | Optional | Reproducibility seed. Same prompt + same seed = same image (where the upstream supports it). |
| input_images | array | Optional | [{ url? } | { b64_json? }] for image-to-image / reference / first-frame. |
| sse | boolean | Optional | When 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. |
मूल उदाहरण
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"
}'प्रतिक्रिया स्वरूप
| Parameter | Type | Required | Description |
|---|---|---|---|
| created | integer | Optional | Unix timestamp. |
| data | array | Optional | Generated assets. |
| data[].url | string | Optional | Image 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_json | string | Optional | Base64-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"
}]
}स्ट्रीमिंग संस्करण
उत्तीर्ण sse: true जब मिडलवेयर के माध्यम से प्रॉक्सी किया जाता है जिसमें टाइट निष्क्रिय-टाइमआउट होता है। तो फिर, प्रतिक्रिया संपूर्ण JSON के साथ एक SSE ईवेंट है [DONE].
data: {"created":1715000000,"data":[{"url":"https://.../image.jpeg"}]}
data: [DONE]छवि-से-छवि और संदर्भ
के साथ मॉडल image_caps.max_input_images > 0 संदर्भ छवियाँ स्वीकार करें. या तो यूआरएल या बेस64-एन्कोडेड डेटा पास करें।
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"}
]
}'इमेज एडिट
OpenAI-संगत एडिट एंडपॉइंट। स्रोत इमेज को मल्टीपार्ट फ़ाइल के रूप में भेजें, जैसा OpenAI SDK images.edit के लिए करते हैं, या ऊपर दिखाया JSON बॉडी input_images के साथ भेजें। यह /v1/images/generations वाले रास्ते से ही चलता है: वही मॉडल, कीमतें और रिस्पॉन्स फ़ॉर्मेट।
https://api.airforce/v1/images/edits| Parameter | Type | Required | Description |
|---|---|---|---|
| model | string | Required | An image model with image_caps.max_input_images > 0 (see Discovering capabilities below). |
| prompt | string | Required | What to change or create from the input image(s). |
| image | file | Required | The source image. Repeat as image[] for several references; images, images[] and input_images are accepted too, as files or as image URLs. |
| mask | file | Optional | Forwarded as is, but no listed model declares mask support, so the serving model may ignore it. |
| n | integer | Optional | Number of images to generate. |
| size | string | Optional | Output size, e.g. "1024x1024", where the model supports it. |
| aspect_ratio | string | Optional | Output aspect ratio, e.g. "16:9", where the model supports it. |
| quality | string | Optional | Model-specific quality level. |
| response_format | string | Optional | "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)हर अनुरोध में अधिकतम 16 इनपुट इमेज, हर एक 25 MB तक; मॉडल की अपनी सीमा image_caps.max_input_images है। बिना इनपुट इमेज वाला अनुरोध टेक्स्ट-टू-इमेज कॉल बनने के बजाय 400 के साथ अस्वीकार होता है। हर इनपुट इमेज कीमत बढ़ा सकती है, जैसा मॉडल पेज पर दिखाया गया है।
मॉडल-विशिष्ट पैरामीटर
उपरोक्त सामान्य मापदंडों से परे, व्यक्तिगत मॉडल परिवार अतिरिक्त स्वीकार करते हैं। अज्ञात मापदंडों को यथावत अपस्ट्रीम पर अग्रेषित किया जाता है, इसलिए भविष्य का कोई भी प्रदाता-विशिष्ट नॉब एसडीके अपडेट के बिना भी काम करता है।
Nano-Banana
nano-banana-2, nano-banana-pro
| Parameter | Type | Required | Description |
|---|---|---|---|
| aspect_ratio | string | Optional | "1:1", "16:9", "9:16", "4:3". |
| resolution | string | Optional | "512", "1024", "2048". |
| image_urls | array | Optional | Reference images. |
Suno (music)
suno-v4.5, suno-v5 और suno-v5.5 ऐतिहासिक रूप से इस एंडपॉइंट पर स्वीकार किए जाते थे। अब वे नेटिव म्यूज़िक API के अंतर्गत आते हैं: /v1/audio/music — यहाँ की कॉल `wrong_endpoint` से अस्वीकार होती हैं।
क्षमताओं की खोज
प्रत्येक छवि मॉडल उजागर होता है image_caps पर /v1/models ताकि ग्राहक भेजने से पहले इनपुट सत्यापित कर सकें:
| Parameter | Type | Required | Description |
|---|---|---|---|
| image_caps.max_n | integer | Optional | Maximum n per request. |
| image_caps.aspect_ratios | array | Optional | Allowed aspect_ratio values. |
| image_caps.qualities | array | Optional | Allowed quality values. |
| image_caps.max_input_images | integer | Optional | 0 = text-only model. Higher = supports reference images. |
| image_caps.supports_url_input | boolean | Optional | Whether input_images may be passed as URLs (vs base64). |
| image_caps.supports_seed | boolean | Optional | Whether the model honours a seed value (most scraping-proxy upstreams ignore it). |
इमेज प्राइसिंग image_caps पर नहीं होती — लागत के लिए /v1/models पर मॉडल के price फ़ील्ड्स का उपयोग करें।