GPT Image 2.5 Sunburst 2026-09-08
GPT Image 2.5 Sunburst יוצר תמונות ממשימה טקסטואלית. תומך בממדים מותאמים אישית, ברמות איכות מורחבות וברקע שקוף; היצרן מדגיש גם דיוק בעריכה.
על המודל
התיאור הזה מציג את יכולות המודל. הקלט, הפלט והאפשרויות הזמינים ב-Ailoot מפורטים בהמשך לפי השיטה שנבחרה.
יצירה ועבודה עם תמונה
GPT Image 2.5 Sunburst הוא מודל של OpenAI ליצירת תמונות. היצרן שם דגש מיוחד על דיוק העריכה של חומרי מקור. המודל תומך במשימות טקסטואליות ובחומרים חזותיים מקוריים בפעולות שמיועדות לכך.
בכרטיס Ailoot הנוכחי מוצג מצב יצירת תמונה מטקסט. אפשר להגדיר סצנה, קומפוזיציה, סגנון ופרטים של התוצאה העתידית. דרכי העבודה עם תמונות ייחוס, עריכה ושינוי אזור לפי מסכה שמתארת OpenAI דורשות תמיכה נפרדת בתמונות קלט; קיומה של יצירה טקסטואלית אינו מאשר אותה.
איכות וצורת הפריים
זמינות low, medium, high, xhigh, max ו־auto. בחירת האיכות שולטת במצב יצירת התמונה. היא שונה מממדי הקומפוזיציה וממידת הדחיסה של הקובץ שהתקבל.
הגודל יכול להיות ריבועי, אופקי, אנכי, נבחר אוטומטית או מוגדר ידנית. בגודל מותאם אישית כל צלע היא כפולה של 16 פיקסלים ואינה עולה על 3840 פיקסלים. השטח צריך להיות בין 655 360 ל־8 294 400 פיקסלים, והיחס בין הצלע הארוכה לקצרה אינו יכול לעבור את 3:1. כל התנאים חלים בו־זמנית.
היצרן מסמן רזולוציות מעל 2560x1440 כניסיוניות. פריים גדול מאפשר לבחור מרחב קומפוזיציה מתאים, אך אינו מבטל בדיקת כיתובים ומיקום עצמים.
פורמטי התוצאה והרקע
PNG משמש כברירת מחדל; זמינים גם JPEG ו־WebP. ב־JPEG וב־WebP אפשר לשלוט בדחיסה. לרקע שקוף נדרשים PNG או WebP, משום ש־JPEG אינו שומר ערוץ אלפא. לצד שקיפות זמינים רקע אטום ובחירה אוטומטית.
גודל, איכות, פורמט ורקע אחראים להיבטים שונים של התוצאה. סגנון התמונה נקבע בתיאור טקסטואלי יחד עם תוכן הסצנה. צריך להביא בחשבון תמיכה בהגדרות מסוימות בנפרד מהיכולות הכלליות של היצרן.
דיוק תיקונים ובקרת התמונה
לפי OpenAI, עיבוד משימה מורכבת עשוי לקחת עד שתי דקות. זה תיאור של היצירה אצל היצרן, ולא הבטחה לזמן הכולל לקבלת תוצאה ביישום מסוים.
בפעולת עריכה שנתמכת בנפרד המסכה מכוונת את שינוי האזור שנבחר. היא אינה מבטיחה התאמה קשיחה של התוצאה לגבול, ולכן הבטחה לתיקון מקומי מדויק תהיה חזקה מדי. להפעלת מצב כזה נדרשת דרך מתאימה למסירת המקור.
ביצירה המודל יכול גם לטעות במיקום טקסט ופרטים או לשנות את מראה הדמות בין תמונות נפרדות. בקרת הכיתובים, הקומפוזיציה והיכולת לשחזר שייכת לבדיקת הקובץ המוכן. אפילו משימה מפורטת אינה הופכת את התכונות האלה למובטחות.
Ailoot · תמונות POST /v1/images/generations gpt-image-2.5-sunburst-2026-09-08
gpt-image-2.5-sunburst-2026-09-08
gpt-image-2.5-sunburst-2026-09-08התחלה
GPT Image 2.5 Sunburst יוצר תמונות ממשימה טקסטואלית. תומך בממדים מותאמים אישית, ברמות איכות מורחבות וברקע שקוף; היצרן מדגיש גם דיוק בעריכה.
- סוגי קלט נתמכים
- טקסט
- תוצאות
- תמונות
זמין ב-Ailoot · קלט ושיטות
Ailoot · תמונות POST /v1/images/generations
- סוגי קלט
text- סוגי פלט
image- פורמט פלט
- קובץ תמונה
| שדה | סוג | דרישה | ערכים ומגבלות | ברירת מחדל |
|---|---|---|---|---|
שדהmodel | סוגstring | דרישהחובה | ערכים ומגבלות gpt-image-2.5-sunburst-2026-09-08 | ברירת מחדל— |
שדה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 $ / 1K
- קלט, תמונה
- 0.008 $ / 1K tokens
- פלט, תמונה
- 0.03 $ / 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-sunburst-2026-09-08", "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-sunburst-2026-09-08', '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-sunburst-2026-09-08", "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-sunburst-2026-09-08
כינויים לנתיבי שיטות
השתמשו בנתיבי השיטות המוצגים למעלה.
מזהי מודלים קשורים IDs
FAQ · GPT Image 2.5 Sunburst 2026-09-08
- אילו קלטים ותוצאות זמינים?
POST /v1/images/generations·gpt-image-2.5-sunburst-2026-09-08:text→image- באילו שדות הבקשה משתמשת?
POST /v1/images/generations·gpt-image-2.5-sunburst-2026-09-08:model,prompt,n,response_format,stream- אילו מגבלות חלות?
POST /v1/images/generations·gpt-image-2.5-sunburst-2026-09-08:n.minimum:1