GPT Image 2.5 Flare 2026-09-08
GPT Image 2.5 Flare direka untuk penjanaan imej harian berdasarkan penerangan. Saiz tersuai, pilihan tahap kualiti yang lebih luas dan latar belakang telus disediakan.
Tentang model
Huraian ini merangkumi keupayaan model. Input, output dan pilihan yang tersedia di Ailoot disenaraikan di bawah untuk kaedah yang dipilih.
Penjanaan harian berdasarkan penerangan teks
GPT Image 2.5 Flare ialah model OpenAI untuk menghasilkan imej. Menurut pengeluar, tujuannya ialah penjanaan bahan visual berkualiti dengan pantas untuk kegunaan harian. Arahan boleh menerangkan subjek, gaya, susunan butiran dan bentuk bingkai yang dikehendaki; hasilnya ialah imej.
Dalam Ailoot, kad ini disediakan untuk penjanaan dengan input teks. OpenAI turut menerangkan penggunaan imej asal, rujukan dan suntingan. Kaedah ini memerlukan sokongan input imej; penerangan tersebut tidak bermakna kaedah teks sudah menerima bahan sedemikian.
Kualiti daripada draf hingga imej terperinci
Tahap low, medium, high, xhigh, max dan pemilihan automatik auto disokong. Tetapan kualiti mempengaruhi jumlah kerja untuk membentuk hasil. Ia ditetapkan secara berasingan daripada saiz bingkai dan pemampatan fail yang siap.
Pilihan saiz merangkumi bentuk segi empat sama, mendatar dan menegak, pemilihan automatik serta saiz tersuai. Nisbah boleh disesuaikan dengan komposisi sambil mematuhi semua had pengeluar.
Saiz tersuai
Setiap sisi mestilah gandaan 16 piksel dan tidak melebihi 3840 piksel. Nisbah sisi panjang kepada sisi pendek tidak boleh melebihi 3:1. Luas yang dibenarkan ialah antara 655 360 hingga 8 294 400 piksel. Semua had terpakai serentak: nisbah bidang yang dibenarkan tidak membatalkan had luas.
Resolusi melebihi 2560x1440 ditandai sebagai eksperimen. Apabila memilih bingkai besar, komposisi itu sendiri perlu dipertimbangkan: bilangan piksel yang lebih banyak tidak menjamin susunan semua unsurnya tanpa kesilapan.
Fail hasil dan ketelusan
Model menyediakan PNG, JPEG dan WebP; format lalai ialah PNG. Pemampatan boleh dikawal untuk JPEG dan WebP. Latar belakang telus memerlukan PNG atau WebP. Pengeluar turut menyokong latar belakang legap dan pemilihan automatik. Ketelusan membolehkan imej digunakan dalam komposisi seterusnya tanpa latar yang ditetapkan.
Tetapan pengeluar menerangkan keupayaan model; pelaksanaannya bergantung pada sokongan parameter oleh kaedah yang dipilih. Setiap penjanaan menghasilkan hasil baharu, maka penerangan yang sama tidak menjamin imej yang serupa sepenuhnya.
Perkara yang perlu diperiksa pada imej siap
Menurut OpenAI, pemprosesan arahan yang rumit boleh mengambil masa sehingga dua minit. Ini menerangkan penjanaan di pihak pengeluar, bukan jaminan jumlah masa untuk menerima hasil dalam aplikasi tertentu.
Tulisan, kedudukan tepat objek dan pengekalan rupa yang sama antara imej perlu diperiksa. Mask dalam operasi penyuntingan yang disokong secara berasingan menentukan arah perubahan, bukan sempadan tegas. Untuk penjanaan teks, terangkan komposisi dengan tepat dan periksa fail itu sendiri: butiran yang kelihatan, kebolehbacaan dan kesesuaian dengan subjek yang diminta.
Ailoot · Imej POST /v1/images/generations gpt-image-2.5-flare-2026-09-08
gpt-image-2.5-flare-2026-09-08
gpt-image-2.5-flare-2026-09-08Pengenalan
GPT Image 2.5 Flare direka untuk penjanaan imej harian berdasarkan penerangan. Saiz tersuai, pilihan tahap kualiti yang lebih luas dan latar belakang telus disediakan.
- Input yang diterima
- Teks
- Hasil
- Imej
Tersedia di Ailoot · input & kaedah
Ailoot · Imej POST /v1/images/generations
- Input
text- Output
image- Format output
- Fail imej
| Medan | Jenis | Keperluan | Nilai & had | Lalai |
|---|---|---|---|---|
Medanmodel | Jenisstring | KeperluanDiperlukan | Nilai & had gpt-image-2.5-flare-2026-09-08 | Lalai— |
Medanprompt | Jenisstring | KeperluanDiperlukan | Nilai & had Panjang minimum: 1 | Lalai— |
Medann | Jenisinteger | KeperluanPilihan | Nilai & had Minimum: 1 | Lalai1 |
Medanresponse_format | Jenisstring | KeperluanPilihan | Nilai & had url, b64_json | Lalai— |
Medanstream | Jenisboolean | KeperluanPilihan | Nilai & had | Lalaifalse |
Medansize | Jenisstring | KeperluanPilihan | Nilai & had Bergantung pada model | Lalai— |
Medanquality | Jenisstring | KeperluanPilihan | Nilai & had Bergantung pada model | Lalai— |
Medanbackground | Jenisstring | KeperluanPilihan | Nilai & had Bergantung pada model | Lalai— |
Medanoutput_format | Jenisstring | KeperluanPilihan | Nilai & had Bergantung pada model | Lalai— |
Medanoutput_compression | Jenisinteger | KeperluanPilihan | Nilai & had Bergantung pada model | Lalai— |
Medanmoderation | Jenisstring | KeperluanPilihan | Nilai & had Bergantung pada model | Lalai— |
Medaninput_fidelity | Jenisstring | KeperluanPilihan | Nilai & had Bergantung pada model | Lalai— |
Medanstyle | Jenisstring | KeperluanPilihan | Nilai & had Bergantung pada model | Lalai— |
Medanpartial_images | Jenisinteger | KeperluanPilihan | Nilai & had Bergantung pada model | Lalai— |
Gabungan bahan input
Teks kepada imej · Diperlukan: prompt
Parameter kaedah dan kitar hayat
| Parameter | Kontrak |
|---|---|
Parametermaterial_types | Kontraktext |
Parameterrequired | Kontrakmodel, prompt |
Parameteroptional_controls | Kontraknull |
Parametercontent_type | Kontrakapplication/json |
Kitar hayat: synchronous_result_then_owned_library
GET /v1/media/tasks/{task_id} · task_id sebenar yang dikembalikan atau rekod pustaka media
GET /v1/media/assets/{asset_id}/content
GET /v1/media/assets
GET /v1/media/assets/{asset_id}
Struktur kaedah dan ID adalah tepat; keupayaan pembekal berasingan daripada penerimaan permintaan.
Pelan harga
Kadar kaedah Ailoot
POST /v1/images/generations- Input teks
- USD 0.005 / 1K
- Input, imej
- USD 0.008 / 1K tokens
- Output, imej
- USD 0.03 / 1K tokens
Ailoot merizabkan anggaran amaun sebelum permintaan. Selepas hasil diterima, caj akhir diselesaikan berdasarkan penggunaan terukur. Penyelesaian caj penstriman menggunakan rekod penggunaan akhir. Cara rizab dan penyelesaian caj berfungsi →
Contoh permintaan
Ailoot · Imej
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-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-flare-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-flare-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");
Terima dan simpan hasil
Ailoot · Imej
Muat turun setiap imej yang dikembalikan atau simpan kandungan Base64-nya
GET /v1/media/tasks/{task_id}GET /v1/media/assets/{asset_id}/contentGET /v1/media/assetsGET /v1/media/assets/{asset_id}
Simpan semua hasil yang selesai
Simpan setiap imej yang selesai; dapatkan setiap URL yang dikembalikan atau nyahkod kandungan Base64-nya.
Simpan setiap item data. Nyahkod setiap b64_json atau dapatkan setiap URL bertandatangan yang dikembalikan. Pilih sambungan nama fail berdasarkan MIME/bait sebenar.
Jika respons asal perlu disemak
Jika hasil penjanaan atau penyuntingan imej memerlukan semakan, simpan operation_id/X-Client-Request-ID asal serta maklumat hasil yang dikembalikan. Pulihkan hasil sedia ada milik anda melalui pustaka media menggunakan nilai task_id atau asset_id sebenar. Jangan hantar semula permintaan penjanaan/penyuntingan atau bina URL tinjauan status daripada operation_id.
Medan respons
| Medan | Jenis |
|---|---|
Medancreated | Jenisinteger |
Medandata[].url | Jenisstring |
Medandata[].b64_json | Jenisbase64 string |
Medanusage | Jenisobject |
Ralat dan langkah seterusnya
| Respons | Syarat | Langkah seterusnya |
|---|---|---|
Respons400 · invalid_request_error | SyaratMedan wajib, perwakilan bahan atau nilai parameter tidak sah | Langkah seterusnyaBetulkan medan yang ditunjukkan sebelum permintaan penciptaan baharu. |
Responsserver_error | SyaratRespons yang dikembalikan menyatakan bahawa operasi atau hasil memerlukan semakan | Langkah seterusnyaSimpan ID operasi/tugas asal yang dikembalikan, pengepala permintaan dan respons; teruskan pembacaan yang disokong bagi operasi asal tersebut. Jangan hantar semula permintaan penciptaan. |
Alias
Alias model
Ailoot gpt-image-2.5-flare-2026-09-08
Alias laluan kaedah
Gunakan laluan kaedah yang dipaparkan di atas.
ID pemanggil berkaitan
FAQ · GPT Image 2.5 Flare 2026-09-08
- Apakah input dan hasil yang tersedia?
POST /v1/images/generations·gpt-image-2.5-flare-2026-09-08:text→image- Apakah medan yang digunakan oleh permintaan?
POST /v1/images/generations·gpt-image-2.5-flare-2026-09-08:model,prompt,n,response_format,stream- Apakah had yang terpakai?
POST /v1/images/generations·gpt-image-2.5-flare-2026-09-08:n.minimum:1