High Risk:This skill has significant security concerns. Review the findings below before installing.

og-image-design

Caution·Scanned 2/18/2026

High-risk skill: installs and executes a remote CLI via curl -fsSL https://cli.inference.sh | sh and runs infsh commands. It also instructs infsh login (credential use) and invokes networked services such as developers.facebook.com/tools/debug/, cards-dev.twitter.com/validator, and opengraph.xyz.

from clawhub.ai·vc1ea2bc·10.1 KB·0 installs
Scanned from 0.1.0 at c1ea2bc · Transparency log ↗
$ vett add clawhub.ai/okaris/og-image-designReview security findings before installing

OG Image Design

Create social sharing images (Open Graph) via inference.sh CLI.

Quick Start

curl -fsSL https://cli.inference.sh | sh && infsh login

# Generate an OG image with HTML-to-image
infsh app run infsh/html-to-image --input '{
  "html": "<div style=\"width:1200px;height:630px;background:linear-gradient(135deg,#1a1a2e,#16213e);display:flex;align-items:center;padding:60px;font-family:system-ui;color:white\"><div><h1 style=\"font-size:56px;margin:0;line-height:1.2\">How We Reduced Build Times by 80%</h1><p style=\"font-size:24px;opacity:0.8;margin-top:20px\">engineering.yourcompany.com</p></div></div>"
}'

Platform Specifications

PlatformDimensionsAspect RatioFile SizeFormat
Facebook1200 x 630 px1.91:1< 8 MBJPG, PNG
Twitter/X (summary_large_image)1200 x 628 px1.91:1< 5 MBJPG, PNG, WEBP, GIF
Twitter/X (summary)800 x 418 px1.91:1< 5 MBJPG, PNG
LinkedIn1200 x 627 px1.91:1< 5 MBJPG, PNG
Discord1200 x 630 px1.91:1< 8 MBJPG, PNG
Slack1200 x 630 px1.91:1JPG, PNG
iMessage1200 x 630 px1.91:1JPG, PNG

Universal safe bet: 1200 x 630 px, PNG or JPG, under 5 MB.

The Golden Layout

┌──────────────────────────────────────────────────┐
│                                                  │
│  ┌─────────────────────────────────┐  ┌───────┐  │
│  │                                 │  │       │  │
│  │  Title Text (max 60 chars)      │  │ Logo/ │  │
│  │  ───────────────────            │  │ Visual│  │
│  │  Subtitle (max 100 chars)       │  │       │  │
│  │                                 │  │       │  │
│  │  author / site name             │  └───────┘  │
│  └─────────────────────────────────┘             │
│                                                  │
└──────────────────────────────────────────────────┘
  1200 x 630 px

Design Rules

Text

RuleValue
Title font size48-64px
Subtitle font size20-28px
Max title length60 characters (gets truncated on some platforms)
Max subtitle length100 characters
Line height1.2-1.3 for titles
Font weightBold/Black for title, Regular for subtitle
Text contrastWCAG AA minimum (4.5:1 ratio)

Safe Zones

┌──────────────────────────────────────────────────┐
│  ┌──────────────────────────────────────────────┐│
│  │ 40px padding from all edges                  ││
│  │                                              ││
│  │  Content lives here                          ││
│  │                                              ││
│  │                                              ││
│  └──────────────────────────────────────────────┘│
└──────────────────────────────────────────────────┘
  • 40px minimum padding from all edges
  • Some platforms crop edges or add rounded corners
  • Never put critical text in the outer 5%

Colors

Background TypeWhen to Use
Solid brand colorConsistent series, corporate
GradientModern, eye-catching
Photo with overlayBlog posts, editorial
Dark backgroundBetter contrast, stands out in feeds

Dark backgrounds outperform light in social feeds — most feeds have white/light backgrounds, so dark OG images pop.

Templates by Content Type

Blog Post

infsh app run infsh/html-to-image --input '{
  "html": "<div style=\"width:1200px;height:630px;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;padding:60px;font-family:system-ui,sans-serif;color:white\"><div style=\"flex:1\"><p style=\"font-size:18px;text-transform:uppercase;letter-spacing:2px;opacity:0.8;margin:0\">Engineering Blog</p><h1 style=\"font-size:52px;margin:16px 0 0;line-height:1.2;font-weight:800\">How We Reduced Build Times by 80%</h1><p style=\"font-size:22px;opacity:0.9;margin-top:16px\">A deep dive into our CI/CD optimization</p></div></div>"
}'

