Render the scene. Ship the file.
Turn TheFake scene data into screenshots and social-ready videos from your own scripts, queues, or publishing pipeline.
API access is separate from every Pro plan.
curl -X POST https://www.thefake.design/api/v1/video-renders \
-H "x-api-key: $THEFAKE_API_KEY" \
-H "Idempotency-Key: post-842-scene-1" \
-H "Content-Type: application/json" \
-d '{
"template": "ChatVideoShort",
"durationInFrames": 150,
"fps": 30,
"scale": 2,
"format": "mp4",
"input": {
"platform": "whatsapp",
"messages": [
{"id": 1, "type": "text", "text": "publish it?", "isSender": false},
{"id": 2, "type": "text", "text": "already queued.", "isSender": true}
]
}
}'{
"success": true,
"data": {
"id": "render_01J...",
"status": "rendering",
"progress": 0,
"statusUrl": "/api/v1/video-renders/render_01J...",
"downloadUrl": null
}
}PNG + JPEG
Synchronous screenshots
MP4 + WebM
Asynchronous video jobs
30 templates
Chat, post, story, email
One durable workflow
POST. Poll. Download.
Video exports are jobs, not fragile long-running HTTP requests. Screenshots return the binary immediately.
- 01
Send scene JSON
Choose a template, output settings, and the same scene-shaped input used by the renderer.
- 02
Poll your job
Read queued, rendering, completed, or failed state from the owner-protected status URL.
- 03
Stream the result
Download the finished MP4 or WebM using the same API key. No storage provider details leak into your integration.
Request map
A small API surface on purpose.
Authenticate with x-api-key or a Bearer token. Every error includes a stable code and request ID.
/api/v1/templatesDiscover renderable templates
/api/v1/screenshotsRender and stream a PNG or JPEG
/api/v1/video-rendersCreate an asynchronous video job
/api/v1/video-renders/:idPoll private job status
/api/v1/video-renders/:id/downloadDownload completed output
/api/v1/video-renders/:idCancel and remove a job
The response body is the image file. Save it directly to disk, object storage, or your publishing queue.
curl -X POST https://www.thefake.design/api/v1/screenshots \
-H "x-api-key: $THEFAKE_API_KEY" \
-H "Idempotency-Key: thumbnail-842" \
-H "Content-Type: application/json" \
-o scene.png \
-d '{
"template": "ChatVideoSquare",
"frame": 90,
"imageFormat": "png",
"scale": 2,
"input": {"platform": "imessage"}
}'A create call returns 202 Accepted plus a status URL. The download URL appears only after completion.
{
"success": true,
"data": {
"id": "render_01J...",
"status": "rendering",
"progress": 0,
"statusUrl": "/api/v1/video-renders/render_01J...",
"downloadUrl": null
}
}Built for unattended runs
Safe when nobody is watching.
The boring failure modes matter most when a queue runs at 3 a.m.
Idempotent creates
Reuse a key after a timeout without accidentally starting the same paid render twice.
Scoped keys
Issue screenshot-only or video-only credentials, then revoke them without touching your login.
Private jobs
Status and downloads are checked against the account that created the render. Provider URLs stay hidden.
Visible limits
Every response exposes request and rate-limit headers so automation can back off cleanly.
Access and keys
Request access for your automation.
API payments are not open yet. Tell us what you are building and we will review early-access requests manually. Pro remains separate and does not include API calls.
Private API rollout
Tell us what you want to automate.
Payments are not open yet. We are approving early API access manually while we learn which workflows and usage levels matter most.
- Screenshot and video endpoints
- Scoped, revocable keys
- A reply from a real person
Before you automate publishing
Create responsibly. Review platform rules.
TheFake creates fictional mockups. Do not use exports to impersonate people, fabricate harmful evidence, or mislead audiences.