Rendshot renders HTML/CSS to images, takes URL screenshots, and supports AI-powered template generation with platform presets.
MCP tools available? Use them directly (preferred path):
ToolUse whengenerate_imageRender HTML, fill a template, or AI-generate from promptscreenshot_urlCapture a webpagelist_templatesBrowse community templates by platform/categoryget_templateGet variable schema before filling a templatecreate_templateSave a design for reuse
No MCP tools? Fall back to CLI or API. See references/api-endpoints.md.
text
generate_image({
prompt: "Coffee shop promotion card, warm brown tones, large title",
platform: "xiaohongshu", // auto-sets 1080x1440 + style guide
locale: "zh" // response language
})
Combine with template_id to reference an existing template's visual style:
text
generate_image({
prompt: "Same layout but for a bakery",
template_id: "tpl_abc123", // style reference
platform: "instagram_post"
})
text
// Step 1: Find a template
list_templates({ platform: "xiaohongshu", q: "product showcase" })
// Step 2: Check its variables
get_template({ template_id: "tpl_abc123" })
// Returns: title(text), subtitle(text), bg_image(image), accent_color(color)
// Step 3: Render with custom values
generate_image({
template_id: "tpl_abc123",
variables: {
title: "Today's Special",
subtitle: "Hand-roasted beans",
bg_image: "https://example.com/beans.jpg",
accent_color: "#8B4513"
}
})
text
generate_image({
html: "<div style='...'>Hello World</div>",
width: 1080,
height: 1080,
format: "png",
deviceScale: 2 // 2x for retina
})
text
screenshot_url({
url: "https://example.com",
width: 1280,
height: 800,
fullPage: true,
format: "png"
})
After AI generates a design, save it as a template:
text
create_template({
name: "Coffee Promo Card",
html: "<returned html from AI>",
variables: [
{ key: "title", type: "text", label: "Title", default: "Special Offer" },
{ key: "bg_image", type: "image", label: "Background", default: "https://..." }
],
platform: "xiaohongshu",
tags: ["coffee", "promotion"],
visibility: "private"
})
PlatformDefault sizeTypical usexiaohongshu1080x1440Notes, product cardsxiaohongshu_wide1080x810Wide format notesinstagram_post1080x1080Feed postsinstagram_story1080x1920Stories, reels coverstwitter_card1200x628Link preview cardstwitter_post1200x675Image postslinkedin_post1200x627Professional postsyoutube_thumb1280x720Video thumbnailswechat_cover900x383Article coverswechat_thumb200x200Article thumbnailsog_image1200x630Open Graph imagescustom1080x1080Any custom size
TypeExampleConstraintstextTitle, subtitlemaxLength``imageBackground, avatarURL formatcolorAccent, backgroundHex formatnumberFont size, opacitymin, max``selectStyle variantoptions: ["A","B"]
html, template_id, and prompt are mutually exclusive (except prompt + template_id for style reference)get_template before using a template to check its variable schemadeviceScale: 2 for retina/high-DPI outputpng; use jpg + quality: 85 for smaller file sizecreate_template