Chọn Auto, TokenLab Verified hoặc Official cho mỗi yêu cầu, với giá được hiển thị ngay từ đầu.Xem có gì mới

Hướng dẫn lựa chọn API chỉnh sửa hình ảnh AI: Endpoints, Inputs và Cost Units

·19 tháng 9, 2026·22 phút đọc·Cập nhật 2 tháng 10, 2026·1439 lượt xem
#hình ảnh#AI API#TokenLab
Hướng dẫn lựa chọn API chỉnh sửa hình ảnh AI: Endpoints, Inputs và Cost Units

API chỉnh sửa ảnh AI tốt nhất hiếm khi là API có bản demo đẹp nhất. Đó là API có endpoint, định dạng input và đơn vị tính phí phù hợp với tác vụ chỉnh sửa mà sản phẩm của bạn thực sự thực hiện. Các tác vụ chỉnh sửa bằng mask (mặt nạ), chỉnh sửa ảnh-sang-ảnh (image-to-image) có tham chiếu và các thao tác chỉnh sửa đặc thù của từng model không dùng chung một hợp đồng. Chúng tôi đã đọc tài liệu chỉnh sửa và các trang model trực tuyến của TokenLab vào ngày 2026-10-03, và mọi thông tin dưới đây đều được lấy từ các trang đó. Các endpoint hình ảnh không tự chọn model mặc định cho bạn, vì vậy hãy luôn gửi tham số model một cách rõ ràng.

Những điểm chính cần lưu ý

  • Các chỉnh sửa dựa trên mask được gửi đến POST /v1/images/edits. Các chỉnh sửa tham chiếu của Nano Banana được gửi đến POST /v1/images/generations với operation: "image-to-image".
  • Đơn vị tính phí khác nhau. gpt-image-2 và các model hình ảnh của Gemini được tính phí theo token, trong khi flux-kontext-pro được tính phí theo yêu cầu (request) với giá $0.04.
  • Dữ liệu hiện có không bao gồm benchmark cho chất lượng inpainting, kết xuất văn bản, bảo toàn phong cách hoặc độ trung thực của ảnh sản phẩm. Hãy tự kiểm tra các yếu tố này trên hình ảnh của riêng bạn.
  • Các chỉnh sửa dài hoặc chỉnh sửa nhiều ảnh nên sử dụng async: true nếu model hỗ trợ. Hãy lưu lại task ID và đọc mức phí cuối cùng từ phần Usage.
  • Kiểm tra trang của từng model để biết giá và đơn vị tính phí trước khi cam kết, vì API trực tuyến luôn thay đổi.

Lựa chọn khởi đầu theo trường hợp sử dụng

Các lựa chọn này tuân theo hợp đồng đã ghi chép và mức giá niêm yết. Đây không phải là bảng xếp hạng chất lượng, vì dữ liệu hiện tại không có benchmark về chất lượng chỉnh sửa. Hãy coi mỗi model là model đầu tiên cần đưa vào bộ kiểm thử của riêng bạn.

Bạn cần Lựa chọn khởi đầu Lý do Nguồn
Inpainting dựa trên mask gpt-image-2 Đây là model duy nhất có hợp đồng mask được ghi rõ: PNG, cùng kích thước, các vùng trong suốt sẽ được chỉnh sửa. Tham chiếu Edit Image, 2026-10-03
Nhiều ảnh nguồn trong một lần chỉnh sửa gpt-image-2 Giới hạn tài liệu là 16 ảnh nguồn. Các model chỉnh sửa của Grok Imagine giới hạn ở mức 3. Tham chiếu Edit Image, 2026-10-03
Chỉnh sửa tham chiếu giá cố định rẻ nhất grok-imagine-image $0.02 mỗi yêu cầu, mức giá cố định thấp nhất trong bảng của chúng tôi. API model trực tuyến, 2026-10-03
Giữ hình dáng sản phẩm, thay đổi bối cảnh nano-banana-pro Ví dụ tham chiếu trong tài liệu thực hiện chính xác điều này, với giá $0.067 mỗi ảnh. Tham chiếu Create Image, 2026-10-03
Văn bản bên trong ảnh đã chỉnh sửa Không có Dữ liệu hiện có không có thông tin về kết xuất văn bản cho bất kỳ model chỉnh sửa nào. n/a

Các ứng viên API chỉnh sửa ảnh AI tốt nhất: model, đơn vị và giá cả

