Pro API: limieten, foutcodes en goede praktijken
Limieten
Elke sleutel heeft er drie: renders tegelijk (standaard 2), verzoeken per minuut (standaard 60) en, als je er een instelt, een dagelijks kredietplafond.
Als een limiet is bereikt, is het antwoord 429 met een Retry-After-header in seconden. Een geweigerd verzoek kost niets. De dag die voor de limieten wordt gebruikt, is de UTC-dag.
Onze eigen kaart wordt gedeeld met de gebruikers van de app. Als die bezet is, gaan je renders naar gehuurde GPU's, tegen dezelfde prijs en via dezelfde API, met een paar tientallen seconden extra bij het opstarten.
Foutcodes
| Code | error | Wat het betekent en wat je moet doen |
|---|---|---|
| 400 | champ prompt requis | Voeg een prompt toe. |
| 400 | contenu_interdit | Het inhoudsfilter heeft de prompt geweigerd. |
| 400 | image_requise, inpaint_images_requises | De modus vereist image_b64, en mask_b64 voor inpaint. |
| 401 | cle_requise, cle_invalide | Header ontbreekt of onbekende sleutel. |
| 402 | credits_insuffisants | Onvoldoende saldo voor deze render (cost wordt vermeld). Laad je saldo op via de site. |
| 403 | cle_desactivee, cle_revoquee, cle_expiree | Sleutel uitgeschakeld, ingetrokken of verlopen: maak een nieuwe aan in de app. |
| 403 | licence_revoquee, licence_non_pro | Licentie ingetrokken, of een account dat geen Pro is. |
| 403 | portee_manquante | De sleutel mist de gevraagde toestemming, vermeld in portee. |
| 403 | lora_inconnu | Een personage dat niet bij het account hoort. |
| 404 | media_indisponible | Het bestand is verdwenen: stuur opnieuw in. |
| 413 | image_trop_lourde | Bronafbeelding of masker groter dan 12 MB gedecodeerd. |
| 429 | trop_de_rendus_simultanes, cadence_minute, plafond_jour | Een limiet is bereikt, zie Retry-After. |
| 429 | plafond_credits_jour | Het dagelijkse kredietplafond van de sleutel is bereikt (plafond, depense, cout). |
| 502 | soumission_echouee, statut_echoue | Een incident aan de renderkant: probeer het over een paar seconden opnieuw. |
| 503 | licence_inverifiable | Het account kan momenteel niet worden gecontroleerd: probeer het over een minuut opnieuw. |
De foutnamen zijn de exacte strings die de API retourneert. Koppel daarop in plaats van op het bericht, dat mogelijk anders geformuleerd wordt.
Goede praktijken
- Poll elke 3 seconden, niet sneller. De wachtrij is gedeeld en er niemand mee geholpen als je die bombardeert.
- Download zodra de status
completedis. Het bestand wordt niet gearchiveerd. - Schrijf prompts in het Engels, en beschrijf voor video's de beweging in plaats van het stilstaande beeld.
- Één sleutel per gebruik, en een dagelijks kredietplafond op elke sleutel die op een server staat. Een gelekte sleutel met een plafond kost je een dag, niet je hele saldo.
- Behandel een
429als normaal, niet als een fout: wacht opRetry-Afteren ga door.
Prompts worden aan onze kant gelogd, net als voor de app, voor veiligheidsdoeleinden.