mô hình

OpenAI: GPT Image 2.5 Flare

Markdown · JSON

OpenAI: GPT Image 2.5 Flare

GPT Image 2.5 Flare tạo và chỉnh sửa hình ảnh từ văn bản cùng tham chiếu, tập trung vào sáng tạo hình ảnh hằng ngày nhanh chóng. Mô hình hỗ trợ kích thước tùy chỉnh, nền trong suốt, mặt nạ và chất lượng đến max cho bản phác thảo, minh họa và tài nguyên chiến dịch.

Về mô hình

Mô tả này trình bày khả năng của mô hình. Đầu vào, đầu ra và tùy chọn có trên Ailoot được liệt kê bên dưới cho phương thức đã chọn.

GPT Image 2.5 Flare là phiên bản tạo và chỉnh sửa hình ảnh của OpenAI hướng tới công việc hằng ngày nhanh, chất lượng cao. Mô hình nhận văn bản và hình ảnh, trả về kết quả hình ảnh. Dùng cho bản phác thảo, minh họa, ý tưởng sản phẩm và nhiệm vụ sáng tạo định kỳ cần nhanh chóng biến bản yêu cầu thành ảnh sử dụng được. Flare tách biệt với Sunburst, vốn chú trọng độ chính xác chỉnh sửa. Chọn Flare cho tạo ảnh thường ngày và Sunburst khi ưu tiên sửa chính xác.

Bắt đầu với chủ thể chính, hành động, môi trường, bố cục và cách thể hiện hình ảnh. Với minh họa chiến dịch, yêu cầu người đi xe đạp qua cầu nhỏ trong ánh chiều ấm, hình dáng nổi bật và bầu trời thoáng cho chữ thêm sau. Bản yêu cầu khám phá ngắn có thể để mở lựa chọn thẩm mỹ; bản yêu cầu sản xuất cần nêu chi tiết và vị trí quan trọng. Quy trình tạo và sửa trực tiếp cho phép lời nhắc tối đa 32,000 ký tự và từ một đến mười kết quả, hữu ích để so sánh vài biến thể theo cùng mục đích.

Khi chỉnh sửa, có thể cung cấp tối đa mười sáu ảnh tham chiếu. Gán vai trò rõ cho mỗi ảnh thay vì mong mô hình tự quyết ảnh thể hiện danh tính chủ thể, cảnh vật hay phong cách. Mặt nạ có thể hướng dẫn sửa một vùng; với nhiều ảnh, nó áp dụng cho ảnh đầu tiên. Ảnh và mặt nạ phải cùng định dạng, kích thước, và mặt nạ phải chứa kênh alpha. Hướng dẫn yêu cầu nguồn và mặt nạ dưới 50 MB. Mặt nạ là chỉ dẫn chứ không cam kết giữ chính xác ranh giới, nên nêu cả thay đổi mong muốn và điều cần giữ dễ nhận ra.

Flare hỗ trợ chất lượng low, medium, high, xhigh, max và tự động, mặc định auto. Chất lượng thấp hơn có thể phục vụ phác thảo nhanh; có thể so sánh các mức cao hơn cho chi tiết của tài nguyên cuối. Chất lượng độc lập với kích thước và nén đầu ra. Kích thước chuẩn gồm 1024 × 1024, 1536 × 1024 và 1024 × 1536, đồng thời có kích thước tự động hoặc tùy chỉnh. Chọn hướng khung theo vị trí cuối và không gian hữu ích của cảnh.

Chiều rộng, chiều cao tùy chỉnh phải là bội số của mười sáu, không cạnh nào trên 3840 pixel. Tỷ lệ cho phép từ 1:3 đến 3:1, và tổng diện tích ít nhất 655,360, nhiều nhất 8,294,400 pixel. Cả bốn điều kiện áp dụng đồng thời. Hướng dẫn xác định độ phân giải trên 2560 × 1440 là thử nghiệm. Dùng khung hợp lệ phù hợp bố cục và nêu chi tiết nhạy với cắt ảnh trong bản yêu cầu thay vì xem độ phân giải lớn hơn là cải thiện bố cục tự động.

