Hướng dẫn sử dụng API GPT-Image-2.6

Hướng dẫn thực hành API GPT-Image-2.6: xác thực, tạo ảnh đầu tiên, chỉnh sửa bằng markup, đầu ra SVG và GIF, cài đặt chất lượng và độ phức tạp, và bộ kiểm thử Apidog CLI mà coding agent của bạn có thể chạy.

Medy Evrard

5 tháng 11 2026

Hướng dẫn sử dụng API GPT-Image-2.6

Apidog cho doanh nghiệp

Triển khai tại chỗ

SSO & RBAC

Tuân thủ SOC 2

Khám phá Apidog Enterprise

API GPT-Image-2.6 tạo và chỉnh sửa ảnh thông qua hai mô hình của OpenAI là gpt-image-2.6-flare và gpt-image-2.6-sunburst. Gửi prompt đến POST /v1/images/generations kèm API key, sau đó giải mã b64_json từ phản hồi. Phiên bản 2.6 bổ sung markup ảnh, đầu ra SVG và GIF, cùng tham số complexity.

Hướng dẫn này bao gồm xác thực, tạo ảnh lần đầu, chỉnh sửa bằng markup, xuất SVG, và các thiết lập quality cùng complexity. Bài viết chỉ tập trung vào những điểm mới, vì vậy hãy đọc hướng dẫn API gpt-image-2.5 của chúng tôi để tìm hiểu về streaming và công cụ Responses API, cùng bài giải thích về ChatGPT Images 2.6 để nắm toàn bộ thông tin phát hành. Mọi request dưới đây đều được chúng tôi xây dựng dựa trên tài liệu của OpenAI ngày 5 tháng 11 năm 2026. Chúng tôi chưa chạy thử với key thật, nên hãy kiểm tra trước khi đưa vào sử dụng.

Tổng quan về API GPT-Image-2.6

Mục Chi tiết
ID mô hình gpt-image-2.6-flare, gpt-image-2.6-sunburst
Tạo ảnh POST /v1/images/generations
Chỉnh sửa POST /v1/images/edits
Xác thực Authorization: Bearer $OPENAI_API_KEY
Đầu ra b64_json; mặc định là PNG, ngoài ra còn có JPEG, WebP, GIF, SVG
quality low, medium, high, xhigh, max, auto (mặc định)
complexity low, medium, high (mặc định là high nếu bỏ qua)
Đơn giá token ảnh 8 USD đầu vào, 2 USD đầu vào đã cache, 30 USD đầu ra cho mỗi 1M
Đơn giá token văn bản 5 USD đầu vào, 1,25 USD đầu vào đã cache cho mỗi 1M

Đơn giá lấy từ trang giá của OpenAI. Cả hai mô hình có cùng mức giá trên mỗi token, nên hãy chọn dựa trên tốc độ và độ chính xác khi chỉnh sửa.

Flare hay Sunburst: nên gọi mô hình nào?

Chọn Flare cho việc lặp nhanh và tạo ảnh hằng ngày. OpenAI cho biết mô hình này có thể trả về ảnh chỉ trong sáu giây ở chất lượng low, và cải thiện bố cục cho poster và ảnh sản phẩm. Chọn Sunburst cho công việc chi tiết và chỉnh sửa nhiều lần, khi OpenAI tuyên bố mô hình này cho độ nhất quán tốt hơn ở chất lượng medium hoặc high.

Đây là những tuyên bố của OpenAI, không phải kết quả đánh giá độc lập. Bài so sánh Flare và Sunburst cho phiên bản 2.5 của chúng tôi sẽ giải thích rõ sự khác biệt này.

Xác thực và thiết lập

Bạn cần chuẩn bị ba thứ trước lần gọi đầu tiên:

  1. Tạo API key trong dashboard của OpenAI và export thành OPENAI_API_KEY.
  2. Hoàn tất Xác minh tổ chức API nếu tổ chức của bạn cần. OpenAI cho biết bạn có thể phải làm việc này trước khi dùng được các mô hình GPT Image.
  3. Cài jq cho các ví dụ curl, hoặc gói openai cho Python.

