Render API · v1

JSON in. Scene out.

Render screenshots and videos from the same scene data you use in TheFake.

Try the WhatsApp API playground

$15/mo · 200 monthly credits · cancel anytime

render-scene.sh
curl -X POST https://www.thefake.design/api/v1/screenshots \
  -H "x-api-key: $THEFAKE_API_KEY" \
  -H "Content-Type: application/json" \
  -o scene.png \
  -d '{
    "template": "chat-square",
    "scene": {
      "platform": "imessage",
      "messages": [{
        "id": "reply", "type": "text",
        "text": "already shipped.",
        "direction": "outgoing", "status": "read"
      }]
    }
  }'
200 OKscene.pngPNG

API access

Get a key and start.

Subscribe, then create or revoke scoped keys from the same place.

API Starter

One plan for screenshots and video.

Create scoped keys, render from your server, and revoke access whenever you need to.

200 credits monthly · scoped keys · cancel anytime

Monthly

$15/mo

200 credits included

No trial. Studio Pro is separate.

Quickstart

One request. One file.

Create a key, send scene JSON, and save the response. Screenshots return immediately.

  1. 1Create a scoped API key
  2. 2Send it in the x-api-key header
  3. 3Save the PNG or poll the video job

Keep keys on your server. Never ship them in browser code.

curl · screenshot
curl -X POST https://www.thefake.design/api/v1/screenshots \
  -H "x-api-key: $THEFAKE_API_KEY" \
  -H "Idempotency-Key: first-scene-001" \
  -H "Content-Type: application/json" \
  -o scene.png \
  -d '{
    "template": "chat-square",
    "format": "png",
    "scene": {
      "platform": "imessage",
      "messages": [{
        "id": "ready",
        "type": "text",
        "text": "ship it.",
        "direction": "outgoing",
        "status": "read"
      }]
    }
  }'

Reference

Open only what you need.

PNG and JPEG screenshots; asynchronous MP4 and WebM video jobs. Check the public template catalog for each template's screenshot and video support.

Screenshot rendersRequired fields, formats, scale, and binary responses.
Required
template and scene
Optional
format, scale, frameIndex, and filename
Response
PNG or JPEG binary with 200 OK

Scene controls use scene.showDeviceFrame and scene.settings. Set contentZoom to 100, 106, 112, 118, 122, 126, or 130, then combine it with darkMode, showStatusBar, showMessageTimes, or conversationBodyOnly.

Video jobsCreate, poll, download, or cancel a private render.

Video creates return 202 Accepted with a private status URL. Poll until the job is completed, then download it with the same key.

curl · video flow
# Create a private video job
curl -X POST https://www.thefake.design/api/v1/video-renders \
  -H "x-api-key: $THEFAKE_API_KEY" \
  -H "Idempotency-Key: first-video-001" \
  -H "Content-Type: application/json" \
  -d '{
    "template": "chat-vertical",
    "durationSeconds": 5,
    "scene": { "platform": "whatsapp", "messages": [] }
  }'

# Poll the statusUrl returned by the create request
curl https://www.thefake.design/api/v1/video-renders/render_01J... \
  -H "x-api-key: $THEFAKE_API_KEY"
Templates and endpoints31 templates across chat, post, comments, story, email, and X.

Call GET /api/v1/templates to discover the current IDs and whether each supports screenshots, videos, or both.

GET/api/v1/templatesList templates and output support.
POST/api/v1/screenshotsRender a PNG or JPEG immediately.
POST/api/v1/video-rendersCreate a private MP4 or WebM job.
GET/api/v1/video-renders/{renderId}Read a video job.
GET/api/v1/video-renders/{renderId}/downloadDownload a completed job.
DELETE/api/v1/video-renders/{renderId}Cancel and remove a job.
Credits, limits, and errorsThe operational details to keep a production integration steady.

Rate limits

Screenshots
20/min
Video creates
5/min
Video status
60/min
Downloads
20/min

Retries

Errors include a stable code and requestId. Retry 409 in-progress, 429, 503, and 504 responses using Retry-After. Reuse the same idempotency key.

Standard screenshots use 1 credit. Higher scale, frame rate, or duration uses more. Failed renders return reserved credits.

TheFake creates fictional mockups. Do not use exports to impersonate people, fabricate harmful evidence, or mislead audiences.

Acceptable use