For developers & AI agents

Fake Screenshot APIEvery generator, callable from code. JSON in, PNG out.

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.

26 generatorsFree · no keyJSON → PNGMCP readyPNG @ 2×
Freeno key
POST/api/screenshot

JSON in, PNG out — no auth header.

WhatsAppChatGPTX / Twitter+23 more
MCPnpx heyfake-mcp

Drop into ChatGPT, Claude & agents.

list_fake_generatorsgenerate_fake_screenshot
27generators
1endpoint
0API keys
PNG@ 2× density

The same generators behind the Studio — now for your code and your AI agents.

Quick start

One POST, one PNG

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
bash
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" }
      ]
    }
  }'
JavaScript / TypeScript
ts
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.

For AI agents

Plug it into ChatGPT & Claude

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.

json
{
  "mcpServers": {
    "heyfake": {
      "command": "npx",
      "args": ["heyfake-mcp"],
      "env": { "HEYFAKE_API_URL": "https://heyfake.com" }
    }
  }
}
How it works

JSON in, PNG out — in 3 steps

No SDK, no browser, no key. One HTTP request from anything that can POST JSON.

  1. 1

    Pick a generator slug

    Each generator has a slug like fake-whatsapp-chat-generator or fake-twitter-post-generator. GET /api/screenshot returns the full list.

    • 26 slugs, one endpoint
    • No account, no API key
    • Same generators as the website
    See every generator →
  2. 2

    Describe the content as JSON

    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.

    • Plain JSON, no SDK
    • Omit doc → sample render
    • Optional scale (1–3) and source
    Browse chat generators →
  3. 3

    POST and get a PNG

    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.

    • image/png response
    • 2× pixel density by default
    • Headless — no browser needed
    Browse AI conversations →
What it’s for

Built for agents, automation & scale

The browser version is for one screenshot by hand. The API is for a thousand, or for an agent that makes its own.

AI agents & chatbots

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 →

Automation & no-code

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 →

Content at scale

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 →
Supported slugs

27 generators you can call

Every slug works as the slug field. Tap one to open its editor and see the exact content shape it expects.

FAQ

Frequently asked questions

Is the screenshot API really free?+

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.

What can I generate?+

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.

How do I use it with ChatGPT, Claude or another agent?+

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.

What shape is the doc field?+

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.

Do you store the content I send?+

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.

What format and size is the output?+

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.

Start generating — free, no key

Copy a request above, or point your agent at the MCP server. No signup, no upload, no API key.