Community画像github.com

SeaXen/og-image-design

Open Graphおよびソーシャル共有画像のデザインスキル。プラットフォーム別の仕様、テキスト配置、ブランディングに対応。OGタグ、Twitterカード、LinkedInプレビュー、動的生成をカバー。

og-image-design とは?

このスキルは、Open Graph(OG)画像やソーシャル共有カードを効率的にデザイン・生成するための包括的なガイドです。開発者やコンテンツクリエイターは、Facebook、Twitter/X、LinkedIn、Discord、Slackなど各プラットフォームの正確な画像仕様(サイズ、アスペクト比、ファイル形式)に従い、一貫性のある魅力的な共有画像を作成できます。さらに、[inference.sh](https://inference.sh) のCLIツールである `belt` を使用し、HTML-to-image やAI画像生成(Fluxなど)を組み合わせて動的にOG画像を生成する方法を習得できます。スキルには、テキスト配置の黄金レイアウト、安全ゾーン、配色ルール、ブログ記事や製品発表などコンテンツタイプ別のテンプレート、OGメタタグの完全なリファレンス、テストツール、よくあるミスの回避策が含まれています。主に Claude Code、Cursor、Codex などのAIエージェント環境で動作し、`npx skills add belt-sh/cli` でインストール後、`belt` コマンドを使って画像を生成します。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/SeaXen/agentskills/tree/HEAD/library/101-skills-superpowers/skills/og-image-design

Installed? Explore more 画像 skills: steipete/songsee, affaan-m/frontend-design, mattpocock/improve-codebase-architecture · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

belt CLIスキルのインストール: npx skills add belt-sh/cli

OG画像デザイン

ソーシャル共有画像(Open Graph)を inference.sh CLI で作成します。

クイックスタート

inference.sh CLI(belt)が必要です。インストール手順

belt login

# HTML-to-image でOG画像を生成
belt 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\">ビルド時間を80%削減した方法</h1><p style=\"font-size:24px;opacity:0.8;margin-top:20px\">engineering.yourcompany.com</p></div></div>"
}'

プラットフォーム仕様

プラットフォーム寸法アスペクト比ファイルサイズ形式
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:1—JPG, PNG
iMessage1200 x 630 px1.91:1—JPG, PNG

汎用的な安全策: 1200 x 630 px、PNGまたはJPG、5 MB未満。

黄金レイアウト

┌──────────────────────────────────────────────────┐
│                                                  │
│  ┌─────────────────────────────────┐  ┌───────┐  │
│  │                                 │  │       │  │
│  │  タイトルテキスト(最大60文字)    │  │ ロゴ/ │  │
│  │  ───────────────────            │  │ ビジュアル│
│  │  サブタイトル(最大100文字)      │  │       │  │
│  │                                 │  │       │  │
│  │  作成者 / サイト名              │  └───────┘  │
│  └─────────────────────────────────┘             │
│                                                  │
└──────────────────────────────────────────────────┘
  1200 x 630 px

デザインルール

テキスト

ルール値
タイトルのフォントサイズ48-64px
サブタイトルのフォントサイズ20-28px
タイトルの最大長60文字(一部のプラットフォームで切り捨て)
サブタイトルの最大長100文字
行間タイトルは1.2-1.3
フォントウェイトタイトルはBold/Black、サブタイトルはRegular
テキストのコントラストWCAG AA 最低基準(4.5:1)

安全ゾーン

┌──────────────────────────────────────────────────┐
│  ┌──────────────────────────────────────────────┐│
│  │ すべての端から40pxのパディング              ││
│  │                                              ││
│  │ コンテンツはここに配置                      ││
│  │                                              ││
│  │                                              ││
│  └──────────────────────────────────────────────┘│
└──────────────────────────────────────────────────┘
  • すべての端から最低40pxのパディング
  • 一部のプラットフォームは端をトリミングしたり角丸を追加
  • 重要なテキストは外側5%に配置しない

色

背景タイプ使用タイミング
単一ブランドカラー一貫性のあるシリーズ、コーポレート
グラデーションモダン、目を引く
写真にオーバーレイブログ記事、エディトリアル
暗めの背景コントラストが高く、フィードで目立つ

