PDFCraft
Error reference

render_failed

HTTP 422 · billed

{ "error": {
    "code": "render_failed",
    "message": "…",
    "docs_url": "https://pdfcraft.dev/errors#render_failed"
} }

When you get it

Chromium ran but the page threw, navigation failed, or waitFor.selector never appeared.

Chromium ran, and the page then threw, failed to navigate, or never produced the selector waitFor was told to wait for.

How to fix it

Is it billed?

Yes. A request is billed only when Chromium actually ran. This one IS billed, and the distinction is deliberate: the browser did the work. Every other 4xx never reached it.

Reproducing it

curl -i -X POST https://api.pdfcraft.dev/v1/render \
  -H "Authorization: Bearer $PDFCRAFT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"html":"<h1>hi</h1>"}'

The -i matters: Retry-After and X-Renders-Remaining are headers, and a client that only reads the body throws away the two numbers that tell it what to do next.

Every code

HTTPCodeBilled?
400invalid_requestfree
401invalid_api_keyfree
402payment_requiredfree
404not_foundfree
408render_timeoutfree
422render_failedbilled
429rate_limitedfree
429quota_exceededfree
429demo_busyfree
415unsupported_filefree
422extraction_failedfree
500internal_errorfree