Nếu ứng dụng của bạn phục vụ người dùng riêng lẻ, hãy gửi thêm safety_identifier đã băm với tối đa 128 ký tự. Tham số này thay thế cho user đã bị deprecated.

Tạo ảnh đầu tiên của bạn

Request này dùng Flare ở chất lượng low, phù hợp cho bản nháp.

curl --fail-with-body --silent --show-error \
  https://api.openai.com/v1/images/generations \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-image-2.6-flare",
    "prompt": "A minimal poster for a developer meetup, with the words SHIP IT in bold type",
    "size": "1024x1536",
    "quality": "low",
    "complexity": "low"
  }' | jq -er '.data[0].b64_json' | base64 --decode > poster.png

Lệnh tương tự trong Python:

import base64
from pathlib import Path
from openai import OpenAI

client = OpenAI()

result = client.images.generate(
    model="gpt-image-2.6-sunburst",
    prompt="A product shot of a ceramic mug on a walnut desk, soft morning light",
    size="1536x1024",
    quality="medium",
    extra_body={"complexity": "low"},
)

Path("mug.png").write_bytes(base64.b64decode(result.data[0].b64_json))

Chúng tôi truyền complexity qua extra_body để lệnh gọi không phụ thuộc vào việc phiên bản SDK của bạn có hỗ trợ nó như một tham số có tên hay không. Các mô hình GPT Image luôn trả về base64, nên đừng gửi response_format, và cũng đừng tìm trường url.

Hướng dẫn của OpenAI nói rằng hãy đọc đối tượng usage trong phản hồi để đo lượng token sử dụng. Tài liệu API reference lại mô tả trường này chỉ dành cho gpt-image-1, dù phản hồi mẫu có bao gồm nó, vì vậy hãy xác nhận nó xuất hiện trong phản hồi 2.6 của bạn trước khi xây dựng hệ thống theo dõi chi phí dựa trên nó.

Chỉnh sửa ảnh bằng markup

Markup cho mô hình biết cần thay đổi ở đâu. Bạn gửi ảnh gốc, một PNG trong suốt chứa các vòng tròn hoặc nét vẽ của bạn, và một prompt mô tả nội dung chỉnh sửa.

curl --fail-with-body --silent --show-error \
  https://api.openai.com/v1/images/edits \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-image-2.6-flare",
    "images": [{"image_url": "https://your-bucket.example/kitchen.png"}],
    "markup": {"image_url": "https://your-bucket.example/vase-overlay.png"},
    "prompt": "Recolor the vase inside the red circle to solid cobalt blue. Keep everything else unchanged. Remove the red circle.",
    "quality": "medium",
    "complexity": "low"
  }' | jq -er '.data[0].b64_json' | base64 --decode > vase.png

Request JSON dùng mảng images và một đối tượng markup chứa đúng một trong hai trường image_url hoặc file_id. image_url có thể là URL HTTPS hoặc data URL base64. Request multipart thì dùng file upload thay thế, và hướng dẫn tạo ảnh có phiên bản Python cho cách này.

Sơ đồ chỉnh sửa bằng markup của GPT-Image-2.6: ảnh gốc, lớp phủ PNG trong suốt và prompt văn bản được gửi đến POST /v1/images/edits, trả về ảnh đã chỉnh sửa với chú thích đã bị xóa

Lớp phủ (overlay) có những quy tắc nghiêm ngặt:

Hãy yêu cầu mô hình xóa chú thích, như ví dụ của chính OpenAI. Markup có chi phí như mọi chỉnh sửa khác. Responses API không hỗ trợ nó, nên hãy dùng mask ở đó.

Xuất SVG

Đặt output_format thành svg trên endpoint generations cho icon, logo và hình minh họa cần đường dẫn có thể chỉnh sửa.

