Tham khảo · Rate limit

Rate limit của Photta API và cách polling hợp lý

Tóm tắt trong một câu

Photta API cho phép 600 yêu cầu mỗi phút cho mỗi API key trong một khung thời gian cố định. Lỗi 429 trả về Retry-After: 30. Thực hiện polling tác vụ mỗi 3 giây; khối lượng công việc đồng thời bị giới hạn theo gói.

  • Giới hạn: 600 requests/min
  • Retry-After: Retry-After: 30s
  • Xử lý: async, polling

Mọi số liệu trên trang này đều lấy từ tài liệu Photta API · đã kiểm tra

Các giới hạn được công bố

Tốc độ, khung thời gian, thử lại, kích thước và định dạng ảnh, theo đúng tài liệu quy định.

Giới hạn

  • 600 request mỗi phút trên mỗi API key (Fixed window; giới hạn như nhau trên mọi gói)
  • Mã 429 kèm header Retry-After: 30 giây
  • Tối đa 10 MB mỗi ảnh
  • Định dạng: JPEG, PNG, WebP
  • Batch đồng thời theo từng gói: Free 1 · Hobby 2 · Seller 3 · Brand 4 · Studio 6
  • Chỉ hỗ trợ polling — API không gửi webhook.

Khối lượng công việc đồng thời theo gói

Số lượng batch có thể xử lý đồng thời trước khi một yêu cầu gửi lên trả về 409.

Batch đang xử lý theo gói

Free

Đồng thời: 1

Hobby

Đồng thời: 2

Seller

Đồng thời: 3

Brand

Đồng thời: 4

Studio

Đồng thời: 6

Duy trì trong giới hạn

  • Khung thời gian cố định

    Giới hạn được tính trên mỗi API key trong một khung thời gian cố định và giống nhau trên mọi gói. Hai key tương đương hai hạn mức.

  • Polling mỗi 3 giây

    Polling là tín hiệu hoàn tất duy nhất — API không gửi webhook. Mỗi 3 giây là khoảng thời gian được khuyến nghị trong tài liệu; polling nhanh hơn chỉ làm hao phí hạn mức vào các phản hồi rỗng.

  • Exponential backoff

    Sau mã 429, hãy đợi số giây trong Retry-After rồi tăng dần khoảng thời gian chờ sau mỗi lần thất bại tiếp theo thay vì thử lại theo chu kỳ cố định.

  • Giới hạn riêng cho batch

    Rate limit tính theo số request; giới hạn đồng thời tính theo tác vụ đang xử lý (in flight). Batch vượt quá giới hạn này sẽ trả về 409, không phải 429.

Câu hỏi về rate limit

Rate limit là bao nhiêu?

600 request mỗi phút cho từng API key, theo khung thời gian cố định (fixed window). Tài liệu công bố cùng một con số này trên mọi endpoint.

Nên poll job với tần suất như thế nào?

Mỗi 3 giây. Không có webhook, nên polling là phương thức chuẩn theo tài liệu để biết job đã hoàn thành.

Có thể render cùng lúc bao nhiêu tác vụ?

Số batch in-flight được giới hạn theo gói: Free 1, Hobby 2, Seller 3, Brand 4 và Studio 6. Vượt quá giới hạn, yêu cầu gửi lên sẽ trả về 409.

Cần xử lý thế nào khi gặp lỗi 429?

Đọc header Retry-After, đợi đúng số giây đó, sau đó thử lại với exponential backoff. Hãy đưa tác vụ vào hàng đợi thay vì bỏ qua nó.

Endpoint và tài liệu tham khảo

Mọi số liệu trên trang này đều lấy từ tài liệu Photta API · đã kiểm tra

Thử nghiệm API trong năm phút

Tạo một Photta API key, dán đoạn mã cURL ở trên, và bạn sẽ nhận được bức ảnh mẫu mặc đồ đầu tiên trước khi pha xong ly cà phê.

  • 600 requests/min
  • Retry-After: 30s
  • async, polling