Định dạng kết quả mặc định là PNG, với lựa chọn JPEG và WebP. JPEG và WebP cho phép mức nén từ 0 đến 100. Với nền trong suốt, chọn PNG hoặc WebP; nền đục và tự động cũng được hỗ trợ. Tài nguyên trong suốt có thể đặt vào bố cục sau, còn ảnh đục có phông nền riêng. Chọn định dạng, nền và nén theo nhu cầu bàn giao thực tế, giữ tệp hoàn chỉnh cùng bản yêu cầu và cài đặt đã chọn.

Nhà cung cấp ghi nhận việc tạo và sửa ảnh trực tiếp, cùng công cụ ảnh qua hội thoại có thể giữ kết quả được chọn để sửa tiếp. Trong quy trình đó, hành động có thể tự động, bắt buộc tạo mới hoặc bắt buộc chỉnh sửa khi ngữ cảnh có ảnh. Truyền phát có thể hiển thị tối đa ba ảnh từng phần trước kết quả cuối. Các bản xem trước thể hiện tiến độ chứ không phải thành phẩm bổ sung. Với công việc lặp, tiếp tục từ ảnh đã chọn và mô tả thay đổi nhìn thấy, chẳng hạn di chuyển một vật thể hoặc điều chỉnh cách xử lý màu. Giao diện nhà sản xuất cũng hỗ trợ xử lý theo lô.

Kiểm tra chữ, vị trí vật thể, chi tiết chủ thể và bố cục ở kích thước dự kiến. GPT Image vẫn có thể gặp khó với vị trí chữ chính xác, bố cục có cấu trúc và danh tính hình ảnh lặp lại qua các lần tạo. Giữ biến thể được chấp nhận làm tham chiếu tiếp theo và thu hẹp lần sửa sau vào vấn đề quan trọng. Vai trò tạo ảnh thường ngày của Flare hữu ích cho chuỗi rõ ràng gồm bản yêu cầu, các phương án hình ảnh, lựa chọn và tinh chỉnh, với tài nguyên cuối được đánh giá theo mục đích sáng tạo thực tế.

Ailoot · Ảnh POST /v1/images/generations gpt-image-2.5-flare

gpt-image-2.5-flare

OpenAI /gpt-image-2.5-flare

Bắt đầu

GPT Image 2.5 Flare tạo và chỉnh sửa hình ảnh từ văn bản cùng tham chiếu, tập trung vào sáng tạo hình ảnh hằng ngày nhanh chóng. Mô hình hỗ trợ kích thước tùy chỉnh, nền trong suốt, mặt nạ và chất lượng đến max cho bản phác thảo, minh họa và tài nguyên chiến dịch.

Đầu vào được chấp nhận
Văn bản
Kết quả
Ảnh

Có trên Ailoot · đầu vào & phương thức

Ailoot · Ảnh POST /v1/images/generations
Đầu vào
text
Đầu ra
image
Định dạng đầu ra
Tệp ảnh
TrườngLoạiYêu cầuGiá trị & giới hạnMặc định
TrườngmodelLoạistringYêu cầuBắt buộcGiá trị & giới hạn
gpt-image-2.5-flare
Mặc định—
TrườngpromptLoạistringYêu cầuBắt buộcGiá trị & giới hạn
Độ dài tối thiểu: 1
Mặc định—
TrườngnLoạiintegerYêu cầuKhông bắt buộcGiá trị & giới hạn
Tối thiểu: 1
Mặc định1
Trườngresponse_formatLoạistringYêu cầuKhông bắt buộcGiá trị & giới hạn
url, b64_json
Mặc định—
TrườngstreamLoạibooleanYêu cầuKhông bắt buộcGiá trị & giới hạnMặc địnhfalse
TrườngsizeLoạistringYêu cầuKhông bắt buộcGiá trị & giới hạn
Tùy thuộc vào mô hình
Mặc định—
TrườngqualityLoạistringYêu cầuKhông bắt buộcGiá trị & giới hạn
Tùy thuộc vào mô hình
Mặc định—
TrườngbackgroundLoạistringYêu cầuKhông bắt buộcGiá trị & giới hạn
Tùy thuộc vào mô hình
Mặc định—
Trườngoutput_formatLoạistringYêu cầuKhông bắt buộcGiá trị & giới hạn
Tùy thuộc vào mô hình
Mặc định—
Trườngoutput_compressionLoạiintegerYêu cầuKhông bắt buộcGiá trị & giới hạn
Tùy thuộc vào mô hình
Mặc định—
TrườngmoderationLoạistringYêu cầuKhông bắt buộcGiá trị & giới hạn
Tùy thuộc vào mô hình
Mặc định—
Trườnginput_fidelityLoạistringYêu cầuKhông bắt buộcGiá trị & giới hạn
Tùy thuộc vào mô hình
Mặc định—
TrườngstyleLoạistringYêu cầuKhông bắt buộcGiá trị & giới hạn
Tùy thuộc vào mô hình
Mặc định—
Trườngpartial_imagesLoạiintegerYêu cầuKhông bắt buộcGiá trị & giới hạn
Tùy thuộc vào mô hình
Mặc định—
Tổ hợp tư liệu đầu vào