Bảng này liệt kê mọi model từ tập dữ liệu của chúng tôi được liệt kê là có khả năng chỉnh sửa hoặc được tài liệu chỉnh sửa gọi tên là model chỉnh sửa. Tất cả giá là giá công khai của TokenLab tính bằng USD. Giá API trực tuyến được cập nhật vào 2026-10-02T16:53:30.068Z, và chúng tôi đã quan sát từng trang vào ngày 2026-10-03.

Model ID Khả năng liệt kê trên API trực tuyến Đơn vị tính phí Giá TokenLab (USD) Nguồn Ngày quan sát
gpt-image-2 text-to-image (chỉnh sửa được ghi trong /v1/images/edits) per_token $3.50/1M input văn bản, $5.60/1M input ảnh, $21/1M output ảnh; input văn bản đã cache $0.875/1M API model trực tuyến 2026-10-03
flux-kontext-pro image-edit, image-to-image, text-to-image per_request $0.04 API model trực tuyến 2026-10-03
flux-pro-1.0-fill image-to-image per_image $0.035 API model trực tuyến 2026-10-03
flux-2-pro image-to-image, text-to-image per_image $0.03 API model trực tuyến 2026-10-03
nano-banana-pro image-edit, image-to-image, text-to-image per_image $0.067 (tóm tắt khoảng giá lên tới $0.12) API model trực tuyến 2026-10-03
gemini-3-pro-image image-to-image, text-to-image, vision per_token $1/1M input, $6/1M output văn bản, $60/1M output ảnh API model trực tuyến 2026-10-03
gemini-3.1-flash-image image-to-image, text-to-image, vision per_token $0.25/1M input, $1.50/1M output văn bản, $30/1M output ảnh API model trực tuyến 2026-10-03
grok-imagine-image image-to-image, text-to-image per_request $0.02 API model trực tuyến 2026-10-03

Khi đối chiếu các trang, chúng tôi phát hiện ba điểm không khớp. API trực tuyến liệt kê gpt-image-2 chỉ là text-to-image, nhưng Tham chiếu Edit Image lại nói rằng nó được hỗ trợ trên /v1/images/edits. Các trang trực tuyến cho flux-pro-1.0-fill và flux-2-pro liệt kê image-to-image, trong khi danh mục của chúng tôi gắn nhãn cả hai là image-edit. Và nano-banana-pro liệt kê image-edit, nhưng tài liệu của nó lại điều hướng qua /v1/images/generations. Chúng tôi coi tài liệu là căn cứ xác thực cho việc định tuyến và API trực tuyến là căn cứ xác thực cho giá cả.

Đối với các model có giá cố định, ước tính sơ bộ chỉ là phép nhân đơn giản. Đây là các ước tính, không phải báo giá, và giả định một khoản phí cho mỗi yêu cầu hoàn tất:

  • 100 lần chỉnh sửa trên grok-imagine-image: 100 × $0.02 = $2.00.
  • 100 lần chỉnh sửa trên flux-2-pro: 100 × $0.03 = $3.00.
  • 100 lần chỉnh sửa trên flux-pro-1.0-fill: 100 × $0.035 = $3.50.
  • 100 lần chỉnh sửa trên flux-kontext-pro: 100 × $0.04 = $4.00.

Dữ liệu không đưa ra ước tính cho mỗi lần chỉnh sửa đối với các model tính phí theo token. gpt-image-2 tính phí input văn bản, input ảnh, input đã cache và token output ảnh, vì vậy đây không phải là model có giá cố định trên mỗi ảnh. Dữ liệu không bao gồm số lượng token cho một lần chỉnh sửa điển hình. Hãy thực hiện một vài chỉnh sửa thực tế và đọc chi phí trong phần Usage, như mô tả trong Hướng dẫn thanh toán. Khoảng giá của nano-banana-pro ngụ ý các cấp độ phân giải, nhưng dữ liệu không ánh xạ các cấp độ này với giá cụ thể.

Endpoint chỉnh sửa chấp nhận những gì và những gì không được ghi lại

