Install
openclaw skills install @orshot/orshot-social-media-contentSocial media content generator and social media design for AI agents. Create on-brand Instagram post, LinkedIn post, TikTok, Reels, story, ad, banner, thumbnail and carousel templates with Orshot, then render them with new copy on every post. Use for content creation for Instagram, LinkedIn, TikTok, X, Facebook, YouTube and Pinterest, for a content creator or marketing team that wants designed templates instead of one-off AI images, as a Canva alternative an agent can drive, and when refining a template that looks generic. Applies the craft rules (clear hierarchy, 2-font typography, 60-30-10 color, restrained motion), consults the brand kit first, varies layouts so designs never repeat, and runs a render-and-critique loop over the hosted Orshot MCP server.
openclaw skills install @orshot/orshot-social-media-contentSocial media content from Orshot is a designed template plus fresh copy per post, not a new AI image every time. This skill makes Orshot studio templates that look professionally designed, not the generic centered-text "AI" look, for Instagram posts, LinkedIn posts, TikTok and Reels, stories, ads, banners, thumbnails and carousels. It is the knowledge layer on top of the Orshot MCP server's design tools (orshot_create_template_design, orshot_update_template_design, orshot_patch_template_elements, orshot_get_brand_kit).
openclaw mcp add orshot --url https://mcp.orshot.com/mcp --transport streamable-http --auth oauth
openclaw mcp login orshot
Design tools return inline thumbnails and design checks, so they are MCP only. The free plan (100 credits a month, no card) covers template creation and previews. Details and the REST fallback for rendering live in the orshot skill.
size on create and render, or give width and height.| Platform | Preset | Pixels |
|---|---|---|
| Instagram post (portrait, the 2026 default) | instagram-post-portrait | 1080x1350 |
| Instagram square | instagram-post | 1080x1080 |
| Instagram story, Reels cover, TikTok, YouTube Short | instagram-story, tiktok-video, youtube-short | 1080x1920 |
| LinkedIn post | linkedin-post | 1200x627 |
| LinkedIn carousel (PDF or image pages) | linkedin-carousel | square or 4:5 pages |
| X post, X header | twitter-post, twitter-header | 1200x675, 1500x500 |
| Facebook post, story, cover | facebook-post, facebook-story, facebook-cover | 1200x630, 1080x1920, 851x315 |
| Pinterest pin | pinterest-pin | 1000x1500 |
| YouTube thumbnail | youtube-thumbnail | 1280x720 |
Full list: the orshot://formats MCP resource.
orshot://template-design-spec (element schema, the animation gotchas), then orshot_get_brand_kit when the design should be on brand.references/social-media.md for safe areas, archetypes and a recipe. Pick an archetype different from the last template of this type.orshot_create_template_design, complete pages_data, every text element textMode: "fit" with minFontSize, dynamic fields marked parameterizable: true with snake_case parameterIds (headline, subtitle, product_image), includeThumbnails: true.orshot_update_template_design or orshot_patch_template_elements. Never ship the first pass unseen.orshot_render_template) and show the user the output. One design, every size: extraSizes: ["instagram-story", "linkedin-post", "1080x1080"].orshot-social-media-scheduler skill; six-slide carousels in orshot-carousel. Keep the template; every future post is a render, not a redesign.Use whenever you are designing or refining a visual template: a social post/story/carousel,
an ad creative, a banner, a thumbnail, a launch graphic. For the studio element schema and
render gotchas, also consult the MCP resource orshot://template-design-spec.
position/dimensions are nested objects. See Compatibility below.orshot skill (API/generation mechanics): use that to render.Design serves the task. Decide the ONE thing the viewer must take away, then make everything support it. Respect the brand and the platform over generic prettiness. Prefer the deterministic rules below over subjective iteration.
orshot_get_brand_kit
(tag-filter to the purpose) and map brand colors/fonts/logo onto the roles in Systems. If
the prompt asks for a generic/standalone look, use the pack defaults, don't force brand in.references/ (e.g.
references/social-media.md) for format, safe areas, archetypes, and a concrete recipe.
Choose a DIFFERENT archetype from recent templates of this type.includeThumbnails:true, READ the thumbnail, and fix
issues with orshot_update_template_design / orshot_patch_template_elements. Never ship
the first pass unseen. (The create tool also returns a "🎨 Design check", resolve its ⚠s.)lineHeight (1.0–1.15) and slightly negative letterSpacing on large display type.
Heaviest brand font → display, lighter → body.objectFit:"cover" for photos; add a
gradient scrim under text over busy photos.Use the brand kit WHEN the design should be on-brand (the prompt references the user's brand, product, or identity): colors → 60-30-10 roles, fonts → display/body, logo → a small corner/footer mark, images → hero/product. For a generic/exploratory/standalone look, the pack palette is fine, don't force brand assets in.
Never repeat a layout for the same content type. Vary archetype, focal placement, and color emphasis between designs of the same kind.
"48px", "700", "12px": never bare numbers.position and dimensions are nested objects ({x,y}, {width,height}).textMode:"fit" + minFontSize on EVERY text element (floors: headline 48,
subtitle 28, body 24, kicker 18, caption 14). The default "overflow" does not shrink or
reflow, long/parameterized text spills out of its box.\n, NEVER <br>; avoid multiple <p> blocks (they overlap). For a
multi-line headline with one accent-colored word, use one text element per line.<span> (colored pill) forces the whole element to one line
(white-space: nowrap) → overflow on long text. Highlight only 1–3 words; for long
headlines use color emphasis (no background) or split per line.parameterizable:true, a unique snake_case parameterId, and a
parameterType matching the element (text→"text", image→"imageUrl", shape→"fill",
canvas/container→"backgroundColor").content must be a data-URI.Making video look designed, not generated:
enter type and showAt; stagger ~0.3–0.5s BETWEEN sections in
reading order. showAt/hideAt are siblings of enter/exit: never nested inside them.kenBurns ambient (zoom 1.08–1.15). A still photo held
3 seconds reads as a dead frame; a slow push reads as footage. Alternate panX direction
between pages.shake/slowRotate need easing: "linear" or the loop seam shows.pageTransition for the whole video, 0.3–0.5s. A different transition per cut is
the clearest tell of an auto-generated edit.sfx, volume 0.08–0.18, loop) + page.subtitle { source: "auto-audio" } with a caption
preset (karaoke/bold) and strokeWidth 2–3 over busy footage. Budget narration at
~2 words/second with 1s headroom. Call orshot_get_audio_authoring_options before
authoring generated audio; give tts.parameterId so spoken copy stays a render parameter.Read the one matching the task, each adds format/safe-areas, archetypes, and a recipe:
references/social-media.md: posts, stories, carousels.orshot_get_brand_kit (tags: "social-media") → brand colors/fonts/logo.references/social-media.md → default 4:5 portrait 1080×1350; pick the type-hero
archetype (different from the last post).orshot_create_template_design with brand display font for an oversized headline, brand
dominant color as background, accent color on one word, logo + @handle footer,
includeThumbnails:true.orshot_get_studio_template to inspect the current design.orshot_patch_template_elements to set one focal headline, trim to 2 fonts, apply brand
60-30-10, left/bottom-align. Re-render with includeThumbnails:true and verify.Headline shows on one line / <br> ignored. Use \n, not <br>. For a colored word on
a multi-line headline, split into one text element per line.
Colors/fonts look off-brand. You skipped step 2, call orshot_get_brand_kit and map the
returned value (colors) and name (fonts) onto the design.
"🎨 Design check" warns about repetition. This layout matches a recent same-type template. Switch archetype and move the focal point.