curl --fail-with-body --silent --show-error \
  https://api.openai.com/v1/images/generations \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-image-2.6-sunburst",
    "prompt": "A flat two-color wheat logo for a bakery called Field and Flour",
    "output_format": "svg",
    "quality": "medium",
    "n": 1
  }' | jq -er '.data[0].b64_json' | base64 --decode > logo.svg

API trước tiên render một ảnh tham chiếu, do quality kiểm soát, rồi viết SVG từ ảnh đó. Các byte sau khi giải mã là XML UTF-8, không chứa script, tài nguyên bên ngoài hay raster nhúng.

Có bốn giới hạn:

Bạn phải trả phí hai lần: đơn giá ảnh cho ảnh tham chiếu và đơn giá của mô hình soạn thảo cho các token của nó. API reference liệt kê một đối tượng svg_usage riêng cho phần thứ hai, nên hãy ghi log nó.

Tạo GIF

API trả về một GIF hoàn chỉnh, không phải sprite sheet. Thêm ba trường vào request generations:

{
  "model": "gpt-image-2.6-flare",
  "prompt": "A small orange robot waves, blinks and returns to its starting pose. Make it loop.",
  "output_format": "gif",
  "frame_count": 9,
  "frame_duration_ms": 200,
  "size": "auto"
}

Giải mã b64_json theo cách tương tự và lưu thành .gif. Hãy kiểm tra hai điều trước:

Đầu ra GIF không hỗ trợ streaming, ảnh từng phần hay output_compression tùy chỉnh, và endpoint edits không thể trả về nó. OpenAI không công bố công thức tính phí riêng cho GIF, nên hãy chạy thử một lượng nhỏ và kiểm tra hóa đơn trước khi mở rộng quy mô.

Thiết lập quality và complexity

quality kiểm soát độ chi tiết khi render và quyết định chi phí token. complexity kiểm soát mức độ lập kế hoạch của mô hình trước khi render, và việc thay đổi nó không phát sinh phí riêng.

Hãy đặt complexity trong mọi request. Giá trị mặc định là high, nhưng OpenAI khuyến nghị low cho hầu hết các chỉnh sửa. Hướng dẫn cảnh báo rằng thiết lập cao hơn có thể làm tăng độ trễ và gây ra những thay đổi không mong muốn.

Bảng gợi ý thiết lập khởi đầu cho GPT-Image-2.6: bản nháp nhanh dùng Flare ở quality low và complexity low, chỉnh sửa tập trung dùng complexity low, ảnh chi tiết hoàn thiện dùng Sunburst ở quality medium hoặc high, và bố cục dày đặc dùng complexity medium hoặc high

Quality cũng quyết định hóa đơn đầu ra của bạn. Bảng này dùng công cụ tính của OpenAI cho ảnh 1024x1024, đọc ngày 5 tháng 11, và chưa bao gồm token đầu vào:

quality Token đầu ra Chi phí đầu ra
low 823 $0.02469
medium 1,449 $0.04347
high 1,756 $0.05268
xhigh 3,122 $0.09366
max 7,024 $0.21072

Khoảng cách giữa medium và high chỉ khoảng một xu, nên hãy so sánh cả hai. Tab Batch trên trang giá chưa liệt kê 2.6, nên đừng mặc định rằng ưu đãi batch của 2.5 vẫn áp dụng.

Xử lý lỗi và timeout

Phân loại lỗi dựa trên việc thử lại có giúp ích hay không:

Lỗi Cách xử lý
Rate limit hoặc lỗi máy chủ Thử lại với backoff
Lỗi quota Không thử lại; xử lý vấn đề thanh toán
error.type là image_generation_user_error Thay đổi prompt hoặc đầu vào trước
error.code là moderation_blocked Đọc moderation_details, rồi chỉnh sửa lại

Dùng error.code làm căn cứ kiểm tra ổn định, và ghi log request ID. moderation_details chứa moderation_stage và categories thô, những thứ này nên nằm trong log của bạn, không phải trong thông báo hiển thị cho người dùng. Đặt timeout phía client trên hai phút, vì OpenAI nói rằng prompt phức tạp có thể mất ngần ấy thời gian.

