GPT Image 2.5 Sunburst 2026-09-08
GPT Image 2.5 Sunburst luo kuvia tekstitehtävästä. Se tukee omia kokoja, laajennettuja laatutasoja ja läpinäkyvää taustaa; valmistaja painottaa myös muokkauksen tarkkuutta.
Tietoa mallista
Tämä kuvaus kattaa mallin ominaisuudet. Ailootissa saatavilla olevat syötteet, tulosteet ja asetukset luetellaan alla valitulle menetelmälle.
Generointi ja kuvan käsittely
GPT Image 2.5 Sunburst on OpenAI:n malli kuvien luomiseen. Valmistaja kiinnittää erityistä huomiota lähtöaineistojen muokkauksen tarkkuuteen. Malli tukee tekstitehtäviä ja niihin tarkoitetuissa toiminnoissa visuaalisia lähtöaineistoja.
Nykyisessä Ailoot-kortissa on kuvan luominen tekstistä. Tulevan tuloksen näkymä, sommittelu, tyyli ja yksityiskohdat voidaan määrittää. OpenAI:n kuvaamat viiteaineistojen käsittely, muokkaus ja alueen muuttaminen maskilla vaativat erillisen syötekuvien tuen; tekstipohjaisen kuvageneroinnin saatavuus ei vahvista sitä.
Laatu ja kuvamuoto
Käytettävissä ovat low, medium, high, xhigh, max ja auto. Laatuvalinta ohjaa kuvan muodostamistilaa. Se eroaa sommittelun mitoista ja saadun tiedoston pakkausasteesta.
Koko voi olla neliö-, vaaka- tai pystymuotoinen, automaattisesti valittu tai käsin määritetty. Omassa koossa kumpikin sivu on 16 pikselin monikerta eikä ylitä 3840 pikseliä. Pinta-alan on oltava 655 360–8 294 400 pikseliä ja pitkän ja lyhyen sivun suhteen enintään 3:1. Kaikki ehdot ovat voimassa samanaikaisesti.
Valmistaja merkitsee tarkkuudet yli 2560x1440 kokeellisiksi. Suuri kuva mahdollistaa sopivan sommittelutilan valinnan mutta ei poista tekstien ja kohteiden sijainnin tarkistusta.
Tulosformaatit ja tausta
PNG on oletus; myös JPEG ja WebP ovat tarjolla. JPEG- ja WebP-muodoissa pakkausta voidaan säätää. Läpinäkyvään taustaan tarvitaan PNG tai WebP, koska JPEG ei säilytä alfakanavaa. Läpinäkyvyyden lisäksi tarjolla ovat peittävä tausta ja automaattinen valinta.
Koko, laatu, formaatti ja tausta vastaavat tuloksen eri puolista. Kuvan tyyli määritetään tekstikuvauksella yhdessä näkymän sisällön kanssa. Yksittäisten asetusten tuki on huomioitava erillään valmistajan yleisistä kyvyistä.
Muokkauksen tarkkuus ja kuvan valvonta
OpenAI:n mukaan vaativan tehtävän käsittely voi kestää enintään kaksi minuuttia. Tämä kuvaa valmistajan generointia eikä takaa tuloksen saamisen kokonaisaikaa tietyssä sovelluksessa.
Erikseen tuetussa muokkaustoiminnossa maski ohjaa valitun alueen muuttamista. Se ei takaa tuloksen tarkkaa vastaavuutta rajaan, joten lupaus täsmällisestä paikallismuokkauksesta olisi liian vahva. Tilan käyttöön tarvitaan sopiva lähtöaineiston lähettämistapa.
Generoinnissa malli voi myös erehtyä tekstin ja yksityiskohtien sijoittelussa tai muuttaa hahmon ulkonäköä erillisten kuvien välillä. Tekstien, sommittelun ja toistettavuuden valvonta kuuluu valmiin tiedoston tarkistukseen. Yksityiskohtainenkaan tehtävänanto ei takaa näitä ominaisuuksia.
Ailoot · Kuvat 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-08Aloitus
GPT Image 2.5 Sunburst luo kuvia tekstitehtävästä. Se tukee omia kokoja, laajennettuja laatutasoja ja läpinäkyvää taustaa; valmistaja painottaa myös muokkauksen tarkkuutta.
- Hyväksytyt syötteet
- Teksti
- Tulokset
- Kuvat
Saatavilla Ailootissa · syötteet & menetelmät
Ailoot · Kuvat POST /v1/images/generations
- Syötetyypit
text- Tulostyypit
image- Tulosteen muoto
- Kuvatiedosto
| Kenttä | Tyyppi | Vaatimus | Arvot & rajat | Oletus |
|---|---|---|---|---|
Kenttämodel | Tyyppistring | VaatimusPakollinen | Arvot & rajat gpt-image-2.5-sunburst-2026-09-08 | Oletus— |
Kenttäprompt | Tyyppistring | VaatimusPakollinen | Arvot & rajat Vähimmäispituus: 1 | Oletus— |
Kenttän | Tyyppiinteger | VaatimusValinnainen | Arvot & rajat Vähimmäismäärä: 1 | Oletus1 |
Kenttäresponse_format | Tyyppistring | VaatimusValinnainen | Arvot & rajat url, b64_json | Oletus— |
Kenttästream | Tyyppiboolean | VaatimusValinnainen | Arvot & rajat | Oletusfalse |
Kenttäsize | Tyyppistring | VaatimusValinnainen | Arvot & rajat Riippuu mallista | Oletus— |
Kenttäquality | Tyyppistring | VaatimusValinnainen | Arvot & rajat Riippuu mallista | Oletus— |
Kenttäbackground | Tyyppistring | VaatimusValinnainen | Arvot & rajat Riippuu mallista | Oletus— |
Kenttäoutput_format | Tyyppistring | VaatimusValinnainen | Arvot & rajat Riippuu mallista | Oletus— |
Kenttäoutput_compression | Tyyppiinteger | VaatimusValinnainen | Arvot & rajat Riippuu mallista | Oletus— |
Kenttämoderation | Tyyppistring | VaatimusValinnainen | Arvot & rajat Riippuu mallista | Oletus— |
Kenttäinput_fidelity | Tyyppistring | VaatimusValinnainen | Arvot & rajat Riippuu mallista | Oletus— |
Kenttästyle | Tyyppistring | VaatimusValinnainen | Arvot & rajat Riippuu mallista | Oletus— |
Kenttäpartial_images | Tyyppiinteger | VaatimusValinnainen | Arvot & rajat Riippuu mallista | Oletus— |
Syöteaineistojen yhdistelmät
Tekstistä kuvaksi · Pakollinen: prompt
Menetelmän parametrit ja elinkaari
| Parametri | Sopimus |
|---|---|
Parametrimaterial_types | Sopimustext |
Parametrirequired | Sopimusmodel, prompt |
Parametrioptional_controls | Sopimusnull |
Parametricontent_type | Sopimusapplication/json |
Elinkaari: synchronous_result_then_owned_library
GET /v1/media/tasks/{task_id} · todellisuudessa palautettu task_id tai mediakirjaston tietue
GET /v1/media/assets/{asset_id}/content
GET /v1/media/assets
GET /v1/media/assets/{asset_id}
Menetelmien rakenteet ja ID:t ovat täsmällisiä; toimittajan kyvykkyys on erillinen pyynnön hyväksymisestä.
Hinnoittelu
Ailoot-menetelmien hinnat
POST /v1/images/generations- Tekstisyöte
- 0,005 $ / 1K
- Syöte, kuva
- 0,008 $ / 1K tokens
- Tuloste, kuva
- 0,03 $ / 1K tokens
Ailoot varaa arvioidun summan ennen pyyntöä. Tuloksen jälkeen lopullinen veloitus toteutetaan mitatun käytön perusteella. Suoratoiston veloituksessa käytetään lopullista käyttötietuetta. Varauksen ja lopullisen veloituksen toiminta →
Esimerkkipyynnöt
Ailoot · Kuvat
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");
Vastaanota ja tallenna tulokset
Ailoot · Kuvat
Lataa jokainen palautettu kuva tai tallenna sen Base64-sisältö
GET /v1/media/tasks/{task_id}GET /v1/media/assets/{asset_id}/contentGET /v1/media/assetsGET /v1/media/assets/{asset_id}
Säilytä kaikki valmistuneet tulokset
Tallenna jokainen valmistunut kuva; nouda jokainen palautettu URL tai pura sen Base64-sisältö.
Tallenna jokainen data-alkio. Pura jokainen b64_json-arvo tai lataa jokaisen palautetun allekirjoitetun URL-osoitteen sisältö. Valitse tiedostopääte todellisen MIME-tyypin tai tavusisällön perusteella.
Jos alkuperäinen vastaus on tarkistettava
Jos kuvan generoinnin tai muokkauksen tulos edellyttää tarkistusta, säilytä alkuperäinen operation_id/X-Client-Request-ID ja palautetut tulostiedot. Hae olemassa olevat omistamasi tulokset mediakirjastosta käyttämällä todellisia task_id- tai asset_id-arvoja. Älä lähetä generointi- tai muokkauspyyntöä uudelleen äläkä muodosta tilakyselyn URL-osoitetta operation_id-arvosta.
Vastauksen kentät
| Kenttä | Tyyppi |
|---|---|
Kenttäcreated | Tyyppiinteger |
Kenttädata[].url | Tyyppistring |
Kenttädata[].b64_json | Tyyppibase64 string |
Kenttäusage | Tyyppiobject |
Virheet ja seuraavat vaiheet
| Vastaus | Ehto | Seuraava vaihe |
|---|---|---|
Vastaus400 · invalid_request_error | EhtoVirheelliset pakolliset kentät, aineiston esitysmuoto tai parametrin arvo | Seuraava vaiheKorjaa ilmoitetut kentät ennen uutta luontipyyntöä. |
Vastausserver_error | EhtoPalautettu vastaus ilmoittaa, että operaatio tai tulos edellyttää tarkistusta | Seuraava vaiheSäilytä alkuperäinen palautettu operaation tai tehtävän ID, pyynnön otsakkeet ja vastaus; jatka kyseisen alkuperäisen operaation tuettuja lukutoimintoja. Älä lähetä luontipyyntöä uudelleen. |
Aliakset
Mallin aliakset
Ailoot gpt-image-2.5-sunburst-2026-09-08
Menetelmäpolkujen aliakset
Käytä yllä näytettyjä menetelmäpolkuja.
Liittyvät kutsujan ID:t
FAQ · GPT Image 2.5 Sunburst 2026-09-08
- Mitä syötteitä ja tuloksia on saatavilla?
POST /v1/images/generations·gpt-image-2.5-sunburst-2026-09-08:text→image- Mitä kenttiä pyyntö käyttää?
POST /v1/images/generations·gpt-image-2.5-sunburst-2026-09-08:model,prompt,n,response_format,stream- Mitä rajoja sovelletaan?
POST /v1/images/generations·gpt-image-2.5-sunburst-2026-09-08:n.minimum:1