Văn bản thành ảnh · Bắt buộc: prompt

Tham số phương thức và vòng đời
Tham sốHợp đồng
Tham sốmaterial_typesHợp đồngtext
Tham sốrequiredHợp đồngmodel, prompt
Tham sốoptional_controlsHợp đồngnull
Tham sốcontent_typeHợp đồngapplication/json

Vòng đời: synchronous_result_then_owned_library

GET /v1/media/tasks/{task_id} · Giá trị task_id thực tế đã trả về hoặc bản ghi trong thư viện nội dung đa phương tiện

GET /v1/media/assets/{asset_id}/content

GET /v1/media/assets

GET /v1/media/assets/{asset_id}

Cấu trúc phương thức và ID là chính xác; khả năng của nhà cung cấp tách biệt với việc cho phép tiếp nhận yêu cầu.

Bảng giá

Mức phí phương thức Ailoot

Ailoot ẢnhPOST /v1/images/generations
Đầu vào văn bản
0,005 US$ / 1K
Đầu vào, hình ảnh
0,008 US$ / 1K tokens
Đầu ra, hình ảnh
0,03 US$ / 1K tokens

Ailoot tạm giữ một khoản ước tính trước yêu cầu. Sau khi có kết quả, phí cuối cùng được quyết toán theo mức sử dụng đo được. Việc quyết toán khi truyền luồng dùng bản ghi mức sử dụng cuối cùng. Cách hoạt động của cơ chế tạm giữ và quyết toán →

Ví dụ yêu cầu

Ailoot · Ảnh

curlPython SDKNode.js SDK
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", "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', '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", "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");

Nhận và lưu kết quả

Ailoot · Ảnh

Tải xuống từng ảnh trả về hoặc lưu nội dung Base64 của ảnh

  • GET /v1/media/tasks/{task_id}
  • GET /v1/media/assets/{asset_id}/content
  • GET /v1/media/assets
  • GET /v1/media/assets/{asset_id}
Lưu tất cả kết quả đã hoàn tất

Lưu mọi ảnh đã hoàn tất; truy xuất từng URL trả về hoặc giải mã nội dung Base64 của ảnh.

Lưu mọi phần tử dữ liệu. Giải mã từng b64_json hoặc tải xuống từ mọi URL có chữ ký đã trả về. Chọn phần mở rộng tệp dựa trên MIME/nội dung byte thực tế.

Nếu cần kiểm tra phản hồi gốc

Nếu kết quả tạo hoặc chỉnh sửa ảnh cần được kiểm tra, giữ lại operation_id/X-Client-Request-ID gốc và thông tin kết quả đã trả về. Khôi phục các kết quả hiện có thuộc quyền sở hữu của bạn qua thư viện nội dung đa phương tiện bằng các giá trị task_id hoặc asset_id thực tế. Không gửi lại yêu cầu tạo/chỉnh sửa ảnh hoặc tạo URL truy vấn trạng thái từ operation_id.

