Reference · Rate limits

Photta API rate limits and how to poll politely

In one sentence

The Photta API allows 600 requests per minute per API key in a fixed window. A 429 carries Retry-After: 30. Poll a job every 3 seconds; concurrent work is capped by plan.

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

Every figure on this page comes from the Photta API docs · checked

The published limits

Rate, window, retry, image size and formats, as the documentation states them.

Limits

  • 600 requests per minute per API key (Fixed window; the limit is the same on every plan)
  • A 429 carries Retry-After: 30 seconds
  • Up to 10 MB per image
  • Formats: JPEG, PNG, WebP
  • Concurrent batches per plan: Free 1 · Hobby 2 · Seller 3 · Brand 4 · Studio 6
  • Polling only — the API sends no webhooks.

Concurrent work by plan

How many batches can be in flight at once before a submission returns 409.

In-flight batches per plan

Free

Concurrent: 1

Hobby

Concurrent: 2

Seller

Concurrent: 3

Brand

Concurrent: 4

Studio

Concurrent: 6

Staying inside the limits

  • A fixed window

    The limit is counted per API key in a fixed window, and it is the same on every plan. Two keys mean two budgets.

  • Poll every 3 seconds

    Polling is the only completion signal — the API sends no webhooks. Every 3 seconds is the documented interval; faster spends your budget on empty answers.

  • Back off exponentially

    After a 429, wait the Retry-After seconds and then grow the gap on each further failure rather than retrying at a fixed rate.

  • Batches are capped separately

    The rate limit counts requests; the concurrency cap counts work in flight. A batch that exceeds the cap returns 409, not 429.

Questions about rate limits

What is the rate limit?

600 requests per minute per API key, in a fixed window. The documentation publishes the same figure on every endpoint.

How often should I poll a job?

Every 3 seconds. There are no webhooks, so polling is the documented way to learn that a job finished.

How much can render at once?

In-flight batches are capped by plan: Free 1, Hobby 2, Seller 3, Brand 4 and Studio 6. Past the cap a submission returns 409.

What should I do on a 429?

Read the Retry-After header, wait that many seconds, then retry with exponential backoff. Queue the work rather than dropping it.

Endpoints and references

Every figure on this page comes from the Photta API docs · checked

Try the API in five minutes

Generate a Photta API key, paste the cURL snippet above, and you'll have your first on-model image before the coffee finishes brewing.

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