API docs
Authentication
Create a key in the dashboard and send it as Authorization: Bearer sk_... (or x-api-key). The key is shown once; keep it server-side, never in browser code.
POST /v1/render
Send exactly one of html or url. output is pdf (default), png or jpeg. options is passed to the rendering engine (page size, margins, landscape, background printing, header and footer templates, wait conditions and more). Unknown option names are rejected. Optional timeout_sec.
curl -X POST https://api.aiipworld.com/v1/render \
-H "Authorization: Bearer $AIIPWORLD_API_KEY" \
-H "Content-Type: application/json" \
-d '{"html":"<h1>Hello</h1><p>Rendered by headless Chromium.</p>","output":"pdf","options":{"format":"A4","print_background":true}}'
# returns {"job_id": "...", "status": "queued"}; then poll:
curl https://api.aiipworld.com/v1/jobs/JOB_ID -H "Authorization: Bearer $AIIPWORLD_API_KEY"The response is 202 { job_id, status: "queued", credits_reserved }.
GET /v1/jobs/:id
Returns status (queued, running, succeeded, failed, timeout), result (pages, bytes, timings), download_url and expires_at once the job succeeded, error and timestamps. A key can only read its own jobs.
download_url is a short-lived signed link (10 minutes by default): fetch the file from it directly, no API key needed. Request the job again for a fresh link. Results are deleted at expires_at: 1 day on the free plan, 7 days on Starter and Pro, 30 days on Business; after that download_url is null and result_expired is true.
GET /v1/usage
Returns the current period, your plan, the credit balance (plan credits and top-up credits) and recent debits.
Credits and errors
- A simple render costs 1 credit, reserved when you submit and settled when the job ends. Failed and timed-out jobs are refunded.
400invalid parameters,401invalid key,402 insufficient_credits,429rate limited (seeRetry-After),501feature reserved but not available (templates, webp).- Rendering runs in an isolated container with a hard timeout. Requests to private network addresses are blocked.