Trường phản hồi
TrườngLoại
TrườngcreatedLoạiinteger
Trườngdata[].urlLoạistring
Trườngdata[].b64_jsonLoạibase64 string
TrườngusageLoạiobject
Lỗi và bước tiếp theo
Phản hồiĐiều kiệnBước tiếp theo
Phản hồi400 · invalid_request_errorĐiều kiệnTrường bắt buộc, cách biểu diễn tài liệu hoặc giá trị tham số không hợp lệBước tiếp theoSửa các trường được chỉ ra trước khi gửi yêu cầu tạo mới.
Phản hồiserver_errorĐiều kiệnPhản hồi trả về cho biết thao tác hoặc kết quả cần được kiểm traBước tiếp theoGiữ lại ID thao tác/tác vụ gốc đã trả về, các header của yêu cầu và toàn bộ phản hồi; tiếp tục truy xuất thao tác gốc đó bằng các phương thức được hỗ trợ. Không gửi lại yêu cầu tạo.

Bí danh

Bí danh mô hình

Ailoot gpt-image-2.5-flare
Ailoot Ultra gpt-image-2.5-flare, openai/gpt-image-2.5-flare

Bí danh đường dẫn phương thức

/v1/images

ID gọi liên quan

openai/gpt-image-2.5-flare, gpt-image-2.5-flare, gpt-image-2.5-flare

Ailoot Ultra · Ảnh POST /v1/images/generations gpt-image-2.5-flare

gpt-image-2.5-flare

OpenAI /gpt-image-2.5-flare
ID mô hình
  • gpt-image-2.5-flare
  • openai/gpt-image-2.5-flare

Bắt đầu

GPT Image 2.5 Flare tạo và chỉnh sửa hình ảnh từ văn bản cùng tham chiếu, tập trung vào sáng tạo hình ảnh hằng ngày nhanh chóng. Mô hình hỗ trợ kích thước tùy chỉnh, nền trong suốt, mặt nạ và chất lượng đến max cho bản phác thảo, minh họa và tài nguyên chiến dịch.

Đầu vào được chấp nhận
Văn bản
Kết quả
Ảnh

Có trên Ailoot · đầu vào & phương thức

Ailoot Ultra · Ảnh POST /v1/images/generations
Đầu vào
text
Đầu ra
image
TrườngLoạiYêu cầuGiá trị & giới hạnMặc định
TrườngmodelLoạistringYêu cầuBắt buộcGiá trị & giới hạn
gpt-image-2.5-flare
Mặc định—
TrườngpromptLoạistringYêu cầuBắt buộcGiá trị & giới hạn
Độ dài tối đa: 32.000
Mặc định—
TrườngsizeLoạistringYêu cầuKhông bắt buộcGiá trị & giới hạn
Điều kiện: Dùng auto hoặc WIDTHxHEIGHT với cả hai kích thước chia hết cho 16. Cạnh dài nhất tối đa 3,840 pixel và tổng kích thước tối đa 8,300,000 pixel.
Mặc địnhauto
TrườngbackgroundLoạistringYêu cầuKhông bắt buộcGiá trị & giới hạn
transparent, opaque, auto
Mặc địnhauto
TrườngmoderationLoạistringYêu cầuKhông bắt buộcGiá trị & giới hạn
low, auto
Điều kiện: Dùng auto để kiểm duyệt nội dung tiêu chuẩn.
Mặc định—
TrườngnLoạiintegerYêu cầuKhông bắt buộcGiá trị & giới hạn
Tối thiểu: 1
Tối đa: 10
Mặc định1
TrườngqualityLoạistringYêu cầuKhông bắt buộcGiá trị & giới hạn
auto, high, medium, low
Mặc địnhauto
Trườngoutput_compressionLoạiintegerYêu cầuKhông bắt buộcGiá trị & giới hạn
Tối thiểu: 0
Tối đa: 100
Điều kiện: Áp dụng cho đầu ra JPEG và WebP; gửi giá trị số nguyên theo tài liệu.
Mặc định100
Trườngoutput_formatLoạistringYêu cầuKhông bắt buộcGiá trị & giới hạn
webp, png, jpeg
Mặc địnhpng
TrườngstreamLoạibooleanYêu cầuKhông bắt buộcGiá trị & giới hạn
false
Điều kiện: Tuyến này trả về một phản hồi JSON hoàn chỉnh.
Mặc địnhfalse
Tham số phương thức và vòng đời
Tham sốHợp đồng
Tham sốcontent_typeHợp đồngapplication/json
Tham sốrequiredHợp đồngprompt, model
Tham sốmaterial_typesHợp đồngtext
Tham sốoptionalHợp đồngsize, background, moderation, n, quality, output_compression, output_format, stream
Tham sốconditionsHợp đồngNền trong suốt yêu cầu định dạng PNG hoặc WebP., Nén đầu ra áp dụng cho JPEG hoặc WebP., Phương thức đã chọn tạo từ văn bản. Các tùy chọn chỉnh sửa và truyền trực tuyến mà nhà sản xuất mô tả là những khả năng riêng biệt.

