توليد الصورة
يمكنك إنشاء الصور وتحريرها باستخدام نقطة نهاية موحدة ومتوافقة مع OpenAI والتي تتجه إلى Flux وNano-Banana وWan والمزيد.
يتفرّع image endpoint واحد متوافق مع OpenAI ليصل إلى Flux و Nano-Banana و Wan وغيرها من المزوّدين. أرسل شكل الطلب نفسه بغض النظر عن المزوّد الخلفي؛ تُمرَّر الخيارات الخاصة بكل مزوّد ويُتحقَّق منها مقابل قدرات كل موديل.
اكتشف موديلات الصور عبر سرد الـ models endpoint والإبقاء على تلك التي تتضمن output modalities الخاصة بها image.
POST /v1/images/generations
منسدل متوافق مع OpenAI images.generate SDK. تعمل المعلمات الخاصة بالموفر جنبًا إلى جنب مع المعلمات القياسية، حيث تقوم الواجهة الخلفية بإعادة توجيه ما يفهمه كل نموذج.
https://api.airforce/v1/images/generationsنماذج الصور
…· liveالمعلمات المشتركة
| Parameter | Type | Required | Description |
|---|---|---|---|
| model | string | Required | Image model ID. Filter /v1/models by output_modalities.includes("image"). |
| 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": "flux-2-dev",
"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 عند استخدام الوكيل من خلال البرامج الوسيطة ذات مهلات الخمول الضيقة. الاستجابة هي حدث SSE واحد مع JSON الكامل [DONE].
data: {"created":1715000000,"data":[{"url":"https://.../image.jpeg"}]}
data: [DONE]صورة إلى صورة ومرجع
نماذج مع image_caps.max_input_images > 0 قبول الصور المرجعية. قم إما بتمرير عناوين URL أو البيانات المشفرة بـ 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"}
]
}'المعلمات الخاصة بالنموذج
بالإضافة إلى المعايير المشتركة المذكورة أعلاه، تقبل العائلات النموذجية الفردية الإضافات. تتم إعادة توجيه المعلمات غير المعروفة إلى المنبع كما هي، لذا فإن أي مقبض مستقبلي خاص بالموفر يعمل أيضًا بدون تحديث SDK.
Flux
flux-2-klein-4b, flux-2-klein-9b, flux-2-dev
| Parameter | Type | Required | Description |
|---|---|---|---|
| aspect_ratio | string | Optional | "1:1", "16:9", "9:16", "4:3", "3:4", "21:9", "9:21". |
| image_urls | array | Optional | Reference images for img2img mode. |
Nano-Banana
nano-banana-2, nano-banana-2-search, 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 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.
| Parameter | Type | Required | Description |
|---|---|---|---|
| custom | boolean | Optional | Switch from "auto" to fully custom mode. |
| instrumental | boolean | Optional | Suppress vocals. |
| style | string | Optional | Genre tag list, e.g. "EDM, Bass". |
اكتشاف القدرات
يعرض كل نموذج الصورة 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 لمعرفة التكلفة.