Short answer: no, Claude does not generate images the way Midjourney, DALL·E or other image models do. It does not paint pictures from a prompt, and it does not edit photos. What it does is understand images, and write the code — HTML, CSS, SVG — that a browser draws. That difference is also the way to get real image files out of Claude: let Claude write the words or the layout, and let a renderer turn them into a PNG.
What Anthropic says
Anthropic's help article Can Claude produce images? (last updated March 16, 2026, read on 2026-11-08):
- "Claude doesn't generate photos or illustrations the way image-generation tools do."
- Claude can "build diagrams, charts, and interactive visuals directly in your conversation", generated "using HTML and SVG—so you can interact with them, ask follow-up questions, and have Claude adjust them as you go". The article describes this as a beta on Claude's web and desktop apps.
- "Claude can also view and analyze images you upload."
The API's vision documentation is blunter: "Claude is an image understanding model only. It can interpret and analyze images, but it cannot generate, produce, edit, manipulate, or create images."
What Claude can make instead
| You ask for | What you get |
|---|---|
| A photo or illustration | No image file: Claude does not generate pictures |
| A chart, a diagram, a flowchart | An HTML/SVG visual in the conversation, or code for one |
| A logo or icon | SVG code — vector shapes you can save and edit |
| A social card or poster layout | HTML and CSS that a browser would draw |
| A description of an uploaded image | Text: what is in it, the text it contains, its layout |
Code is not an image file. You cannot upload SVG code to Instagram, use HTML as an og:image, or attach it to an email as a picture. Something has to render it: open it in a browser and save a screenshot, or hand it to a service that renders HTML to an image.
Getting a PNG out of Claude: let a tool render it
Claude can use tools through the Model Context Protocol (MCP). Connect an image-rendering MCP server, and Claude can turn its own text into an image file in the conversation. With ours connected, the flow is:
- You ask: "Make a quote card from this line of the interview."
- Claude calls
list_templates, chooses one — sayquote-og— and callsrender_imagewith the text it wrote. - The server renders the template in Chrome and returns the image's URL.
This is the tool call Claude sends, and what came back when we made the same call on 2026-11-08:
{ "name": "render_image",
"arguments": { "template": "quote-og", "format": "png",
"modifications": { "quote": "Claude writes the words; the template draws them.", "author": "Ada Example" } } }
{ "status": "completed", "format": "png", "size": "og", "width": 1200, "height": 630,
"url": "…/renders/img_….png", "duration_ms": 1030 }
A 1200×630 PNG in about a second. Claude never "drew" anything: it wrote the quote, picked the design, and the renderer did the rest. Setup takes a minute in Claude's settings as a custom connector — see Claude (web, desktop, mobile).
The other tools Claude gets from our server: render_image, get_image, list_templates, get_template, create_signed_url, get_usage, generate_template, take_screenshot, auto_og_url, create_batch, get_batch. Two of them matter for "images from Claude":
generate_templatedesigns a new template from a description or a screenshot of a design you like (paid plans), so Claude can ask for a layout that does not exist yet.take_screenshotcaptures a public web page — useful when Claude should see a page, or show you one.
In Claude Code: Claude writes the template itself
Claude Code can do the part the chat apps cannot: write the HTML and CSS of a template in your project, save it with one API request (POST /v1/templates), and render it through the same MCP server. That is the closest thing to "Claude designing an image": it writes a real layout in code, checks the rendered result, and adjusts the CSS. The image itself is still drawn by a browser, not by the model.
Prompts that work with a renderer connected
Ask for the content and the use, and let Claude pick the template:
- "Turn the three key numbers from this report into stat cards for LinkedIn, square format."
- "Make an Open Graph image for each of these five blog posts, using their titles."
- "Render the speaker announcement for Ana Silva, Friday 14:00, as a story."
Ask to see the list of templates first if the look matters, and say the size by name — square, portrait, story — since a template renders in every preset. Each new image is one render of your quota; asking again for exactly the same image costs nothing.
When you need a picture from a prompt
If what you want is a photograph, a painting or an illustration conjured from a description, Claude is the wrong tool and so are we: we render templates and web pages; our AI drafts templates, not pictures. Use an image-generation model for the picture, and — if it needs exact text, a logo and your brand's layout — put that picture into a template as its background or photo field.
Summary
- Claude understands images and writes code for visuals; it does not paint or edit images.
- Charts, diagrams and simple graphics come out as HTML or SVG.
- For an actual PNG, JPEG or PDF, connect a renderer: an MCP server lets Claude make one in the conversation; 100 renders a month are free on our Free plan, with a watermark.