Vòng đời: synchronous_result_then_owned_library

GET /v1/media/tasks/{task_id} · Giá trị task_id thực tế đã trả về hoặc bản ghi trong thư viện nội dung đa phương tiện

GET /v1/media/assets/{asset_id}/content

GET /v1/media/assets

GET /v1/media/assets/{asset_id}

Bảng giá

Cách tính phí cuối cùng

Các đơn giá hiển thị dùng để ước tính chi phí trước khi tạo. Khoản phí cuối cùng được tính dựa trên chi phí ghi nhận cho lượt tạo gốc. Thời lượng đầu ra đo được và số lượng dự kiến không phải là số lượng cuối cùng dùng để tính phí.

Thông tin biểu giá không bổ sung tùy chọn yêu cầu. Các tham số được hỗ trợ nằm trong phương thức đã chọn.

Chế độ nhanh
Chưa chỉ định Khi chọn chế độ nhanh
Chế độ Flex
Chưa chỉ định Khi chọn chế độ flex
Mức độ suy luận tối đa
Chưa chỉ định Khi áp dụng mức điều chỉnh mặc định (default) cho mức độ suy luận tối đa

Mức phí ước tính để so sánh

Giá theo cấu hình

Đối chiếu từng khoản phí với điều kiện hiển thị. Dùng một mức phí cho mỗi nhóm cấu hình thay thế.

Cấu hìnhBiểu mức phíSố lượng dự báoPhí
Cấu hìnhGiá cơ sở cho tokenBiểu mức phíMức phí cơ bảnSố lượng dự báo—Phí
Đầu vào · Token đầu vào · Ước tính chỉ để so sánh — / 1K token
Đầu ra · Token đầu ra · Ước tính chỉ để so sánh — / 1K token
Đầu vào · Đọc bộ nhớ đệm · Ước tính chỉ để so sánh — / 1K token
Đầu vào · Ghi bộ nhớ đệm · Ước tính chỉ để so sánh — / 1K token
Đầu vào · Ghi bộ nhớ đệm, 1 giờ · Ước tính chỉ để so sánh — / 1K token
Cấu hìnhChi phí tạo ước tínhBiểu mức phí—Số lượng dự báoước tính cho một lần tạoPhí
Đầu ra · Chi phí tạo ước tính · Ước tính chỉ để so sánh $0.24576 ước tính trước khi tạo

Ước tính này không phải là khoản phí bổ sung hay mức giá cố định cho lượt tạo đã hoàn tất.

Ailoot tạm giữ một khoản ước tính trước yêu cầu. Sau khi có kết quả, phí cuối cùng được quyết toán theo mức sử dụng đo được. Việc quyết toán khi truyền luồng dùng bản ghi mức sử dụng cuối cùng. Cách hoạt động của cơ chế tạm giữ và quyết toán →

Ví dụ yêu cầu

Ailoot Ultra · Ảnh

curl
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p={'prompt': 'A cute baby sea otter', 'model': 'gpt-image-2.5-flare', 'size': '1024x1024', 'n': 1, 'background': 'auto', 'moderation': 'auto', 'output_format': 'png'}

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

Nhận và lưu kết quả

Ailoot Ultra · Ảnh

Tải xuống từng ảnh trả về hoặc lưu nội dung Base64 của ảnh

  • GET /v1/media/tasks/{task_id}
  • GET /v1/media/assets/{asset_id}/content
  • GET /v1/media/assets
  • GET /v1/media/assets/{asset_id}
