OpenAI: GPT Image 2.5 Flare
يولّد GPT Image 2.5 Flare الصور ويحرّرها من النصوص والمراجع، مع التركيز على الإنشاء البصري اليومي السريع. يدعم الأحجام المخصصة والخلفيات الشفافة والأقنعة ومستويات الجودة حتى max للمسودات والرسوم التوضيحية ومواد الحملات.
- Ailoot · الصور
POST /v1/images/generationsgpt-image-2.5-flare - Ailoot Ultra · الصور
POST /v1/images/generationsgpt-image-2.5-flare - Ailoot Ultra · الصور
POST /v1/images/generationsopenai/gpt-image-2.5-flare
عن النموذج
يغطي هذا الوصف قدرات النموذج. وترد أدناه المدخلات والمخرجات والخيارات المتاحة في Ailoot للطريقة المحددة.
GPT Image 2.5 Flare هو إصدار OpenAI لتوليد الصور وتحريرها، والمقدَّم للأعمال اليومية السريعة عالية الجودة. يقبل النصوص والصور ويُرجع نتائج صورية. استخدمه للمسودات البصرية والرسوم التوضيحية ومفاهيم المنتجات والمهام الإبداعية المتكررة التي تحتاج إلى تحويل موجز إلى صورة قابلة للاستخدام سريعًا. يختلف Flare عن Sunburst الذي يركز تقديمه على دقة التحرير. اختر Flare لإنشاء الصور المعتاد وSunburst عندما تكون دقة التحرير هي الأولوية.
ابدأ بالموضوع الرئيسي والفعل والبيئة والتكوين والمعالجة البصرية. ولرسم حملة، اطلب راكب دراجة يعبر جسرًا صغيرًا في ضوء مسائي دافئ، بهيئة بارزة وسماء مفتوحة لنص لاحق. يمكن لموجز استكشاف موجز أن يترك القرارات الجمالية مفتوحة؛ أما موجز الإنتاج فينبغي أن يسمّي التفاصيل والمواضع المهمة. تتيح مسارات التوليد والتحرير المباشرة تعليمات حتى 32,000 محرف ومن نتيجة واحدة إلى عشر، مما يفيد في مقارنة بضع نسخ بالغرض نفسه.
يمكن للتحرير استخدام ما يصل إلى ست عشرة صورة مرجعية. حدّد دورًا واضحًا لكل مرجع بدلًا من توقّع أن يقرر النموذج ما إذا كانت الصورة تمثّل هوية الموضوع أو المشهد أو الأسلوب. يمكن لقناع توجيه تغيير في منطقة؛ وينطبق على الصورة الأولى عند تعدد الصور. تحتاج الصورة والقناع إلى صيغة وأبعاد متطابقة، ويجب أن يتضمن القناع قناة ألفا. يشترط الدليل أن يكون المصدر والقناع أقل من 50 MB. القناع توجيه وليس وعدًا بالحفاظ الدقيق على الحدود، لذا حدّد التعديل المطلوب وما ينبغي أن يظل قابلًا للتعرّف معًا.
يدعم Flare جودة low وmedium وhigh وxhigh وmax وتلقائية، مع auto افتراضيًا. يمكن للجودة الأقل خدمة مسودة بصرية سريعة؛ ويمكن مقارنة الإعدادات الأعلى لتفاصيل المادة النهائية. الجودة مستقلة عن الحجم وضغط الإخراج. تشمل الأحجام القياسية 1024 × 1024 و1536 × 1024 و1024 × 1536، وتتاح أيضًا أبعاد تلقائية أو مخصصة. اختر الاتجاه وفق الموضع النهائي والمساحة المفيدة في المشهد.
يجب أن يكون العرض والارتفاع المخصصان من مضاعفات ستة عشر، وألا يزيد أي ضلع على 3840 بكسل. تتراوح النسبة المسموحة من 1:3 إلى 3:1، ويجب ألا تقل المساحة الإجمالية عن 655,360 وألا تزيد على 8,294,400 بكسل. تنطبق الشروط الأربعة معًا. يصنّف الدليل الدقات الأعلى من 2560 × 1440 بأنها تجريبية. استخدم إطارًا صالحًا يناسب التكوين، وأدرج أي تفاصيل حساسة للاقتصاص في الموجز بدلًا من التعامل مع دقة أكبر باعتبارها تحسينًا تلقائيًا للتخطيط.
صيغة النتيجة PNG افتراضيًا، مع بديلَي JPEG وWebP. يتيح JPEG وWebP ضغطًا من 0 إلى 100. ولخلفية شفافة، اختر PNG أو WebP؛ وتُدعم أيضًا الخلفيات المعتمة والتلقائية. يمكن وضع مادة شفافة في تخطيط لاحق، بينما تضم الصورة المعتمة خلفيتها الخاصة. اختر الصيغة والخلفية والضغط وفق الحاجة الفعلية للتسليم، واحتفظ بالملف المكتمل مع الموجز والإعدادات المختارة.
يوثّق المنتج التوليد المباشر للصور وتحريرها، بالإضافة إلى أداة صور حوارية يمكنها الاحتفاظ بنتائج مختارة لإجراء تغييرات لاحقة. وفي ذلك المسار، يمكن أن يكون الإجراء تلقائيًا أو توليدًا مفروضًا أو تحريرًا مفروضًا عند وجود صورة في السياق. يمكن للبث عرض ما يصل إلى ثلاث صور جزئية قبل النتيجة النهائية. تقدّم هذه المعاينات عرضًا للتقدم، لا مواد مكتملة إضافية. وللعمل التكراري، تابع من الصورة المختارة وصِف تغييرًا مرئيًا، مثل تحريك عنصر واحد أو تعديل المعالجة اللونية. وتدعم واجهة الشركة المصنّعة أيضًا المعالجة الدفعية.
افحص حروف الصورة ومواضع العناصر وتفاصيل الموضوع والتكوين بالحجم المقصود. قد يظل GPT Image يواجه صعوبة في وضع النص بدقة والتخطيطات المنظّمة وتكرار الهوية البصرية بين عمليات التوليد. احتفظ بنسخة مقبولة مرجعًا تاليًا، وضيّق التعديل اللاحق إلى المشكلة المهمة. يفيد دور Flare في التوليد اليومي ضمن تسلسل واضح يبدأ بالموجز ثم البدائل البصرية والاختيار والتحسين، مع الحكم على المادة النهائية بحسب الغرض الإبداعي الفعلي.
Ailoot · الصور POST /v1/images/generations gpt-image-2.5-flare
gpt-image-2.5-flareالبداية
يولّد GPT Image 2.5 Flare الصور ويحرّرها من النصوص والمراجع، مع التركيز على الإنشاء البصري اليومي السريع. يدعم الأحجام المخصصة والخلفيات الشفافة والأقنعة ومستويات الجودة حتى max للمسودات والرسوم التوضيحية ومواد الحملات.
- المدخلات المقبولة
- النص
- النتائج
- الصور
متاح في Ailoot · المدخلات والطرائق
Ailoot · الصور POST /v1/images/generations
- الإدخال
text- الإخراج
image- صيغة الإخراج
- ملف صورة
| الحقل | النوع | المتطلب | القيم والحدود | القيمة الافتراضية |
|---|---|---|---|---|
الحقلmodel | النوعstring | المتطلبمطلوب | القيم والحدود gpt-image-2.5-flare | القيمة الافتراضية— |
الحقلprompt | النوعstring | المتطلبمطلوب | القيم والحدود الحد الأدنى للطول: 1 | القيمة الافتراضية— |
الحقلn | النوعinteger | المتطلباختياري | القيم والحدود الحد الأدنى: 1 | القيمة الافتراضية1 |
الحقلresponse_format | النوعstring | المتطلباختياري | القيم والحدود url, b64_json | القيمة الافتراضية— |
الحقلstream | النوعboolean | المتطلباختياري | القيم والحدود | القيمة الافتراضيةfalse |
الحقلsize | النوعstring | المتطلباختياري | القيم والحدود يعتمد على النموذج | القيمة الافتراضية— |
الحقلquality | النوعstring | المتطلباختياري | القيم والحدود يعتمد على النموذج | القيمة الافتراضية— |
الحقلbackground | النوعstring | المتطلباختياري | القيم والحدود يعتمد على النموذج | القيمة الافتراضية— |
الحقلoutput_format | النوعstring | المتطلباختياري | القيم والحدود يعتمد على النموذج | القيمة الافتراضية— |
الحقلoutput_compression | النوعinteger | المتطلباختياري | القيم والحدود يعتمد على النموذج | القيمة الافتراضية— |
الحقلmoderation | النوعstring | المتطلباختياري | القيم والحدود يعتمد على النموذج | القيمة الافتراضية— |
الحقلinput_fidelity | النوعstring | المتطلباختياري | القيم والحدود يعتمد على النموذج | القيمة الافتراضية— |
الحقلstyle | النوعstring | المتطلباختياري | القيم والحدود يعتمد على النموذج | القيمة الافتراضية— |
الحقلpartial_images | النوعinteger | المتطلباختياري | القيم والحدود يعتمد على النموذج | القيمة الافتراضية— |
تركيبات مواد الإدخال
تحويل النص إلى صورة · مطلوب: prompt
معلمات الطريقة ودورة حياتها
| المعلمة | المواصفات |
|---|---|
المعلمةmaterial_types | المواصفاتtext |
المعلمةrequired | المواصفاتmodel, prompt |
المعلمةoptional_controls | المواصفاتnull |
المعلمةcontent_type | المواصفاتapplication/json |
دورة الحياة: synchronous_result_then_owned_library
GET /v1/media/tasks/{task_id} · قيمة task_id الفعلية المُعادة أو سجل مكتبة الوسائط
GET /v1/media/assets/{asset_id}/content
GET /v1/media/assets
GET /v1/media/assets/{asset_id}
بُنى الطرق ومعرّفاتها دقيقة؛ قدرة المورد منفصلة عن السماح بالطلب.
الباقات
تعرفات طرائق Ailoot
POST /v1/images/generations- إدخال النص
- 0.005 US$ / 1K
- الإدخال، صورة
- 0.008 US$ / 1K tokens
- الإخراج، صورة
- 0.03 US$ / 1K tokens
تحجز Ailoot مبلغًا تقديريًا قبل الطلب. وبعد ظهور النتيجة، تُسوّي الرسوم النهائية بناءً على الاستخدام المقاس. وتستخدم تسوية البث سجل الاستخدام النهائي. كيفية عمل حجز المبلغ وتسوية الرسوم →
أمثلة للطلبات
Ailoot · الصور
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
export AILOOT_API_KEY
: "${AILOOT_PROMPT_FILE:?Set your actual UTF-8 image brief}"
export AILOOT_PROMPT_FILE
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "gpt-image-2.5-flare", "prompt": ""}')
f=Path(os.environ["AILOOT_PROMPT_FILE"])
if not f.is_file():raise SystemExit("Choose your actual UTF-8 brief")
p['prompt']=f.read_text(encoding="utf-8")
if not p['prompt'].strip():raise SystemExit("Brief must contain text")
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/images/generations \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import base64, json, os, subprocess
from pathlib import Path
from urllib.parse import urlsplit, urljoin
def save_images(items):
if not items: raise SystemExit("No completed images; retain the full response")
for index, item in enumerate(items):
encoded=item.get("b64_json")
uri=item.get("url", "")
if not encoded and uri.startswith("data:image/"):
header, separator, encoded=uri.partition(",")
if not separator or ";base64" not in header: raise SystemExit("Unsupported image data URI")
if encoded:
raw=base64.b64decode(encoded,validate=True)
elif uri:
uri=urljoin("https://api.ailoot.ai",uri)
parsed=urlsplit(uri)
if parsed.scheme!="https" or not parsed.netloc or parsed.username or parsed.password:
raise SystemExit("Invalid returned image URL")
owned=parsed.netloc=="api.ailoot.ai" and parsed.path.startswith("/v1/media/assets/") and parsed.path.endswith("/content")
args=["curl","--fail-with-body","--silent","--show-error",uri]
if owned: args += ["-H","Authorization: Bearer "+os.environ["AILOOT_API_KEY"]]
temporary=Path(f"image-{index}.bin")
subprocess.run(args+["-o",str(temporary)],check=True)
raw=temporary.read_bytes()
temporary.unlink()
else: raise SystemExit("Image has neither bytes nor URL")
if not raw: raise SystemExit("Empty image result")
ext="png" if raw.startswith(b"\x89PNG") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4]==b"RIFF" and raw[8:12]==b"WEBP" else "svg" if raw.lstrip().startswith((b"<svg",b"<?xml")) else "bin"
Path(f"image-{index}.{ext}").write_bytes(raw)
print("Every returned image saved; complete response metadata retained")
save_images(json.loads(Path("result.json").read_text())["data"])
PY_RESULT
from openai import OpenAI
import base64, json, os, subprocess
from pathlib import Path
from urllib.parse import urlsplit, urljoin
def save_images(items):
if not items: raise SystemExit("No completed images; retain the full response")
for index, item in enumerate(items):
encoded=item.get("b64_json")
uri=item.get("url", "")
if not encoded and uri.startswith("data:image/"):
header, separator, encoded=uri.partition(",")
if not separator or ";base64" not in header: raise SystemExit("Unsupported image data URI")
if encoded:
raw=base64.b64decode(encoded,validate=True)
elif uri:
uri=urljoin("https://api.ailoot.ai",uri)
parsed=urlsplit(uri)
if parsed.scheme!="https" or not parsed.netloc or parsed.username or parsed.password:
raise SystemExit("Invalid returned image URL")
owned=parsed.netloc=="api.ailoot.ai" and parsed.path.startswith("/v1/media/assets/") and parsed.path.endswith("/content")
args=["curl","--fail-with-body","--silent","--show-error",uri]
if owned: args += ["-H","Authorization: Bearer "+os.environ["AILOOT_API_KEY"]]
temporary=Path(f"image-{index}.bin")
subprocess.run(args+["-o",str(temporary)],check=True)
raw=temporary.read_bytes()
temporary.unlink()
else: raise SystemExit("Image has neither bytes nor URL")
if not raw: raise SystemExit("Empty image result")
ext="png" if raw.startswith(b"\x89PNG") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4]==b"RIFF" and raw[8:12]==b"WEBP" else "svg" if raw.lstrip().startswith((b"<svg",b"<?xml")) else "bin"
Path(f"image-{index}.{ext}").write_bytes(raw)
print("Every returned image saved; complete response metadata retained")
f=Path(os.environ["AILOOT_PROMPT_FILE"])
if not f.is_file():raise SystemExit("Set your actual UTF-8 image brief file")
request={'model': 'gpt-image-2.5-flare', 'prompt': ''}
request["prompt"]=f.read_text(encoding="utf-8")
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
result=client.images.generate(**request)
Path("sdk-result.txt").write_text(str(result),encoding="utf-8")
save_images([{"b64_json":getattr(item,"b64_json",None),"url":getattr(item,"url",None)} for item in result.data])
import OpenAI from "openai";
import { readFileSync, writeFileSync } from "node:fs";
const key=process.env.AILOOT_API_KEY;
if(!key) throw new Error("Set your actual Ailoot API key");
const client=new OpenAI({baseURL:"https://api.ailoot.ai/v1",apiKey:key,maxRetries:0});
const request={"model": "gpt-image-2.5-flare", "prompt": ""};
if(!process.env.AILOOT_PROMPT_FILE)throw new Error("Set your actual UTF-8 image brief file");
request.prompt=readFileSync(process.env.AILOOT_PROMPT_FILE,"utf8");
const result=await client.images.generate(request);
writeFileSync("sdk-result.json",JSON.stringify(result,null,2));
if(!result.data?.length) throw new Error("No completed images");
for(let index=0;index<result.data.length;index++) {
const item=result.data[index];let encoded=item.b64_json,uri=item.url||"",raw;
if(!encoded && uri.startsWith("data:image/")) {
const comma=uri.indexOf(",");if(comma<0 || !uri.slice(0,comma).includes(";base64")) throw new Error("Unsupported image data URI");
encoded=uri.slice(comma+1);
}
if(encoded) {
if(encoded.length%4!==0 || !/^[A-Za-z0-9+/]*={0,2}$/.test(encoded)) throw new Error("Invalid Base64");
raw=Buffer.from(encoded,"base64");
} else if(uri) {
const u=new URL(uri,"https://api.ailoot.ai");
if(u.protocol!=="https:" || u.username || u.password) throw new Error("Invalid returned URL");
const owned=u.origin==="https://api.ailoot.ai" && u.pathname.startsWith("/v1/media/assets/") && u.pathname.endsWith("/content");
const response=await fetch(u,{headers:owned?{Authorization:"Bearer "+key}:{},redirect:"manual"});
if(!response.ok) throw new Error("Image content download failed: "+response.status);
raw=Buffer.from(await response.arrayBuffer());
} else throw new Error("Image has neither bytes nor URL");
if(!raw.length) throw new Error("Empty image result");
const ext=raw.subarray(0,4).equals(Buffer.from([137,80,78,71]))?"png":raw[0]===255&&raw[1]===216?"jpg":raw.toString("ascii",0,4)==="RIFF"&&raw.toString("ascii",8,12)==="WEBP"?"webp":raw.toString("utf8").trimStart().startsWith("<svg")||raw.toString("utf8").trimStart().startsWith("<?xml")?"svg":"bin";
writeFileSync(`image-${index}.${ext}`,raw);
}
console.log("Every returned image saved; sdk-result.json retains complete metadata");
استلام النتائج وحفظها
Ailoot · الصور
نزّل كل صورة مُرجعة أو احفظ محتواها بصيغة Base64
GET /v1/media/tasks/{task_id}GET /v1/media/assets/{asset_id}/contentGET /v1/media/assetsGET /v1/media/assets/{asset_id}
الاحتفاظ بكل النتائج المكتملة
احفظ كل صورة مكتملة؛ نزّلها من كل URL مُرجع، أو فك ترميز محتواها بصيغة Base64.
احفظ كل عنصر بيانات. فك ترميز كل b64_json أو اجلب محتوى كل عنوان URL موقّع مُعاد. اختر امتداد اسم الملف بناءً على نوع MIME والبايتات الفعلية.
عند الحاجة إلى التحقق من الاستجابة الأصلية
إذا تطلبت نتيجة توليد صورة أو تعديلها التحقق، فاحتفظ بقيمة operation_id/X-Client-Request-ID الأصلية ومعلومات النتيجة المُعادة. استعد النتائج الموجودة والمملوكة لك عبر مكتبة الوسائط باستخدام قيم task_id أو asset_id الفعلية. لا تُعِد إرسال طلب التوليد أو التعديل، ولا تنشئ عنوان URL للاستعلام الدوري من operation_id.
حقول الاستجابة
| الحقل | النوع |
|---|---|
الحقلcreated | النوعinteger |
الحقلdata[].url | النوعstring |
الحقلdata[].b64_json | النوعbase64 string |
الحقلusage | النوعobject |
الأخطاء والخطوات التالية
| الاستجابة | الشرط | الخطوة التالية |
|---|---|---|
الاستجابة400 · invalid_request_error | الشرطحقول مطلوبة أو تمثيل مادة أو قيمة معلمة غير صحيحة | الخطوة التاليةصحّح الحقول المحددة قبل طلب إنشاء جديد. |
الاستجابةserver_error | الشرطتشير الاستجابة المُعادة إلى أن العملية أو النتيجة تتطلب التحقق | الخطوة التاليةاحتفظ بمعرّف العملية أو المهمة الأصلي المُعاد، وبترويسات الطلب وبالاستجابة؛ وواصل عمليات القراءة المدعومة لتلك العملية الأصلية. لا تُعِد إرسال طلب الإنشاء. |
الأسماء البديلة
الأسماء البديلة للنموذج
Ailoot gpt-image-2.5-flare
Ailoot Ultra gpt-image-2.5-flare, openai/gpt-image-2.5-flare
الأسماء البديلة لمسارات الطرائق
/v1/images
معرّفات النماذج ذات الصلة IDs
openai/gpt-image-2.5-flare, gpt-image-2.5-flare, gpt-image-2.5-flare
Ailoot Ultra · الصور POST /v1/images/generations gpt-image-2.5-flare
gpt-image-2.5-flaregpt-image-2.5-flareopenai/gpt-image-2.5-flare
البداية
يولّد GPT Image 2.5 Flare الصور ويحرّرها من النصوص والمراجع، مع التركيز على الإنشاء البصري اليومي السريع. يدعم الأحجام المخصصة والخلفيات الشفافة والأقنعة ومستويات الجودة حتى max للمسودات والرسوم التوضيحية ومواد الحملات.
- المدخلات المقبولة
- النص
- النتائج
- الصور
متاح في Ailoot · المدخلات والطرائق
Ailoot Ultra · الصور POST /v1/images/generations
- الإدخال
text- الإخراج
image
| الحقل | النوع | المتطلب | القيم والحدود | القيمة الافتراضية |
|---|---|---|---|---|
الحقلmodel | النوعstring | المتطلبمطلوب | القيم والحدود gpt-image-2.5-flare | القيمة الافتراضية— |
الحقلprompt | النوعstring | المتطلبمطلوب | القيم والحدود الحد الأقصى للطول: 32,000 | القيمة الافتراضية— |
الحقلsize | النوعstring | المتطلباختياري | القيم والحدود الشروط: استخدم auto أو WIDTHxHEIGHT على أن يكون كلا البعدين قابلاً للقسمة على 16. يجب ألا يتجاوز الضلع الأطول 3,840 بكسل، وألا يتجاوز الحجم الإجمالي 8,300,000 بكسل. | القيمة الافتراضيةauto |
الحقلbackground | النوعstring | المتطلباختياري | القيم والحدود transparent, opaque, auto | القيمة الافتراضيةauto |
الحقلmoderation | النوعstring | المتطلباختياري | القيم والحدود low, auto الشروط: استخدم auto للإشراف القياسي على المحتوى. | القيمة الافتراضية— |
الحقلn | النوعinteger | المتطلباختياري | القيم والحدود الحد الأدنى: 1 الحد الأقصى: 10 | القيمة الافتراضية1 |
الحقلquality | النوعstring | المتطلباختياري | القيم والحدود auto, high, medium, low | القيمة الافتراضيةauto |
الحقلoutput_compression | النوعinteger | المتطلباختياري | القيم والحدود الحد الأدنى: 0 الحد الأقصى: 100 الشروط: ينطبق على مخرجات JPEG وWebP؛ أرسل القيمة الصحيحة العددية الموثّقة. | القيمة الافتراضية100 |
الحقلoutput_format | النوعstring | المتطلباختياري | القيم والحدود webp, png, jpeg | القيمة الافتراضيةpng |
الحقلstream | النوعboolean | المتطلباختياري | القيم والحدود false الشروط: يُعيد هذا المسار استجابة JSON واحدة مكتملة. | القيمة الافتراضيةfalse |
معلمات الطريقة ودورة حياتها
| المعلمة | المواصفات |
|---|---|
المعلمةcontent_type | المواصفاتapplication/json |
المعلمةrequired | المواصفاتprompt, model |
المعلمةmaterial_types | المواصفاتtext |
المعلمةoptional | المواصفاتsize, background, moderation, n, quality, output_compression, output_format, stream |
المعلمةconditions | المواصفاتتتطلب الخلفية الشفافة صيغة PNG أو WebP., ينطبق ضغط المخرجات على JPEG أو WebP., تولّد الطريقة المختارة انطلاقاً من النص. عناصر التحكم في التحرير والبث الموصوفة لدى الشركة المصنّعة إمكانيات منفصلة. |
دورة الحياة: synchronous_result_then_owned_library
GET /v1/media/tasks/{task_id} · قيمة task_id الفعلية المُعادة أو سجل مكتبة الوسائط
GET /v1/media/assets/{asset_id}/content
GET /v1/media/assets
GET /v1/media/assets/{asset_id}
الباقات
كيفية احتساب الرسوم النهائية
تقدّر التعرفات المعروضة التكلفة قبل التوليد. تُحسب الرسوم النهائية من التكلفة المسجّلة لعملية التوليد الأصلية. مدة المخرجات المقاسة والكميات المتوقعة ليست الكمية النهائية الخاضعة للفوترة.
مراجع التسعير لا تضيف خيارات للطلب. المعلمات المدعومة مذكورة للطريقة المحددة.
- الوضع السريع
- غير محدد عند اختيار الوضع السريع
- الوضع المرن
- غير محدد عند اختيار وضع flex
- أقصى جهد للاستدلال
- غير محدد عندما يُطبَّق الضبط الافتراضي default مع أقصى جهد للاستدلال
تعرفات تقديرية للمقارنة
الأسعار حسب الإعدادات
طابق كل رسم مع الشروط المعروضة. طبّق تعرفة واحدة لكل مجموعة من الإعدادات البديلة.
| الإعدادات | جدول التعرفة | الكمية المتوقعة | الرسوم |
|---|---|---|---|
| الإعداداتالتعرفات الأساسية للرموز | جدول التعرفةالتعرفة الأساسية | الكمية المتوقعة— | الرسوم الإدخال · رموز الإدخال · تقدير للمقارنة فقط — / 1K من الرموز الإخراج · رموز الإخراج · تقدير للمقارنة فقط — / 1K من الرموز الإدخال · قراءة ذاكرة التخزين المؤقت · تقدير للمقارنة فقط — / 1K من الرموز الإدخال · الكتابة إلى ذاكرة التخزين المؤقت · تقدير للمقارنة فقط — / 1K من الرموز الإدخال · الكتابة إلى ذاكرة التخزين المؤقت، 1 ساعة · تقدير للمقارنة فقط — / 1K من الرموز |
| الإعداداتتكلفة التوليد التقديرية | جدول التعرفة— | الكمية المتوقعةتقدير لتوليد واحد | الرسوم الإخراج · تكلفة التوليد التقديرية · تقدير للمقارنة فقط $0.24576 تقدير قبل الإنشاء هذا التقدير ليس رسومًا إضافية ولا تعرفة ثابتة لعملية التوليد المكتملة. |
تحجز Ailoot مبلغًا تقديريًا قبل الطلب. وبعد ظهور النتيجة، تُسوّي الرسوم النهائية بناءً على الاستخدام المقاس. وتستخدم تسوية البث سجل الاستخدام النهائي. كيفية عمل حجز المبلغ وتسوية الرسوم →
أمثلة للطلبات
Ailoot Ultra · الصور
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p={'prompt': 'A cute baby sea otter', 'model': 'gpt-image-2.5-flare', 'size': '1024x1024', 'n': 1, 'background': 'auto', 'moderation': 'auto', 'output_format': 'png'}
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/images/generations \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import base64, json, os, subprocess
from pathlib import Path
from urllib.parse import urlsplit, urljoin
def save_images(items):
if not items: raise SystemExit("No completed images; retain the full response")
for index, item in enumerate(items):
encoded=item.get("b64_json")
uri=item.get("url", "")
if not encoded and uri.startswith("data:image/"):
header, separator, encoded=uri.partition(",")
if not separator or ";base64" not in header: raise SystemExit("Unsupported image data URI")
if encoded:
raw=base64.b64decode(encoded,validate=True)
elif uri:
uri=urljoin("https://api.ailoot.ai",uri)
parsed=urlsplit(uri)
if parsed.scheme!="https" or not parsed.netloc or parsed.username or parsed.password:
raise SystemExit("Invalid returned image URL")
owned=parsed.netloc=="api.ailoot.ai" and parsed.path.startswith("/v1/media/assets/") and parsed.path.endswith("/content")
args=["curl","--fail-with-body","--silent","--show-error",uri]
if owned: args += ["-H","Authorization: Bearer "+os.environ["AILOOT_API_KEY"]]
temporary=Path(f"image-{index}.bin")
subprocess.run(args+["-o",str(temporary)],check=True)
raw=temporary.read_bytes()
temporary.unlink()
else: raise SystemExit("Image has neither bytes nor URL")
if not raw: raise SystemExit("Empty image result")
ext="png" if raw.startswith(b"\x89PNG") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4]==b"RIFF" and raw[8:12]==b"WEBP" else "svg" if raw.lstrip().startswith((b"<svg",b"<?xml")) else "bin"
Path(f"image-{index}.{ext}").write_bytes(raw)
print("Every returned image saved; complete response metadata retained")
save_images(json.loads(Path("result.json").read_text())["data"])
PY_RESULT
استلام النتائج وحفظها
Ailoot Ultra · الصور
نزّل كل صورة مُرجعة أو احفظ محتواها بصيغة Base64
GET /v1/media/tasks/{task_id}GET /v1/media/assets/{asset_id}/contentGET /v1/media/assetsGET /v1/media/assets/{asset_id}
عمليات أخرى لقراءة المحتوى
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \
-H "Authorization: Bearer $AILOOT_API_KEY" -o owned-assets.json
# Preserve every returned asset and follow its exact signed content URL. Do not construct a signed token.
الاحتفاظ بكل النتائج المكتملة
احفظ كل صورة مكتملة؛ نزّلها من كل URL مُرجع، أو فك ترميز محتواها بصيغة Base64.
احتفظ بالاستجابة كاملة وبجميع الترويسات، وبكل مخرج فعلي، وبالمعرّفات الأصلية المُعادة، وبجميع حقول الاستخدام. استعد العملية الأصلية دون إرسال طلب الإنشاء مجددًا.
عند الحاجة إلى التحقق من الاستجابة الأصلية
احتفظ بقيمة X-Client-Request-ID المُعادة للمطابقة. اقرأ فقط قيم task_id/asset_id الفعلية المُعادة أو مكتبة الوسائط المملوكة لك؛ ولا تنشئ عنوان URL لمهمة من معرّف العملية، ولا تُعِد إرسال طلب الإنشاء مطلقًا.
حقول الاستجابة
| الحقل | النوع |
|---|---|
الحقلcreated | النوع |
الحقلdata[].url | النوع |
الحقلdata[].b64_json | النوع |
الحقلusage | النوع |
الأسماء البديلة
الأسماء البديلة للنموذج
Ailoot gpt-image-2.5-flare
Ailoot Ultra gpt-image-2.5-flare, openai/gpt-image-2.5-flare
الأسماء البديلة لمسارات الطرائق
/v1/images
معرّفات النماذج ذات الصلة IDs
openai/gpt-image-2.5-flare, gpt-image-2.5-flare, gpt-image-2.5-flare
Ailoot Ultra · الصور POST /v1/images/generations openai/gpt-image-2.5-flare
openai/gpt-image-2.5-flaregpt-image-2.5-flareopenai/gpt-image-2.5-flare
البداية
يولّد GPT Image 2.5 Flare الصور ويحرّرها من النصوص والمراجع، مع التركيز على الإنشاء البصري اليومي السريع. يدعم الأحجام المخصصة والخلفيات الشفافة والأقنعة ومستويات الجودة حتى max للمسودات والرسوم التوضيحية ومواد الحملات.
- المدخلات المقبولة
- النص · الصور
- النتائج
- الصور
متاح في Ailoot · المدخلات والطرائق
Ailoot Ultra · الصور POST /v1/images/generations
- الإدخال
text,image- الإخراج
image
| الحقل | النوع | المتطلب | القيم والحدود | القيمة الافتراضية |
|---|---|---|---|---|
الحقلmodel | النوعstring | المتطلبمطلوب | القيم والحدود openai/gpt-image-2.5-flare | القيمة الافتراضية— |
الحقلprompt | النوعstring | المتطلبمطلوب | القيم والحدود الحد الأدنى للطول: 1 | القيمة الافتراضية— |
الحقلaspect_ratio | النوعstring | المتطلباختياري | القيم والحدود 1:1, 3:2, 2:3, 4:3, 3:4, 16:9, 9:16, 21:9, auto | القيمة الافتراضية— |
الحقلquality | النوعstring | المتطلباختياري | القيم والحدود auto, low, medium, high, xhigh, max | القيمة الافتراضية— |
الحقلbackground | النوعstring | المتطلباختياري | القيم والحدود auto, transparent, opaque | القيمة الافتراضية— |
الحقلn | النوعinteger | المتطلباختياري | القيم والحدود الحد الأدنى: 1 الحد الأقصى: 10 | القيمة الافتراضية— |
الحقلinput_references | النوعarray | المتطلباختياري | القيم والحدود الحد الأدنى للعناصر: 0 الحد الأقصى للعناصر: 16 | القيمة الافتراضية— |
الحقلoutput_compression | النوعinteger | المتطلباختياري | القيم والحدود الحد الأدنى: 0 الحد الأقصى: 100 | القيمة الافتراضية— |
الحقلprovider | النوعobject | المتطلباختياري | القيم والحدود | القيمة الافتراضية— |
معلمات الطريقة ودورة حياتها
| المعلمة | المواصفات |
|---|---|
المعلمةcontent_type | المواصفاتapplication/json |
المعلمةrequired | المواصفاتmodel, prompt |
المعلمةmaterial_types | المواصفاتtext, image |
دورة الحياة: synchronous_result_then_owned_library
GET /v1/media/tasks/{task_id} · قيمة task_id الفعلية المُعادة أو سجل مكتبة الوسائط
GET /v1/media/assets/{asset_id}/content
GET /v1/media/assets
GET /v1/media/assets/{asset_id}
الباقات
كيفية احتساب الرسوم النهائية
تقدّر التعرفات المعروضة التكلفة قبل التوليد. تُحسب الرسوم النهائية من التكلفة المسجّلة لعملية التوليد الأصلية. مدة المخرجات المقاسة والكميات المتوقعة ليست الكمية النهائية الخاضعة للفوترة.
مراجع التسعير لا تضيف خيارات للطلب. المعلمات المدعومة مذكورة للطريقة المحددة.
- الوضع السريع
- غير محدد عند اختيار الوضع السريع
- الوضع المرن
- غير محدد عند اختيار وضع flex
- أقصى جهد للاستدلال
- غير محدد عندما يُطبَّق الضبط الافتراضي default مع أقصى جهد للاستدلال
تعرفات تقديرية للمقارنة
الأسعار حسب الإعدادات
طابق كل رسم مع الشروط المعروضة. طبّق تعرفة واحدة لكل مجموعة من الإعدادات البديلة.
| الإعدادات | جدول التعرفة | الكمية المتوقعة | الرسوم |
|---|---|---|---|
| الإعداداتالتعرفات الأساسية للرموز | جدول التعرفةالتعرفة الأساسية | الكمية المتوقعة— | الرسوم الإدخال · رموز الإدخال · تقدير للمقارنة فقط — / 1K من الرموز الإخراج · رموز الإخراج · تقدير للمقارنة فقط — / 1K من الرموز الإدخال · قراءة ذاكرة التخزين المؤقت · تقدير للمقارنة فقط — / 1K من الرموز الإدخال · الكتابة إلى ذاكرة التخزين المؤقت · تقدير للمقارنة فقط — / 1K من الرموز الإدخال · الكتابة إلى ذاكرة التخزين المؤقت، 1 ساعة · تقدير للمقارنة فقط — / 1K من الرموز |
| الإعداداتتكلفة التوليد التقديرية | جدول التعرفة— | الكمية المتوقعةتقدير لتوليد واحد | الرسوم الإخراج · تكلفة التوليد التقديرية · تقدير للمقارنة فقط $0.24576 تقدير قبل الإنشاء هذا التقدير ليس رسومًا إضافية ولا تعرفة ثابتة لعملية التوليد المكتملة. |
تحجز Ailoot مبلغًا تقديريًا قبل الطلب. وبعد ظهور النتيجة، تُسوّي الرسوم النهائية بناءً على الاستخدام المقاس. وتستخدم تسوية البث سجل الاستخدام النهائي. كيفية عمل حجز المبلغ وتسوية الرسوم →
أمثلة للطلبات
Ailoot Ultra · الصور
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p={'model': 'openai/gpt-image-2.5-flare', 'prompt': 'a red panda astronaut floating in space, studio lighting'}
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/images/generations \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import base64, json, os, subprocess
from pathlib import Path
from urllib.parse import urlsplit, urljoin
def save_images(items):
if not items: raise SystemExit("No completed images; retain the full response")
for index, item in enumerate(items):
encoded=item.get("b64_json")
uri=item.get("url", "")
if not encoded and uri.startswith("data:image/"):
header, separator, encoded=uri.partition(",")
if not separator or ";base64" not in header: raise SystemExit("Unsupported image data URI")
if encoded:
raw=base64.b64decode(encoded,validate=True)
elif uri:
uri=urljoin("https://api.ailoot.ai",uri)
parsed=urlsplit(uri)
if parsed.scheme!="https" or not parsed.netloc or parsed.username or parsed.password:
raise SystemExit("Invalid returned image URL")
owned=parsed.netloc=="api.ailoot.ai" and parsed.path.startswith("/v1/media/assets/") and parsed.path.endswith("/content")
args=["curl","--fail-with-body","--silent","--show-error",uri]
if owned: args += ["-H","Authorization: Bearer "+os.environ["AILOOT_API_KEY"]]
temporary=Path(f"image-{index}.bin")
subprocess.run(args+["-o",str(temporary)],check=True)
raw=temporary.read_bytes()
temporary.unlink()
else: raise SystemExit("Image has neither bytes nor URL")
if not raw: raise SystemExit("Empty image result")
ext="png" if raw.startswith(b"\x89PNG") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4]==b"RIFF" and raw[8:12]==b"WEBP" else "svg" if raw.lstrip().startswith((b"<svg",b"<?xml")) else "bin"
Path(f"image-{index}.{ext}").write_bytes(raw)
print("Every returned image saved; complete response metadata retained")
save_images(json.loads(Path("result.json").read_text())["data"])
PY_RESULT
استلام النتائج وحفظها
Ailoot Ultra · الصور
نزّل كل صورة مُرجعة أو احفظ محتواها بصيغة Base64
GET /v1/media/tasks/{task_id}GET /v1/media/assets/{asset_id}/contentGET /v1/media/assetsGET /v1/media/assets/{asset_id}
عمليات أخرى لقراءة المحتوى
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \
-H "Authorization: Bearer $AILOOT_API_KEY" -o owned-assets.json
# Preserve every returned asset and follow its exact signed content URL. Do not construct a signed token.
الاحتفاظ بكل النتائج المكتملة
احفظ كل صورة مكتملة؛ نزّلها من كل URL مُرجع، أو فك ترميز محتواها بصيغة Base64.
احتفظ بالاستجابة كاملة وبجميع الترويسات، وبكل مخرج فعلي، وبالمعرّفات الأصلية المُعادة، وبجميع حقول الاستخدام. استعد العملية الأصلية دون إرسال طلب الإنشاء مجددًا.
عند الحاجة إلى التحقق من الاستجابة الأصلية
احتفظ بقيمة X-Client-Request-ID المُعادة للمطابقة. اقرأ فقط قيم task_id/asset_id الفعلية المُعادة أو مكتبة الوسائط المملوكة لك؛ ولا تنشئ عنوان URL لمهمة من معرّف العملية، ولا تُعِد إرسال طلب الإنشاء مطلقًا.
حقول الاستجابة
| الحقل | النوع |
|---|---|
الحقلcreated | النوع |
الحقلdata[].url | النوع |
الحقلdata[].b64_json | النوع |
الحقلusage | النوع |
الأسماء البديلة
الأسماء البديلة للنموذج
Ailoot gpt-image-2.5-flare
Ailoot Ultra gpt-image-2.5-flare, openai/gpt-image-2.5-flare
الأسماء البديلة لمسارات الطرائق
/v1/images
معرّفات النماذج ذات الصلة IDs
openai/gpt-image-2.5-flare, gpt-image-2.5-flare, gpt-image-2.5-flare
FAQ · OpenAI: GPT Image 2.5 Flare
- ما المدخلات والنتائج المتاحة؟
POST /v1/images/generations·gpt-image-2.5-flare:text→imagePOST /v1/images/generations·gpt-image-2.5-flare:text→imagePOST /v1/images/generations·openai/gpt-image-2.5-flare:text,image→image- ما الحقول التي يستخدمها الطلب؟
POST /v1/images/generations·gpt-image-2.5-flare:model,prompt,n,response_format,streamPOST /v1/images/generations·gpt-image-2.5-flare:model,prompt,size,background,moderation,n,quality,output_compression,output_format,streamPOST /v1/images/generations·openai/gpt-image-2.5-flare:model,prompt,aspect_ratio,quality,background,n,input_references,output_compression,provider- ما الحدود المطبقة؟
POST /v1/images/generations·gpt-image-2.5-flare:n.minimum:1POST /v1/images/generations·gpt-image-2.5-flare:prompt.maximum_length:32000;n.minimum:1;n.maximum:10;output_compression.minimum:0;output_compression.maximum:100POST /v1/images/generations·openai/gpt-image-2.5-flare:n.minimum:1;n.maximum:10;output_compression.minimum:0;output_compression.maximum:100