暗い背景はソーシャルフィードで明るい背景よりも優れています — ほとんどのフィードは白/明るい背景なので、暗いOG画像が引き立ちます。

コンテンツタイプ別テンプレート

ブログ記事

belt 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\">エンジニアリングブログ</p><h1 style=\"font-size:52px;margin:16px 0 0;line-height:1.2;font-weight:800\">ビルド時間を80%削減した方法</h1><p style=\"font-size:22px;opacity:0.9;margin-top:16px\">CI/CD最適化の詳細な解説</p></div></div>"
}'

製品/ローンチ告知

belt 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\">ただいま利用可能</p><h1 style=\"font-size:64px;margin:12px 0;font-weight:900\">DataFlow 2.0</h1><p style=\"font-size:24px;opacity:0.7\">自動レポート。設定不要。</p></div></div>"
}'

チュートリアル/ハウツー

belt 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\">チュートリアル</div><h1 style=\"font-size:48px;margin:0;line-height:1.2\">Node.jsで10分でREST APIを構築する</h1><p style=\"font-size:20px;opacity:0.7;margin-top:16px\">コード例付きステップバイステップガイド</p></div></div>"
}'

AI生成ビジュアルOG

# テキストベースでなく印象的なビジュアルが必要な場合
belt 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メタタグリファレンス

<!-- 必須 (Facebook、LinkedIn、Discord、Slack) -->
<meta property="og:title" content="ここにタイトル(最大60文字)" />
<meta property="og:description" content="説明文(最大155文字)" />
<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 固有 -->
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:title" content="ここにタイトル" />
<meta name="twitter:description" content="説明文" />
<meta name="twitter:image" content="https://yoursite.com/og-image.png" />

<!-- 画像寸法(オプションだが推奨) -->
<meta property="og:image:width" content="1200" />
<meta property="og:image:height" content="630" />

Twitterカードタイプ

カードタイプ画像サイズ使用タイミング
summary800 x 418(小サムネイル)短い更新、リンク
summary_large_image1200 x 628(全幅)ブログ記事、記事、告知

特別な理由がない限り、常に summary_large_image を使用 — 大きな画像の方がクリック数が大幅に増加します。

一貫性システム

多数のページがあるブログやサイトの場合は、テンプレートシステムを作成します:

要素一貫性を保つ変更する
背景スタイル同じグラデーションまたはブランドカラー—
フォントファミリー同じフォント—
レイアウト同じ配置—
ロゴ/ブランディング同じ配置(隅)—
カテゴリバッジ同じスタイルカテゴリごとに色を変更
タイトルテキスト同じサイズ/ウェイトコンテンツの変更

OG画像のテスト

ツールURL
Facebookデバッガーdevelopers.facebook.com/tools/debug/
Twitterカードバリデーターcards-dev.twitter.com/validator
LinkedIn投稿インスペクターlinkedin.com/post-inspector/
OpenGraph.xyzopengraph.xyz
# OGデバッグツールの調査
belt app run tavily/search-assistant --input '{
  "query": "open graph image debugger preview tool test og:image"
}'

よくある間違い

間違い問題修正方法
OG画像がないプラットフォームがランダムなページ要素または何も表示しない常にog:imageを設定
テキストが小さすぎるモバイルプレビューで読めない1200px幅でタイトルは最低48px
明るい背景白/明るいフィードで埋もれる暗いまたは彩度の高い背景を使用
テキストが多すぎるごちゃごちゃして圧倒される最大: タイトル + サブタイトル + ブランド
画像が大きすぎる(>5MB)一部のプラットフォームが読み込まない理想的には1MB未満に最適化
安全ゾーンのパディングなし一部のプラットフォームでテキストが切り取られるすべての端から40pxパディング
プラットフォームごとに異なる画像一貫性のない共有体験すべてに1200x630を使用
HTTP画像URL多くのプラットフォームがHTTPSを必要とするOG画像は常にHTTPSで提供
相対画像パス共有時に解決されない完全な絶対URLを使用

関連スキル

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

すべてのアプリを表示: belt app list

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

関連スキル