POST a JSON description of a chat, post or AI conversation and get back a pixel-perfect PNG. Call it from your code, an automation, or an AI agent as an HTTP tool. Free tier — grab a key in seconds.
JSON in, PNG out — Bearer key.
List every generator slug you can call.
The same generators behind the Studio — now for your code and your AI agents.
Send a generator slug and a doc to POST /api/screenshot with your free key. Omit the doc to get a sample render of any generator.
curl -X POST https://heyfake.com/api/screenshot \
-H "authorization: Bearer hf_live_YOUR_KEY" \
-H "content-type: application/json" \
-o whatsapp.png \
-d '{
"slug": "fake-whatsapp-chat-generator",
"doc": {
"contact": { "name": "Mom" },
"messages": [
{ "id": "1", "sender": "them", "text": "did you eat?", "time": "18:02" },
{ "id": "2", "sender": "me", "text": "yes mom 🙄", "time": "18:03", "status": "read" }
]
}
}'const res = await fetch("https://heyfake.com/api/screenshot", {
method: "POST",
headers: {
"authorization": "Bearer hf_live_YOUR_KEY",
"content-type": "application/json",
},
body: JSON.stringify({
slug: "fake-chatgpt-conversation-generator",
doc: {
model: "GPT-4o",
messages: [
{ role: "user", content: "write a haiku about fake screenshots" },
{ role: "assistant", content: "Pixels pretend well —\nbubbles bloom without a phone." },
],
},
}),
});
const png = Buffer.from(await res.arrayBuffer());Discover every slug with GET /api/screenshot. Optional scale (1–3) and source.
No SDK, no browser. A free key and one HTTP request from anything that can POST JSON.
Sign in with your email, open your account and create a key — it's shown once. Send it as an Authorization: Bearer header on every request.
Each generator has a slug like fake-whatsapp-chat-generator. The doc field is the content — messages, contact, post, model. Send no doc and you get a ready-made sample to copy the shape from.
One request with your key. Phone screens render at a fixed frame; posts and AI conversations come back auto-cropped tight to the content — identical to the browser download.
The browser version is for one screenshot by hand. The API is for a thousand, or for an agent that makes its own.
Expose POST /api/screenshot as a tool with your key in the Authorization header and let an assistant render a fake chat inline — one HTTP call, JSON in, PNG out.
See the request →Call it from n8n, Make, Zapier or a cron job to turn rows of text into a batch of social mockups. Fully headless, no browser to babysit.
See the request →Generate hundreds of variations for ads, memes, demos or QA fixtures from a script — every one pixel-identical to the in-app export. Go unlimited on Pro.
See pricing →30 API requests a month on the free tier. Go unlimited on Pro, or pay once for lifetime on Creator.
30 API requests / month
Unlimited API + video
Lifetime + early access
Every slug works as the slug field. Tap one to open its editor and see the exact content shape it expects.
fake-whatsapp-chat-generator
fake-imessage-chat-generator
fake-instagram-dm-generator
fake-discord-chat-generator
fake-tinder-chat-generator
fake-whatsapp-chats-list-generator
fake-whatsapp-contact-info-generator
fake-whatsapp-calls-generator
fake-telegram-chat-generator
fake-telegram-channel-generator
fake-telegram-contacts-generator
fake-telegram-chats-list-generator
fake-telegram-profile-generator
fake-twitter-post-generator
fake-facebook-post-generator
fake-instagram-post-generator
fake-linkedin-post-generator
fake-tiktok-post-generator
fake-threads-post-generator
fake-bluesky-post-generator
fake-pinterest-post-generator
Yes. Every account gets 30 API requests per month for free, plus unlimited manual image generation on the website. Need more? Pro gives unlimited API requests and video generation ($6.90/month or $50/year), and Creator is a $100 lifetime plan. See the pricing page for details.
Yes, and a free one takes seconds: sign in with your email, open your account, create a key (it's shown once), and send it as an Authorization: Bearer header. The same key works from your code, automation tools and AI agents.
26 generators across chats (WhatsApp, iMessage, Telegram, Instagram DM, Discord, Tinder), social posts (X/Twitter, Facebook, Instagram, LinkedIn, TikTok, Threads, Bluesky, Pinterest) and AI conversations (ChatGPT, Claude, Gemini, Grok, Perplexity). GET /api/screenshot returns every supported slug.
Any agent or tool framework that can make an HTTP request can call it. Register POST /api/screenshot as a tool, put your key in the Authorization header — JSON in, PNG out — and the agent can produce screenshots mid-conversation. There's also an MCP server that wraps the same endpoint.
doc is exactly the content the in-app editor produces — messages, contact, post, model, and so on, depending on the generator. Send a request with no doc and the API renders that generator's sample so you can mirror the structure.
No. The chat content in your request is rendered and discarded — we don't keep it. We record only anonymous usage counters (which generator, when, render time) to run the service and meter quota; the messages, names and images you send are never stored.
A PNG at 2× pixel density by default (set scale 1–3). Phone generators render at a fixed 375×812 frame (750×1624 at 2×); posts and AI conversations are auto-cropped tight to their content, exactly like the browser download.
Sign in, create a key, and POST it from your code, automation or AI agent. 30 requests/month free; unlimited on Pro.