Lượt đọc nội dung khác
Đọc tài nguyên hiện có thuộc về bạn
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \
  -H "Authorization: Bearer $AILOOT_API_KEY" -o owned-assets.json
# Preserve every returned asset and follow its exact signed content URL. Do not construct a signed token.
Lưu tất cả kết quả đã hoàn tất

Lưu mọi ảnh đã hoàn tất; truy xuất từng URL trả về hoặc giải mã nội dung Base64 của ảnh.

Giữ lại toàn bộ phản hồi và các header, mọi đầu ra thực tế, các định danh gốc đã trả về và mọi trường usage. Khôi phục thao tác gốc mà không gửi lại yêu cầu tạo.

Nếu cần kiểm tra phản hồi gốc

Giữ lại X-Client-Request-ID đã trả về để đối soát. Chỉ truy xuất theo các giá trị task_id/asset_id thực tế đã trả về hoặc từ thư viện nội dung đa phương tiện thuộc quyền sở hữu của bạn; tuyệt đối không tạo URL tác vụ từ ID thao tác và không gửi lại yêu cầu tạo.

Trường phản hồi
TrườngLoại
TrườngcreatedLoại
Trườngdata[].urlLoại
Trườngdata[].b64_jsonLoại
TrườngusageLoại

Bí danh

Bí danh mô hình

Ailoot gpt-image-2.5-flare
Ailoot Ultra gpt-image-2.5-flare, openai/gpt-image-2.5-flare

Bí danh đường dẫn phương thức

/v1/images

ID gọi liên quan

openai/gpt-image-2.5-flare, gpt-image-2.5-flare, gpt-image-2.5-flare

Ailoot Ultra · Ảnh POST /v1/images/generations openai/gpt-image-2.5-flare

openai/gpt-image-2.5-flare

OpenAI /openai/gpt-image-2.5-flare
ID mô hình
  • gpt-image-2.5-flare
  • openai/gpt-image-2.5-flare

Bắt đầu

GPT Image 2.5 Flare tạo và chỉnh sửa hình ảnh từ văn bản cùng tham chiếu, tập trung vào sáng tạo hình ảnh hằng ngày nhanh chóng. Mô hình hỗ trợ kích thước tùy chỉnh, nền trong suốt, mặt nạ và chất lượng đến max cho bản phác thảo, minh họa và tài nguyên chiến dịch.

Đầu vào được chấp nhận
Văn bản · Ảnh
Kết quả
Ảnh

Có trên Ailoot · đầu vào & phương thức

Ailoot Ultra · Ảnh POST /v1/images/generations
Đầu vào
text, image
Đầu ra
image
TrườngLoạiYêu cầuGiá trị & giới hạnMặc định
TrườngmodelLoạistringYêu cầuBắt buộcGiá trị & giới hạn
openai/gpt-image-2.5-flare
Mặc định—
TrườngpromptLoạistringYêu cầuBắt buộcGiá trị & giới hạn
Độ dài tối thiểu: 1
Mặc định—
Trườngaspect_ratioLoạistringYêu cầuKhông bắt buộcGiá trị & giới hạn
1:1, 3:2, 2:3, 4:3, 3:4, 16:9, 9:16, 21:9, auto
Mặc định—
TrườngqualityLoạistringYêu cầuKhông bắt buộcGiá trị & giới hạn
auto, low, medium, high, xhigh, max
Mặc định—
TrườngbackgroundLoạistringYêu cầuKhông bắt buộcGiá trị & giới hạn
auto, transparent, opaque
Mặc định—
TrườngnLoạiintegerYêu cầuKhông bắt buộcGiá trị & giới hạn
Tối thiểu: 1
Tối đa: 10
Mặc định—
Trườnginput_referencesLoạiarrayYêu cầuKhông bắt buộcGiá trị & giới hạn
Số mục tối thiểu: 0
Số mục tối đa: 16
Mặc định—
Trườngoutput_compressionLoạiintegerYêu cầuKhông bắt buộcGiá trị & giới hạn
Tối thiểu: 0
Tối đa: 100
Mặc định—
TrườngproviderLoạiobjectYêu cầuKhông bắt buộcGiá trị & giới hạnMặc định—
Tham số phương thức và vòng đời
Tham sốHợp đồng
Tham sốcontent_typeHợp đồngapplication/json
Tham sốrequiredHợp đồngmodel, prompt
Tham sốmaterial_typesHợp đồngtext, image

