GPT Image 2.5 Sunburst 2026-09-08
GPT Image 2.5 Sunburst lager bilder fra tekstbaserte oppgaver. Den støtter egendefinerte størrelser, utvidede kvalitetsnivåer og gjennomsiktig bakgrunn; produsenten fremhever også redigeringspresisjon.
Om modellen
Denne beskrivelsen dekker modellens funksjoner. Tilgjengelige inndata, utdata og alternativer i Ailoot er oppført nedenfor for den valgte metoden.
Generering og arbeid med bilder
GPT Image 2.5 Sunburst er en OpenAI-modell for bildegenerering. Produsenten legger særlig vekt på presisjon ved redigering av kildemateriale. Modellen støtter tekstbaserte oppgaver og, i operasjoner som er laget for det, visuelle kilder.
Det gjeldende Ailoot-kortet tilbyr bildegenerering fra tekst. Scene, komposisjon, stil og detaljer i det ønskede resultatet kan angis. OpenAIs beskrevne bruk av referanser, redigering og endring av områder med maske krever separat støtte for inndatabilder; bildegenerering fra tekst bekrefter ikke slik støtte.
Kvalitet og bildeform
low, medium, high, xhigh, max og auto er tilgjengelige. Kvalitetsvalget styrer bildegenereringsmodusen. Det skiller seg fra komposisjonens dimensjoner og komprimeringsgraden i resultatfilen.
Størrelsen kan være kvadratisk, liggende, stående, automatisk valgt eller manuelt angitt. Med egendefinert størrelse er hver side delelig med 16 piksler og overstiger ikke 3840 piksler. Arealet skal være mellom 655 360 og 8 294 400 piksler, og forholdet mellom den lengste og korteste siden skal ikke overstige 3:1. Alle vilkårene gjelder samtidig.
Produsenten merker oppløsninger over 2560x1440 som eksperimentelle. Et stort bilde gir mulighet til å velge et egnet komposisjonsrom, men fjerner ikke behovet for å kontrollere tekst og objektplassering.
Resultatformater og bakgrunn
PNG brukes som standard; JPEG og WebP er også tilgjengelige. Komprimeringen kan styres i JPEG og WebP. Gjennomsiktig bakgrunn krever PNG eller WebP, siden JPEG ikke bevarer alfakanalen. I tillegg til gjennomsiktighet er ugjennomsiktig bakgrunn og automatisk valg tilgjengelige.
Størrelse, kvalitet, format og bakgrunn bestemmer ulike sider ved resultatet. Bildestilen angis i tekstbeskrivelsen sammen med sceneinnholdet. Støtte for konkrete innstillinger bør vurderes separat fra produsentens generelle funksjoner.
Redigeringspresisjon og bildekontroll
Ifølge OpenAI kan behandling av en krevende oppgave ta opptil to minutter. Dette beskriver genereringen hos produsenten, ikke en garanti for den samlede tiden frem til resultatet mottas i et konkret program.
I en separat støttet redigeringsoperasjon styrer masken endringen av det valgte området. Den garanterer ikke at resultatet følger grensen strengt, så et løfte om presis lokal redigering ville være for sterkt. Bruk av denne modusen krever en egnet måte å sende inn kilden på.
Ved generering kan modellen også plassere tekst og detaljer feil eller endre en figurs utseende mellom separate bilder. Kontroll av tekst, komposisjon og gjentakbarhet gjøres på den ferdige filen. Selv en detaljert oppgave gjør ikke disse egenskapene garanterte.
Ailoot · Bilder 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-08Start
GPT Image 2.5 Sunburst lager bilder fra tekstbaserte oppgaver. Den støtter egendefinerte størrelser, utvidede kvalitetsnivåer og gjennomsiktig bakgrunn; produsenten fremhever også redigeringspresisjon.
- Godkjente inndata
- Tekst
- Resultater
- Bilder
Tilgjengelig i Ailoot · inndata & metoder
Ailoot · Bilder POST /v1/images/generations
- Inndatatyper
text- Utdatatyper
image- Utdataformat
- Bildefil
| Felt | Type | Krav | Verdier & grenser | Standard |
|---|---|---|---|---|
Feltmodel | Typestring | KravPåkrevd | Verdier & grenser gpt-image-2.5-sunburst-2026-09-08 | Standard— |
Feltprompt | Typestring | KravPåkrevd | Verdier & grenser Minste lengde: 1 | Standard— |
Feltn | Typeinteger | KravValgfritt | Verdier & grenser Minimum: 1 | Standard1 |
Feltresponse_format | Typestring | KravValgfritt | Verdier & grenser url, b64_json | Standard— |
Feltstream | Typeboolean | KravValgfritt | Verdier & grenser | Standardfalse |
Feltsize | Typestring | KravValgfritt | Verdier & grenser Avhenger av modellen | Standard— |
Feltquality | Typestring | KravValgfritt | Verdier & grenser Avhenger av modellen | Standard— |
Feltbackground | Typestring | KravValgfritt | Verdier & grenser Avhenger av modellen | Standard— |
Feltoutput_format | Typestring | KravValgfritt | Verdier & grenser Avhenger av modellen | Standard— |
Feltoutput_compression | Typeinteger | KravValgfritt | Verdier & grenser Avhenger av modellen | Standard— |
Feltmoderation | Typestring | KravValgfritt | Verdier & grenser Avhenger av modellen | Standard— |
Feltinput_fidelity | Typestring | KravValgfritt | Verdier & grenser Avhenger av modellen | Standard— |
Feltstyle | Typestring | KravValgfritt | Verdier & grenser Avhenger av modellen | Standard— |
Feltpartial_images | Typeinteger | KravValgfritt | Verdier & grenser Avhenger av modellen | Standard— |
Kombinasjoner av inngående materialer
Tekst til bilde · Påkrevd: prompt
Metodeparametere og livssyklus
| Parameter | Avtale |
|---|---|
Parametermaterial_types | Avtaletext |
Parameterrequired | Avtalemodel, prompt |
Parameteroptional_controls | Avtalenull |
Parametercontent_type | Avtaleapplication/json |
Livssyklus: synchronous_result_then_owned_library
GET /v1/media/tasks/{task_id} · faktisk returnert task_id eller oppføring i mediebiblioteket
GET /v1/media/assets/{asset_id}/content
GET /v1/media/assets
GET /v1/media/assets/{asset_id}
Metodestrukturer og ID-er er eksakte; leverandørens evne er adskilt fra godkjenning av forespørselen.
Priser
Satser for Ailoot-metoder
POST /v1/images/generations- Tekstinndata
- 0,005 USD / 1K
- Inndata, bilde
- 0,008 USD / 1K tokens
- Utdata, bilde
- 0,03 USD / 1K tokens
Ailoot reserverer et estimert beløp før en forespørsel. Etter resultatet gjøres det endelige beløpet opp basert på målt forbruk. Oppgjør for strømming bruker den endelige forbruksposten. Slik fungerer reservasjon og oppgjør →
Eksempelforespørsler
Ailoot · Bilder
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");
Motta og lagre resultater
Ailoot · Bilder
Last ned hvert returnerte bilde eller lagre Base64-innholdet
GET /v1/media/tasks/{task_id}GET /v1/media/assets/{asset_id}/contentGET /v1/media/assetsGET /v1/media/assets/{asset_id}
Behold alle ferdige resultater
Lagre hvert ferdige bilde; hent hver returnerte URL eller dekod Base64-innholdet.
Lagre hvert dataelement. Dekod hver b64_json, eller hent hver returnerte signerte URL. Velg filendelse ut fra faktisk MIME-type/byteinnhold.
Hvis det opprinnelige svaret må kontrolleres
Hvis et resultat fra bildegenerering eller bilderedigering må kontrolleres, bevar opprinnelig operation_id/X-Client-Request-ID og den returnerte resultatinformasjonen. Hent eksisterende resultater du eier via mediebiblioteket, ved hjelp av faktiske task_id- eller asset_id-verdier. Ikke send genererings-/redigeringsforespørselen på nytt, og ikke konstruer en URL for statusavlesning fra operation_id.
Svarfelter
| Felt | Type |
|---|---|
Feltcreated | Typeinteger |
Feltdata[].url | Typestring |
Feltdata[].b64_json | Typebase64 string |
Feltusage | Typeobject |
Feil og neste trinn
| Svar | Vilkår | Neste trinn |
|---|---|---|
Svar400 · invalid_request_error | VilkårUgyldige påkrevde felter, materialrepresentasjon eller parameterverdi | Neste trinnKorriger de angitte feltene før en ny opprettelsesforespørsel. |
Svarserver_error | VilkårDet returnerte svaret angir at operasjonen eller resultatet må kontrolleres | Neste trinnBevar den opprinnelige returnerte operasjons-/oppgave-ID-en, forespørselshodene og svaret; fortsett å lese den opprinnelige operasjonen på de støttede måtene. Ikke send opprettelsesforespørselen på nytt. |
Aliaser
Modellaliaser
Ailoot gpt-image-2.5-sunburst-2026-09-08
Aliaser for metodestier
Bruk metodestiene som vises ovenfor.
Tilknyttede anroper-ID-er
FAQ · GPT Image 2.5 Sunburst 2026-09-08
- Hvilke inndata og resultater er tilgjengelige?
POST /v1/images/generations·gpt-image-2.5-sunburst-2026-09-08:text→image- Hvilke felt bruker forespørselen?
POST /v1/images/generations·gpt-image-2.5-sunburst-2026-09-08:model,prompt,n,response_format,stream- Hvilke grenser gjelder?
POST /v1/images/generations·gpt-image-2.5-sunburst-2026-09-08:n.minimum:1