POST a JSON description of a chat, post or AI conversation and get back a pixel-perfect PNG — or connect it to ChatGPT, Claude and other agents over MCP. Free, no API key, no signup.
JSON in, PNG out — no auth header.
Drop into ChatGPT, Claude & agents.
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. No key, no signup. Omit the doc to get a sample render of any generator.
curl -X POST https://heyfake.com/api/screenshot \
-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: { "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.
The open-source HeyFake MCP server lets any agent generate screenshots mid-conversation. Drop this into your MCP client config — it exposes list_fake_generators and generate_fake_screenshot.
{
"mcpServers": {
"heyfake": {
"command": "npx",
"args": ["heyfake-mcp"],
"env": { "HEYFAKE_API_URL": "https://heyfake.com" }
}
}
}No SDK, no browser, no key. One HTTP request from anything that can POST JSON.
Each generator has a slug like fake-whatsapp-chat-generator or fake-twitter-post-generator. GET /api/screenshot returns the full list.
The doc field is the generator's content — messages, contact, post, model. Send no doc at all and you get a ready-made sample to copy the shape from.
One request, no auth header. 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.
Let an assistant render a fake chat inline. Add the MCP server and it can generate screenshots as part of a conversation — no glue code.
Connect an agent →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.
Social generators →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 — no API key, no signup, no watermark, no paywall. It's the same generators that power heyfake.com, exposed over HTTP for anyone to call. A light per-IP rate limit keeps it fair; that's the only gate.
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.
Add the open-source HeyFake MCP server to your agent. It exposes two tools — list_fake_generators and generate_fake_screenshot — and is a thin client over this same API, so the agent can produce screenshots mid-conversation.
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; 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.
Copy a request above, or point your agent at the MCP server. No signup, no upload, no API key.