Tham chiếu Edit Image (quan sát ngày 2026-10-03) hỗ trợ luồng multipart tương thích với OpenAI và các yêu cầu JSON. Đây là những gì nó nêu cho gpt-image-2:

  • Ảnh đầu vào. Gửi multipart image, JSON image_url / image_urls, hoặc các đối tượng images[] chính thức. Mỗi đối tượng images[] chứa chính xác một trong hai trường image_url hoặc file_id. Tạo các giá trị file_id thông qua /v1/files trước.
  • Nhiều tham chiếu. Tối đa 16 ảnh nguồn, mỗi ảnh là PNG, JPEG hoặc WebP, tối đa 50 MiB. Lặp lại trường image trong các yêu cầu multipart. Trong JSON, cung cấp chính xác một trong các trường image_url, image_urls hoặc images.
  • Mask. Một tệp PNG dưới 50 MiB với cùng kích thước với ảnh nguồn. Các vùng hoàn toàn trong suốt đánh dấu nơi chỉnh sửa được áp dụng. Trong JSON, mask có thể là một đối tượng chứa chính xác một trong hai trường image_url hoặc file_id.
  • Output. size chấp nhận auto hoặc WIDTHxHEIGHT. Kích thước phải là bội số của 16, cạnh dài nhất tối đa 3840px, tỷ lệ cạnh dài trên cạnh ngắn tối đa 3:1, và tổng số pixel từ 655,360 đến 8,294,400. Không gửi resolution. background chấp nhận auto hoặc opaque, không phải transparent.
  • Trường bị từ chối. input_fidelity không được hỗ trợ cho gpt-image-2, và việc gửi nó sẽ trả về lỗi 400 unsupported_parameter.
  • URL từ xa. Phải là http/https công khai, không có thông tin xác thực hoặc fragment nhúng. Không được phân giải thành localhost, dải địa chỉ riêng tư hoặc dành riêng. Giới hạn là 50 MiB mỗi ảnh, 200 MiB tổng mỗi yêu cầu (bao gồm cả mask), thời gian chờ fetch 30 giây và tối đa 3 lần chuyển hướng. Payload được fetch phải là PNG, JPEG hoặc WebP thực sự.

Các model chỉnh sửa của Grok Imagine (grok-imagine-image, grok-imagine-image-quality) sử dụng các trường đầu vào tương tự nhưng giới hạn ảnh nguồn ở mức 3. Một yêu cầu với nhiều ảnh hơn sẽ thất bại với lỗi 400 too_many_images.

Nano Banana thì khác. Tài liệu nói rằng nano-banana-2 và nano-banana-pro nhận các yêu cầu ảnh tham chiếu trên /v1/images/generations với operation: "image-to-image" và image_urls. Chúng không thuộc về /v1/images/edits. Các trường cấp cao nhất images[] và file_id là các định dạng của luồng chỉnh sửa và bị từ chối trên endpoint tạo ảnh (generations). Đây là ví dụ được ghi lại cho nano-banana-pro, hỗ trợ tham số resolution:

{
  "model": "nano-banana-pro",
  "prompt": "Keep the product shape, change the background to a bright studio setup",
  "operation": "image-to-image",
  "image_urls": ["https://example.com/input/product.png"],
  "aspect_ratio": "1:1",
  "resolution": "2k"
}

Đối với các dòng ảnh của Google, Tham chiếu Create Image khuyên nên ưu tiên sử dụng aspect_ratio và chỉ gửi resolution (1k, 2k, 4k) khi model hỗ trợ. Chi tiết model cho nano-banana-2 được liên kết tại đây, nhưng tập dữ liệu không bao gồm giá của nó.

Không được ghi lại trong tài liệu:

  • Liệu các model khác ngoài gpt-image-2 có chấp nhận mask trên /v1/images/edits hay không, bao gồm flux-pro-1.0-fill và stability-inpaint.
  • Cách một mask đơn lẻ áp dụng khi bạn gửi nhiều ảnh nguồn.
  • Giới hạn ảnh nguồn cho các model FLUX và Nano Banana.
  • Liệu thứ tự ảnh trong một yêu cầu nhiều ảnh có ảnh hưởng đến kết quả hay không.

Hãy đọc trang chi tiết của model trước khi xây dựng trên bất kỳ model nào trong số này.

Một yêu cầu chỉnh sửa hoàn chỉnh

Yêu cầu này chỉ sử dụng các trường được ghi lại cho gpt-image-2: một ảnh nguồn, một mask, một prompt, size và async. Nó tuân theo ví dụ multipart trong Tham chiếu Edit Image.

curl -X POST "https://api.tokenlab.sh/v1/images/edits" \
  -H "Authorization: Bearer $TOKENLAB_API_KEY" \
  -F "model=gpt-image-2" \
  -F "image=@source.png" \
  -F "mask=@mask.png" \
  -F "prompt=A sunlit indoor lounge area with a pool" \
  -F "n=1" \
  -F "size=1024x1024" \
  -F "async=true"

Với async=true, phản hồi sẽ chứa status: "pending", task_id và poll_url, còn data sẽ trống. Hãy bỏ dòng async nếu muốn thực hiện cuộc gọi đồng bộ (synchronous). Một cuộc gọi đồng bộ sẽ trả về data[].url theo mặc định, hoặc data[].b64_json nếu bạn đặt response_format. Hãy poll tác vụ như sau:

