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 ซึ่งปรับการบีบอัดได้ พื้นหลังโปร่งใสต้องใช้ 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- ข้อความอินพุต
- US$0.005 / 1K
- ขาเข้า, รูปภาพ
- US$0.008 / 1K tokens
- ขาออก, รูปภาพ
- US$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 | เงื่อนไขการตอบกลับที่ได้รับระบุว่าต้องตรวจสอบการดำเนินการหรือผลลัพธ์ | ขั้นตอนถัดไปเก็บ 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