API Pro: limites, códigos de erro e boas práticas
Limites
Cada chave tem três: renders simultâneos (2 por defeito), pedidos por minuto (60 por defeito) e, se definires um, um limite diário de créditos.
Ao ultrapassar um limite, a resposta é 429 com um cabeçalho Retry-After em segundos. Uma
chamada recusada não tem custo. O dia usado para os limites é o dia UTC.
O nosso próprio cartão é partilhado com os utilizadores da aplicação. Quando está ocupado, os teus renders vão para GPUs alugadas, ao mesmo preço e através da mesma API, com algumas dezenas de segundos adicionais no arranque.
Códigos de erro
| Código | error | O que significa e o que fazer |
|---|---|---|
| 400 | champ prompt requis | Adiciona um prompt. |
| 400 | contenu_interdit | O filtro de conteúdo recusou o prompt. |
| 400 | image_requise, inpaint_images_requises | O modo precisa de image_b64, e de mask_b64 para inpaint. |
| 401 | cle_requise, cle_invalide | Cabeçalho em falta ou chave desconhecida. |
| 402 | credits_insuffisants | Saldo insuficiente para este render (cost é indicado). Recarrega na plataforma. |
| 403 | cle_desactivee, cle_revoquee, cle_expiree | Chave desativada, revogada ou expirada: cria uma nova na aplicação. |
| 403 | licence_revoquee, licence_non_pro | Licença revogada ou conta que não é Pro. |
| 403 | portee_manquante | A chave não tem a permissão solicitada, indicada em portee. |
| 403 | lora_inconnu | Uma personagem que não pertence à conta. |
| 404 | media_indisponible | O ficheiro não existe: submete novamente. |
| 413 | image_trop_lourde | Imagem de origem ou máscara superior a 12 MB descodificado. |
| 429 | trop_de_rendus_simultanes, cadence_minute, plafond_jour | Um limite foi atingido, consulta Retry-After. |
| 429 | plafond_credits_jour | O limite diário de créditos da chave foi atingido (plafond, depense, cout). |
| 502 | soumission_echouee, statut_echoue | Um incidente no lado do render: tenta novamente em alguns segundos. |
| 503 | licence_inverifiable | A conta não pode ser verificada neste momento: tenta novamente num minuto. |
Os nomes dos erros são as strings exatas que a API devolve. Faz a correspondência com base neles e não na mensagem, que pode ser reformulada.
Boas práticas
- Faz polling a cada 3 segundos, não mais rápido. A fila é partilhada e sobrecarregá-la não ajuda ninguém.
- Faz o download assim que o estado for
completed. O ficheiro não é arquivado. - Escreve os prompts em inglês, e para vídeos descreve o movimento em vez da imagem parada.
- Uma chave por utilização, e um limite diário de créditos em cada chave que esteja num servidor. Uma chave comprometida com um limite custa-te um dia, não o saldo todo.
- Trata um
429como normal, não como uma falha: espera peloRetry-Aftere continua.
Os prompts são registados do nosso lado, tal como acontece na aplicação, para fins de segurança.