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 pixels και δεν υπερβαίνει τα 3840 pixels. Η επιφάνεια πρέπει να βρίσκεται μεταξύ 655 360 και 8 294 400 pixels και η αναλογία μεγάλης προς μικρή πλευρά να μην υπερβαίνει το 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}
Οι δομές και τα 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/των byte.
Αν χρειάζεται έλεγχος της αρχικής απάντησης
Αν το αποτέλεσμα παραγωγής ή επεξεργασίας εικόνας χρειάζεται έλεγχο, διατηρήστε το αρχικό 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 | ΣυνθήκηΗ απόκριση που επιστράφηκε αναφέρει ότι η λειτουργία ή το αποτέλεσμα χρειάζεται έλεγχο | Επόμενο βήμαΔιατηρήστε το αρχικό ID της λειτουργίας/εργασίας που επιστράφηκε, τις κεφαλίδες του αιτήματος και την απόκριση· συνεχίστε με τις υποστηριζόμενες αναγνώσεις αυτής της αρχικής λειτουργίας. Μην υποβάλετε ξανά το αίτημα δημιουργίας. |
Εναλλακτικά ονόματα
Εναλλακτικά ονόματα μοντέλου
Ailoot gpt-image-2.5-sunburst-2026-09-08
Εναλλακτικές διαδρομές μεθόδων
Χρησιμοποιήστε τις διαδρομές μεθόδων που εμφανίζονται παραπάνω.
Σχετικά ID μοντέλων
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