Vòng đời: synchronous_result_then_owned_library

GET /v1/media/tasks/{task_id} · Giá trị task_id thực tế đã trả về hoặc bản ghi trong thư viện nội dung đa phương tiện

GET /v1/media/assets/{asset_id}/content

GET /v1/media/assets

GET /v1/media/assets/{asset_id}

Bảng giá

Cách tính phí cuối cùng

Các đơn giá hiển thị dùng để ước tính chi phí trước khi tạo. Khoản phí cuối cùng được tính dựa trên chi phí ghi nhận cho lượt tạo gốc. Thời lượng đầu ra đo được và số lượng dự kiến không phải là số lượng cuối cùng dùng để tính phí.

Thông tin biểu giá không bổ sung tùy chọn yêu cầu. Các tham số được hỗ trợ nằm trong phương thức đã chọn.

Chế độ nhanh
Chưa chỉ định Khi chọn chế độ nhanh
Chế độ Flex
Chưa chỉ định Khi chọn chế độ flex
Mức độ suy luận tối đa
Chưa chỉ định Khi áp dụng mức điều chỉnh mặc định (default) cho mức độ suy luận tối đa

Mức phí ước tính để so sánh

Giá theo cấu hình

Đối chiếu từng khoản phí với điều kiện hiển thị. Dùng một mức phí cho mỗi nhóm cấu hình thay thế.

Cấu hìnhBiểu mức phíSố lượng dự báoPhí
Cấu hìnhGiá cơ sở cho tokenBiểu mức phíMức phí cơ bảnSố lượng dự báo—Phí
Đầu vào · Token đầu vào · Ước tính chỉ để so sánh — / 1K token
Đầu ra · Token đầu ra · Ước tính chỉ để so sánh — / 1K token
Đầu vào · Đọc bộ nhớ đệm · Ước tính chỉ để so sánh — / 1K token
Đầu vào · Ghi bộ nhớ đệm · Ước tính chỉ để so sánh — / 1K token
Đầu vào · Ghi bộ nhớ đệm, 1 giờ · Ước tính chỉ để so sánh — / 1K token
Cấu hìnhChi phí tạo ước tínhBiểu mức phí—Số lượng dự báoước tính cho một lần tạoPhí
Đầu ra · Chi phí tạo ước tính · Ước tính chỉ để so sánh $0.24576 ước tính trước khi tạo

Ước tính này không phải là khoản phí bổ sung hay mức giá cố định cho lượt tạo đã hoàn tất.

Ailoot tạm giữ một khoản ước tính trước yêu cầu. Sau khi có kết quả, phí cuối cùng được quyết toán theo mức sử dụng đo được. Việc quyết toán khi truyền luồng dùng bản ghi mức sử dụng cuối cùng. Cách hoạt động của cơ chế tạm giữ và quyết toán →

Ví dụ yêu cầu

Ailoot Ultra · Ảnh

curl
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p={'model': 'openai/gpt-image-2.5-flare', 'prompt': 'a red panda astronaut floating in space, studio lighting'}

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

Nhận và lưu kết quả

Ailoot Ultra · Ảnh

Tải xuống từng ảnh trả về hoặc lưu nội dung Base64 của ảnh

  • GET /v1/media/tasks/{task_id}
  • GET /v1/media/assets/{asset_id}/content
  • GET /v1/media/assets
  • GET /v1/media/assets/{asset_id}
Lượt đọc nội dung khác
Đọc tài nguyên hiện có thuộc về bạn
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \
  -H "Authorization: Bearer $AILOOT_API_KEY" -o owned-assets.json
# Preserve every returned asset and follow its exact signed content URL. Do not construct a signed token.
Lưu tất cả kết quả đã hoàn tất

Lưu mọi ảnh đã hoàn tất; truy xuất từng URL trả về hoặc giải mã nội dung Base64 của ảnh.