curl "https://api.tokenlab.sh/v1/tasks/$TASK_ID" \
  -H "Authorization: Bearer $TOKENLAB_API_KEY"

Chi tiết model cho gpt-image-2 nằm trên trang model của nó. Đối với cuộc gọi đồng bộ, hãy đặt thời gian chờ (timeout) của HTTP client ít nhất là 120 giây, vì các yêu cầu độ phân giải cao có thể mất gần một phút hoặc hơn.

Chọn API chỉnh sửa ảnh AI tốt nhất theo tác vụ

Dữ liệu nêu rõ việc định tuyến, đầu vào và giá cả. Nó không chứa benchmark về chất lượng chỉnh sửa, vì vậy mọi câu hỏi về "cái nào tốt hơn" dưới đây đều cần bộ kiểm thử của riêng bạn.

Inpainting. gpt-image-2 là model duy nhất có hợp đồng mask được ghi rõ trong tài liệu. Danh mục cũng liệt kê các công cụ chuyên dụng về vùng và cấu trúc: stability-inpaint, stability-control-structure và stability-control-sketch. Đối với các chỉnh sửa fill và in-context, có flux-pro-1.0-fill với giá $0.035 mỗi ảnh và flux-kontext-pro với giá $0.04 mỗi yêu cầu. Dữ liệu không cho biết model nào tạo ra các đường nối sạch hơn.

Chỉnh sửa bảo toàn phong cách. Ví dụ tham chiếu được ghi lại giúp giữ hình dáng sản phẩm và thay đổi môi trường xung quanh. Đó là mô hình nano-banana-pro trên /v1/images/generations. flux-kontext-pro liệt kê khả năng image-edit. Không có tuyên bố nào trong số này được benchmark ở đây về khả năng giữ nhận diện hoặc phong cách.

Văn bản trong ảnh. Dữ liệu không chứa thông tin về kết xuất văn bản cho bất kỳ model chỉnh sửa nào. ideogram-edit-v3 và ideogram-reframe-v3 có tồn tại trong danh mục, nhưng chúng tôi không tìm thấy dữ liệu về chất lượng văn bản. Hãy kiểm tra với bản sao, phông chữ và ngôn ngữ của riêng bạn.

Ảnh sản phẩm. Hãy tưởng tượng một đội ngũ quản lý danh mục sản phẩm thay đổi nền cho hàng ngàn ảnh packshot. Các công cụ tiện ích là lựa chọn đầu tiên tự nhiên: image-background-remover, image-upscaler và stability-upscale-fast. Giá cả và quy tắc đầu vào của chúng không có trong dữ liệu của chúng tôi, vì vậy hãy đọc trang của từng model. Đối với việc thay đổi nền bằng AI, giá cố định mỗi yêu cầu giúp dự báo chi phí hàng loạt dễ dàng hơn. Việc tính phí theo token khiến chi phí phụ thuộc vào kích thước ảnh và kết quả đầu ra.

Yêu cầu đầu vào là theo từng model, không phải theo nhà cung cấp. Một số model nhận một ảnh nguồn cộng với prompt, một số nhận mask, và một số nhận đầu vào cấu trúc. Kiểm tra các thao tác được hỗ trợ và các trường yêu cầu của từng model trên trang chi tiết của nó. Bạn có thể duyệt qua các tùy chọn hiện tại trong danh mục model.

Xử lý bất đồng bộ (Async) và xác nhận chi phí cho các chỉnh sửa

Hướng dẫn tạo ảnh và Hướng dẫn về các tác vụ bất đồng bộ (cả hai đều quan sát ngày 2026-10-03) mô tả luồng này. async: true được ghi lại cho gpt-image-2 và các model chỉnh sửa chính thức của FLUX/BFL. Phản hồi tạo ảnh trả về status: "pending", task_id và poll_url. Hãy poll poll_url khi có, hoặc GET /v1/tasks/{id} cho một URL cố định. Các trạng thái là pending, processing, completed và failed. Tài liệu gợi ý nên kiểm tra mỗi 5–10 giây cho các tác vụ media dài và dừng lại ở trạng thái kết thúc.