Để coding agent của bạn kiểm thử bằng Apidog CLI

Coding agent của bạn có thể biến những request và giới hạn này thành một bộ test với Apidog CLI. Thiết lập một lần:

npm install -g apidog-cli@latest
apidog auth login --with-token <YOUR_TOKEN>
apidog skill install

Sau đó đưa cho Claude Code, Codex hoặc Cursor một prompt:

In Apidog project <id>, add POST /v1/images/generations and POST /v1/images/edits
on https://api.openai.com. Read the bearer token from OPENAI_API_KEY.
Create test cases for gpt-image-2.6-flare at low quality and low complexity:
1. PNG generation: assert status 200 and data[0].b64_json exists.
2. SVG generation: assert status 200 and output_format equals svg.
3. GIF with frame_count 6: assert status 200 and output_format equals gif.
4. SVG with n set to 2: assert a 4xx status and that error.message exists.
5. GIF with frame_count 17: record the status, because OpenAI's docs disagree.
Put them in a test suite named "GPT-Image-2.6", run it against environment
<envId>, and summarize every failure.

Agent đọc từng schema, kiểm tra payload, rồi viết và chạy bộ test:

apidog cli-schema get endpoint-create
apidog cli-schema validate endpoint-create --file endpoint.json
apidog endpoint create --project <id> --file endpoint.json
apidog cli-schema get test-case-create
apidog cli-schema validate test-case-create --file case.json
apidog test-case create --project <id> --file case.json
apidog cli-schema validate test-suite-create --file suite.json
apidog test-suite create --project <id> --file suite.json
apidog test-suite run <suiteId> --project <id> -e <envId> \
  --env-var "OPENAI_API_KEY=$OPENAI_API_KEY" --on-error continue -r cli,json

Case 5 sẽ xác định giới hạn frame cho tài khoản của bạn, và case 3 cho biết bạn có quyền truy cập GIF hay không. Các case thành công sẽ tạo ra ảnh thật và bị tính phí, nên hãy giữ quality ở mức thấp. Đổi sang -r junit để chạy bộ test trong pipeline CI, và xem hướng dẫn thiết lập Claude Code để biết chi tiết về agent.

Câu hỏi thường gặp

Tên mô hình của API GPT-Image-2.6 là gì? gpt-image-2.6-flare và gpt-image-2.6-sunburst. API reference chưa liệt kê bản snapshot theo ngày cho chúng, khác với các mô hình 2.5.

API GPT-Image-2.6 có giá bao nhiêu? Token ảnh có giá 8 USD cho mỗi 1M token đầu vào và 30 USD cho mỗi 1M token đầu ra. Một ảnh 1024x1024 tốn khoảng 0,025 USD chi phí đầu ra ở mức low và khoảng 0,053 USD ở mức high, chưa tính token đầu vào.

Tôi có nên chuyển từ gpt-image-2.5 không? Hãy chuyển nếu bạn cần SVG, GIF hoặc complexity. Nhưng hãy kiểm tra chi phí trước: một ảnh low dùng khoảng 4,2 lần lượng token so với 2.5, và các mô hình 2.6 chưa có giá Batch được liệt kê.

Tôi có thể dùng complexity trên endpoint edits không? Có. OpenAI khuyến nghị low cho hầu hết các chỉnh sửa.

Tôi có thể biến một ảnh đã upload thành GIF qua API không? Không. Endpoint edits không trả về GIF hay SVG, nên cả hai định dạng này đều bắt đầu từ một prompt văn bản trên endpoint generations.

API có trả về URL không? Không. Các mô hình GPT Image luôn trả về base64 trong b64_json, nên bạn phải tự giải mã và lưu file.

Thực hành thiết kế API trong Apidog

Khám phá cách dễ dàng hơn để xây dựng và sử dụng API