Giữ lại toàn bộ phản hồi và các header, mọi đầu ra thực tế, các định danh gốc đã trả về và mọi trường usage. Khôi phục thao tác gốc mà không gửi lại yêu cầu tạo.

Nếu cần kiểm tra phản hồi gốc

Giữ lại X-Client-Request-ID đã trả về để đối soát. Chỉ truy xuất theo các giá trị task_id/asset_id thực tế đã trả về hoặc từ thư viện nội dung đa phương tiện thuộc quyền sở hữu của bạn; tuyệt đối không tạo URL tác vụ từ ID thao tác và không gửi lại yêu cầu tạo.

Trường phản hồi
TrườngLoại
TrườngcreatedLoại
Trườngdata[].urlLoại
Trườngdata[].b64_jsonLoại
TrườngusageLoại

Bí danh

Bí danh mô hình

Ailoot gpt-image-2.5-flare
Ailoot Ultra gpt-image-2.5-flare, openai/gpt-image-2.5-flare

Bí danh đường dẫn phương thức

/v1/images

ID gọi liên quan

openai/gpt-image-2.5-flare, gpt-image-2.5-flare, gpt-image-2.5-flare

FAQ · OpenAI: GPT Image 2.5 Flare
Có những đầu vào và kết quả nào?

POST /v1/images/generations · gpt-image-2.5-flare: text → image

POST /v1/images/generations · gpt-image-2.5-flare: text → image

POST /v1/images/generations · openai/gpt-image-2.5-flare: text, image → image

Yêu cầu sử dụng những trường nào?

POST /v1/images/generations · gpt-image-2.5-flare: model, prompt, n, response_format, stream

POST /v1/images/generations · gpt-image-2.5-flare: model, prompt, size, background, moderation, n, quality, output_compression, output_format, stream

POST /v1/images/generations · openai/gpt-image-2.5-flare: model, prompt, aspect_ratio, quality, background, n, input_references, output_compression, provider

Áp dụng những giới hạn nào?

POST /v1/images/generations · gpt-image-2.5-flare: n.minimum: 1

POST /v1/images/generations · gpt-image-2.5-flare: prompt.maximum_length: 32000; n.minimum: 1; n.maximum: 10; output_compression.minimum: 0; output_compression.maximum: 100

POST /v1/images/generations · openai/gpt-image-2.5-flare: n.minimum: 1; n.maximum: 10; output_compression.minimum: 0; output_compression.maximum: 100

Xem thêm chi tiết

Kết nối Ailoot với Claude Code, OpenCode, Hermes hoặc ứng dụng của bạn.

Công ty và danh mục dự án của công ty

Công ty và danh mục dự án của công ty: hàng triệu khách hàng; doanh số hàng tỷ mỗi tháng.

Mua token với giá ưu đãi.

Ưu đãi thuê bao cho nhu cầu thường xuyên. Mã khuyến mãi giảm đến 50% khi mua token.

Thuê bao
Chọn gói ưu đãi cho các yêu cầu thường xuyên của bạn.
Mã giảm đến 50%
Nhập mã khi mua. Giá được tính lại theo chương trình đang áp dụng.
Chi phí trong lịch sử
Mô hình, token và số tiền được lưu cho mỗi yêu cầu.

Chọn gói thuê bao · Xem giá mô hình

Kết nối API vào sản phẩm bạn đang bán.

SaaS, ứng dụng và bot — theo đề nghị giao kết chính thức và thỏa thuận cấp phép Ailoot. Muốn bán lại, hãy yêu cầu giấy phép bán lại.

Ứng dụng thương mại
Tích hợp tạo văn bản, ảnh, video và âm thanh vào các tính năng trả phí của dịch vụ.
Giấy phép bán lại
Gửi mô tả dự án và cách cung cấp quyền truy cập. Yêu cầu điều khoản sử dụng và bán lại bằng văn bản.
Tài liệu trên website
Đề nghị giao kết, thỏa thuận cấp phép và chính sách xử lý dữ liệu có sẵn trước khi kết nối.

Yêu cầu giấy phép bán lại · Đề nghị giao kết và thỏa thuận cấp phép