Product/Launch Announcement

infsh app run infsh/html-to-image --input '{
  "html": "<div style=\"width:1200px;height:630px;background:#0f0f0f;display:flex;align-items:center;justify-content:center;font-family:system-ui;color:white;text-align:center\"><div><p style=\"font-size:20px;color:#22c55e;text-transform:uppercase;letter-spacing:3px\">Now Available</p><h1 style=\"font-size:64px;margin:12px 0;font-weight:900\">DataFlow 2.0</h1><p style=\"font-size:24px;opacity:0.7\">Automated reports. Zero configuration.</p></div></div>"
}'

Tutorial/How-To

infsh app run infsh/html-to-image --input '{
  "html": "<div style=\"width:1200px;height:630px;background:linear-gradient(to right,#1a1a2e,#16213e);display:flex;align-items:center;padding:60px;font-family:system-ui;color:white\"><div><div style=\"display:inline-block;background:#e74c3c;color:white;padding:8px 16px;border-radius:4px;font-size:16px;font-weight:bold;margin-bottom:16px\">TUTORIAL</div><h1 style=\"font-size:48px;margin:0;line-height:1.2\">Build a REST API in 10 Minutes with Node.js</h1><p style=\"font-size:20px;opacity:0.7;margin-top:16px\">Step-by-step guide with code examples</p></div></div>"
}'

AI-Generated Visual OG

# When you want a striking visual instead of text-based
infsh app run falai/flux-dev-lora --input '{
  "prompt": "clean professional social sharing card, dark gradient background, abstract geometric shapes, modern tech aesthetic, minimal, no text, 1200x630 equivalent aspect ratio",
  "width": 1200,
  "height": 630
}'

OG Meta Tags Reference

<!-- Essential (Facebook, LinkedIn, Discord, Slack) -->
<meta property="og:title" content="Title here (60 chars max)" />
<meta property="og:description" content="Description (155 chars max)" />
<meta property="og:image" content="https://yoursite.com/og-image.png" />
<meta property="og:url" content="https://yoursite.com/page" />
<meta property="og:type" content="article" />

<!-- Twitter/X specific -->
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:title" content="Title here" />
<meta name="twitter:description" content="Description" />
<meta name="twitter:image" content="https://yoursite.com/og-image.png" />

<!-- Image dimensions (optional but recommended) -->
<meta property="og:image:width" content="1200" />
<meta property="og:image:height" content="630" />

Twitter Card Types

Card TypeImage SizeUse When
summary800 x 418 (small thumbnail)Short updates, links
summary_large_image1200 x 628 (full width)Blog posts, articles, announcements

Always use summary_large_image unless you have a specific reason not to — the large image gets significantly more clicks.

Consistency System

For a blog or site with many pages, create a template system:

ElementKeep ConsistentVary
Background styleSame gradient or brand colors
Font familySame font
LayoutSame positioning
Logo/brandingSame placement (corner)
Category badgeSame styleColor per category
Title textSame size/weightContent changes

Testing OG Images

ToolURL
Facebook Debuggerdevelopers.facebook.com/tools/debug/
Twitter Card Validatorcards-dev.twitter.com/validator
LinkedIn Post Inspectorlinkedin.com/post-inspector/
OpenGraph.xyzopengraph.xyz
# Research OG debugging tools
infsh app run tavily/search-assistant --input '{
  "query": "open graph image debugger preview tool test og:image"
}'

Common Mistakes

MistakeProblemFix
No OG image at allPlatform shows random page element or nothingAlways set og:image
Text too smallUnreadable on mobile previewsTitle minimum 48px at 1200px width
Light backgroundGets lost in white/light feedsUse dark or saturated backgrounds
Too much textCluttered, overwhelmingMax: title + subtitle + brand
Image too large (>5MB)Some platforms won't load itOptimize to under 1MB ideally
No safe zone paddingText cropped on some platforms40px padding from all edges
Different image per platformInconsistent sharing experienceUse 1200x630 for everything
HTTP image URLMany platforms require HTTPSAlways serve OG images over HTTPS
Relative image pathWon't resolve when sharedUse full absolute URL

Related Skills

npx skills add inferencesh/skills@ai-image-generation
npx skills add inferencesh/skills@landing-page-design
npx skills add inferencesh/skills@prompt-engineering

Browse all apps: infsh app list