ReWords.AI API

Fila e limites

Concorrência da API da ReWords.AI, a fila de 30 jobs, limites de requisições para envios e leituras, polling, limites de imagem, Retry-After e novas tentativas idempotentes.

Fila

  • Até 10 jobs por conta são processados ao mesmo tempo.
  • Até 30 jobs esperam na fila atrás deles. Enquanto um job espera, GET /edits/{id} retorna o seu queue_position (jobs esperando na frente dele; jobs em execução não contam, então 0 significa que ele é o próximo a começar) e estimated_seconds (nossa estimativa de quando ele vai terminar).
  • Quando já há 30 jobs esperando, POST /edits retorna 503 queue_full com um cabeçalho Retry-After. Você não é cobrado.
  • Um job pode rodar por até 10 minutos depois de sair da fila. O tempo de espera não conta, então com a fila cheia o último job pode levar cerca de 30 minutos no pior caso. A maioria dos jobs termina em 1–2 minutos, 9 em cada 10 em 3 minutos.

Limites de requisições

Cada conta, compartilhada por todas as suas chaves, pode fazer em qualquer janela móvel de 60 segundos:

RequisiçõesLimite
Envios: POST /ocr, POST /edits30
Leituras: GET /edits/{id}, GET /account240 leituras

Toda requisição com uma chave válida conta, inclusive as rejeitadas com erro. Requisições sem chave ou com chave inválida não contam para nenhuma conta.

Passar do limite retorna 429 rate_limited com Retry-After, sempre um número inteiro de segundos: o tempo até a requisição mais antiga da janela expirar. GET /account retorna seus limites atuais em limits. Contas empresariais podem ter limites maiores.

Polling

  • Enquanto um job estiver em processing, ou em queued com queue_position 0, consulte GET /edits/{id} a cada 5 segundos.
  • Enquanto ele estiver em queued mais atrás, consulte a cada 30 segundos. estimated_seconds é quando o job deve terminar, não quando consultar.

Com 10 jobs em processamento e 30 na fila, isso dá no máximo 190 leituras por minuto, dentro do limite de 240. Para não fazer polling nenhum, passe callback_url e receba um webhook.

Imagens

  • JPEG, PNG ou WebP, até 20 MB, lado maior de até 8000 px.
  • Envie como image_url, image_base64, um arquivo image multipart ou um image_id de uma chamada de OCR anterior — exatamente um deles por requisição.
  • Até 20 substituições por edição.

Veja Imagens para saber como codificar cada método de envio, EXIF, transparência e os arquivos de resultado.

Novas tentativas seguras

Envie um cabeçalho Idempotency-Key em todo POST /edits para poder tentar de novo com segurança depois de um timeout ou erro de rede. Repetir a mesma chave em até 24 horas retorna 202 com o id do job original e o seu status atual (ele pode já estar em processing ou concluído) em vez de criar — e cobrar — um novo, mesmo que o corpo seja diferente. As chaves são por conta, compartilhadas por todas as suas chaves de API. Uma requisição rejeitada (qualquer 4xx ou 5xx) não consome a chave, então você pode reenviá-la com a mesma chave depois de corrigi-la.

Nesta página