Bốn chi tiết gây ra hầu hết các lỗi:

  • Việc đọc trạng thái trả về HTTP 200 ngay cả khi tác vụ thất bại. Hãy phân nhánh dựa trên status, và dựa trên error_details.code và type cho các lỗi.
  • Các chỉnh sửa bất đồng bộ hoàn tất trả về URL bất kể response_format. Sử dụng yêu cầu đồng bộ khi bạn cần b64_json.
  • Sau khi client timeout, hãy kiểm tra xem tác vụ có tồn tại hay không trước khi thử lại cuộc gọi tạo ảnh. Việc thử lại một lần tạo ảnh thất bại sẽ tạo ra một tác vụ mới và có thể tạo ra một khoản phí mới.
  • URL kết quả có thể được giữ làm bản sao media trong 30 ngày. Kiểm tra media_retention.items để biết trạng thái và expires_at của từng mục.

Về chi phí, Hướng dẫn thanh toán cho biết Console hiển thị ước tính tối đa trước khi bạn xác nhận một lần tạo ảnh trả phí, và Usage hiển thị khoản phí cuối cùng. Một tác vụ bất đồng bộ có thể dự trữ chi phí ước tính khi được chấp nhận. Một tác vụ hoàn tất được tính phí một lần, và một tác vụ thất bại hoặc hết thời gian chờ sẽ giải phóng hoặc hoàn lại số tiền đang chờ xử lý. Các tùy chọn phân phối cũng quan trọng. TokenLab Verified sử dụng giá công khai của TokenLab, Official sử dụng lớp giá chính thức, và Auto thử Verified trước, sau đó là Official. Dấu gạch ngang trong cột giá của trang Models có nghĩa là không có ưu đãi Verified nào khả dụng, không phải là model miễn phí. Giới hạn chi tiêu trên một API key sẽ trả về lỗi 402 Payment Required khi đạt đến giới hạn.

Hãy lưu trữ request_id, task_id, poll_url, billing_transaction_id (khi có), model, endpoint và ID công việc của riêng bạn cùng nhau. Trong thực tế, hồ sơ đó giải quyết hầu hết các câu hỏi về sai lệch thanh toán. Dữ liệu chỉ ghi lại việc hủy tác vụ cho các tác vụ video Seedance trong hàng đợi. Việc hủy cho các chỉnh sửa ảnh không được ghi lại, vì vậy hãy thiết kế luồng của bạn mà không cần đến nó.

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

Tôi có thể gửi mask cho mọi model chỉnh sửa ảnh không?

Dữ liệu chỉ ghi lại mask cho gpt-image-2 trên /v1/images/edits. Mask phải là PNG dưới 50 MiB với cùng kích thước với ảnh nguồn, và các vùng trong suốt sẽ được chỉnh sửa. Đối với các model khác, bao gồm flux-pro-1.0-fill, hãy kiểm tra trang chi tiết model trước khi giả định hỗ trợ mask.

Các chỉnh sửa của Nano Banana sử dụng endpoint nào?

Sử dụng POST /v1/images/generations với operation: "image-to-image" và image_urls. Việc gửi các yêu cầu tham chiếu Nano Banana đến /v1/images/edits không được hỗ trợ. Đừng gửi images[] hoặc file_id cấp cao nhất đến endpoint tạo ảnh.

Tại sao chỉnh sửa gpt-image-2 của tôi trả về lỗi 400 unsupported_parameter?

Nguyên nhân được ghi lại nhiều nhất là input_fidelity, đây không phải là trường được hỗ trợ cho gpt-image-2. Ngoài ra, hãy loại bỏ resolution và bất kỳ giá trị background: "transparent" nào. Bảng các lỗi phổ biến khuyên nên loại bỏ bất kỳ trường nào mà model không ghi trong tài liệu.

Tôi có bị tính phí khi tác vụ chỉnh sửa bất đồng bộ thất bại không?

Hướng dẫn thanh toán cho biết một tác vụ thất bại sẽ không bị tính phí, và số tiền dự trữ của nó sẽ được giải phóng hoặc hoàn lại. Một tác vụ hoàn tất được tính phí một lần, và số tiền cuối cùng xuất hiện trong Usage với một billing_transaction_id. Nếu Usage vẫn không hiển thị gì sau khi tác vụ kết thúc, hãy liên hệ support@tokenlab.sh với request ID và task ID.

Để chạy các yêu cầu trên, hãy tạo một API key trong Console → API Keys (giới hạn key được giải thích trong Hướng dẫn thanh toán), xuất nó dưới dạng TOKENLAB_API_KEY, và so sánh các chỉnh sửa mẫu của bạn với chi phí cuối cùng trong Usage.

Nguồn

Giá quan sát ngày 2026-10-03

Mô hình liên quan

Mô hình mới phát hành

Xây dựng với các mô hình trong hướng dẫn này

So sánh giá, thử route và biến nghiên cứu thành một lệnh gọi API chạy được.