Communitygithub.com

Orshot-HQ/orshot-openclaw

AIエージェント向けソーシャルメディアスケジューラー&自動化ツール。投稿のレンダリング、公開、スケジュール設定、分析を一括で実行できます。

orshot-openclaw とは?

Orshot OpenClawは、AIエージェントがテンプレートから画像、カルーセル、動画をレンダリングし、X(Twitter)、Instagram、LinkedIn、TikTok、YouTubeなど13以上のプラットフォームに同時投稿できるスキルです。 このスキルの最大の特徴は、レンダリングから公開、スケジュール設定、分析までを単一のAPI呼び出しで完結できる点です。週間コンテンツカレンダーの作成、クロスプラットフォーム投稿、下書き管理、最適な投稿時間の分析、結果から学習するエージェント構築までをサポートします。 MCPサーバー経由(OAuth認証、キー不要)とREST API(ヘッドレスジョブ用)の2つの接続方法を提供。OpenClaw、Claude Code、Cursorなど主要なMCPクライアントで利用可能です。 重要なセーフティルールとして、明示的な承認なしに公開せず、下書き状態をデフォルトとします。また、アカウント接続には有料プラン(1アカウントあたり月額$12)が必要で、無料プランではアカウント接続ができない点を理解した上で利用する必要があります。

対応✓Claude Code~Codex CLI✓Cursor
npx skills add https://github.com/Orshot-HQ/orshot-openclaw/tree/HEAD/skills/orshot-social-media-scheduler

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

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

ドキュメント

Orshot ソーシャルメディアスケジューラー:レンダリング、投稿、スケジュール、学習

Orshotは、テンプレートから画像、カルーセル、動画をレンダリングし、13以上のプラットフォームに一度のリクエストで投稿します。また、下書きの保持、スケジュール設定、編集、分析レポートの提供も行うため、エージェントは追加ツールなしでコンテンツカレンダー全体を管理できます。公開メディアURLを添付することもできるため、他のツールで作成した画像でも利用可能です。

対応プラットフォーム:X(Twitter)、Instagram、Facebook、LinkedIn(プロフィールとページ)、TikTok、YouTube、Pinterest、Reddit、Bluesky、Threads、Telegram、Snapchat、Google Business。

ステップ1:Orshot MCPサーバーに接続

これが全ての前提です。MCPルートはキーの貼り付けが不要で、全ての投稿をビジュアルカードで表示し、エージェントから利用する際はこちらを使用します。

openclaw mcp add orshot --url https://mcp.orshot.com/mcp --transport streamable-http --auth oauth
openclaw mcp login orshot

Claude Code:claude mcp add --transport http orshot https://mcp.orshot.com/mcp。他のMCPクライアントも同じURLを使用します。

ヘッドレスジョブのみ(cron、n8n、サーバースクリプト):export ORSHOT_API_KEY=... を設定し、Authorization: Bearer $ORSHOT_API_KEY でRESTを呼び出します。

ステップ2:接続済みアカウントを確認

orshot_list_social_accounts            # MCP
GET /v1/social/accounts?include_health=true   # REST
# [{ "id": 1, "platform": "linkedin", "account_name": "Acme", "account_username": "acme", "health": { "status": "ok" } }]

アカウントがリストされていれば投稿できます。各アカウントの数値 id と、再接続が必要なことを示す health フラグに注意してください。

リストが空の場合、人間がまだアカウントを接続する必要があります。 APIはアカウントを接続できません。ユーザーをOrshotダッシュボード(ワークスペース > ソーシャル > アカウント:https://orshot.com/dashboard のワークスペースのソーシャルセクション)に誘導してください。各プラットフォームは独自のOAuthログインで接続します。ソーシャルパブリッシングは有料プランのアドオンで、接続アカウント1つあたり月額$12、投稿ごとの追加クレジットはありません。無料プランではアカウントを接続できません。プランとアドオンは https://orshot.com/pricing をご覧ください。これを一度だけ簡潔に伝え、ユーザーが戻ってくるのを待ってください。次の orshot_list_social_accounts 呼び出しで新しいアカウントが表示されます。

コアワークフロー

  1. 接続し、アカウントをリストする(上記)。
  2. メディアを決定する。 テンプレートからレンダリングする(templateId + modifications)か、既存の media_url を使用する。
  3. まず下書きを作成する。 ユーザーが明確に今すぐ投稿すると言わない限り、status: "draft" で投稿を作成する。
  4. ユーザーに表示する プレビュー、キャプション、アカウント、時間。MCP経由では orshot_get_social_post がビジュアルカードをレンダリングする。
  5. 変更点を編集 し(orshot_update_social_post)、公開 する(orshot_publish_social_draft)か スケジュール する(status: "scheduled" + scheduled_for)。
  6. 非同期プラットフォーム(Instagram、TikTok)の完了後、ステータスを確認する: processing が published または failed になる。
  7. 1日後に分析を読み取り、次のスケジュール前に最適な投稿時間のインサイトを確認する。

MCPツールマップ

ジョブツール
アカウント一覧orshot_list_social_accounts
レンダリング+投稿を1回でorshot_render_template(publish 付き)
メディアURLを投稿orshot_publish_social_post
投稿の一覧/表示orshot_list_social_posts、orshot_get_social_post(ビジュアルカード)
編集/送信/破棄orshot_update_social_post、orshot_publish_social_draft、orshot_discard_social_post
分析orshot_get_social_analytics、orshot_get_social_analytics_daily、orshot_get_social_followers、orshot_get_social_post_analytics
最適な投稿時間orshot_get_best_time_to_post

MCPサーバーは、明示的な実行許可がない限り、デフォルトで status: "draft" になります。このまま維持してください。

必須の呼び出し

1回の呼び出しでレンダリングと投稿(または下書き、スケジュール)

MCP経由では、同じ publish オブジェクトを指定して orshot_render_template を使用します。

await fetch("https://api.orshot.com/v1/studio/render", {
  method: "POST",
  headers: { "Content-Type": "application/json", Authorization: `Bearer ${apiKey}` },
  body: JSON.stringify({
    templateId: 123,
    modifications: { headline: "出荷日", stat: "2,000 レンダリング" },
    response: { type: "url", format: "png" },
    publish: {
      accounts: [1, 3],
      content: "最大5000文字のキャプション",
      status: "scheduled",               // published | draft | scheduled
      scheduled_for: "2026-11-01T14:00:00Z",
      timezone: "America/New_York",
      platformOptions: {
        "3": { firstComment: "https://orshot.com", disableLinkPreview: true }, // LinkedIn
      },
    },
  }),
});

マルチページテンプレートは、対応プラットフォームでカルーセルとして公開されます。レスポンスには data.content(レンダリング結果)と、アカウントごとのエントリを含む publish[] が含まれます。

既存のメディアを投稿する

orshot_publish_social_post、または:

curl -s -X POST https://api.orshot.com/v1/social/publish \
  -H "Authorization: Bearer $ORSHOT_API_KEY" -H "Content-Type: application/json" \
  -d '{
    "accounts": [2],
    "content": "誰も教えてくれない6つのこと",
    "media_urls": ["https://.../1.png", "https://.../2.png", "https://.../3.png"],
    "status": "draft",
    "tiktokSettings": { "autoAddMusic": true }
  }'
フィールド備考
accounts必須、数値ID
contentキャプション、最大5000文字
media_url / media_urls1つまたは複数の公開URL。複数 = カルーセル
statuspublished(RESTのデフォルト)、draft、scheduled
scheduled_forISO 8601形式、少なくとも60秒先、scheduled の場合のみ
timezoneIANAタイムゾーン名
platformOptionsアカウントIDごと:LinkedIn firstComment、disableLinkPreview;Pinterest title、link
tiktokSettings.autoAddMusicルートレベル、TikTok写真カルーセル

レスポンス:{ post_id, status, platforms: [{ account_id, platform, status, url, error, action }] }。status は published、scheduled、drafted、partial、processing、failed のいずれかです。action: "reconnect" は、人間がダッシュボードでそのアカウントを再接続する必要があることを意味します。

保留中の投稿を管理する

GET    /v1/social/posts?status=draft&limit=25        # 他にも scheduled | published | processing | partial | failed、platform=、account_id=、cursor=
GET    /v1/social/posts/:id
PATCH  /v1/social/posts/:id                          # content、media_urls、accounts、status(draft | scheduled)、scheduled_for、timezone、platformOptions
POST   /v1/social/posts/:id/publish                  # 保留中の投稿を今すぐ送信
POST   /v1/social/posts/:id/sync                     # プロバイダーステータスを更新
DELETE /v1/social/posts/:id                          # 破棄。いずれかのアカウントで公開された後は拒否されます

各投稿の is_editable と is_discardable は、まだ何が許可されているかを示します。編集は再レンダリングを行わず、コストもかかりません。

分析

GET /v1/social/analytics?platform=linkedin&source=orshot      # 投稿ごと:インプレッション、エンゲージメント、クリック、率;アカウントごとのフォロワー
GET /v1/social/analytics/daily?from=2026-10-01&to=2026-10-21  # 日ごと
GET /v1/social/analytics/accounts?from=2026-09-01             # アカウントごとのフォロワー履歴と成長
GET /v1/social/analytics/insights?platform=instagram          # 最適な曜日・時間帯(UTC)、頻度対エンゲージメント、減衰

source は all、orshot、external(プラットフォームから同期された投稿。初日から履歴あり)です。refresh=1 でキャッシュをバイパスします。分析リクエストは1分あたり10回までです。インサイトには投稿履歴が必要なため、新しいアカウントでは空のスロットが返されます。

一般的なパターン

パターン1:下書きとしての週間コンテンツカレンダー

1つのテンプレートから異なる modifications で7つの投稿をレンダリングし、それぞれを status: "draft" で作成し、orshot_list_social_posts でユーザーに一覧表示し、承認されたものを公開またはスケジュールします。キャプションや時間の変更ごとに1回の更新で済みます。

パターン2:最適な投稿時間にスケジュール

プラットフォームの orshot_get_best_time_to_post を呼び出し、トップスロット(UTC)を取得し、ユーザーのタイムゾーンに変換し、scheduled_for として渡します。スロットが空の場合は、自分で時間を発明するのではなく、ユーザーに時間を尋ねます。

パターン3:クロス投稿、全プラットフォーム、プラットフォーム固有の追加機能

全てのIDを含む1つの accounts 配列。リンクを platformOptions[<linkedin id>].firstComment に、title と link をPinterest用に、tiktokSettings.autoAddMusic をTikTok写真投稿用に設定します。content は対象プラットフォームの最短制限内に収めてください(Xが最も厳しいです)。

パターン4:マルチページテンプレートからのカルーセル

pageN@ キーと publish を追加して、5〜10ページのテンプレートをレンダリングします。Orshotが全てのページをアップロードし、Instagram、LinkedIn、TikTok(フォトモード)、Threads、Blueskyでカルーセルとして投稿します。orshot-carousel スキルには6スライドのフォーミュラがあります。

パターン5:結果から学習する

毎日:source: "orshot" で orshot_get_social_analytics を呼び出し、エンゲージメントで並べ替え、上位4分の1のフックスタイルを保持し、下位4分の1を削除し、来週の下書きを作成します。何を変更したかを記録し、ユーザーがログを読めるようにします。

パターン6:障害からの回復

partial または failed で action: "reconnect" の場合:ユーザーにダッシュボード(ワークスペース > ソーシャル > アカウント)でどのアカウントを再接続すべきかを伝え、投稿を下書きとして保持し、ユーザーの確認後に orshot_publish_social_draft で再試行します。その他の error:そのまま表示し、盲目的に再試行しないでください。

セーフティルール

  • その投稿に対する明示的な実行許可なしに公開しないでください。「準備」「下書き」「見せて」は status: "draft" を意味します。
  • 送信前に、正確なアカウント(プラットフォームとユーザー名)、キャプション、時間を繰り返し確認してください。
  • ユーザーが破棄を依頼していない投稿を破棄しないでください。
  • ユーザーがさらにアカウントを接続することを提案する前に、1アカウントあたり月額$12のアドオンについて一度だけ言及してください。
  • RESTでは、APIキーを環境変数に保持してください。決して表示しないでください。

よくある落とし穴

  1. アカウントIDは数値で、アカウントごとに異なります。 2つのLinkedInアカウントには2つのIDがあります。プラットフォーム名ではなくIDで公開してください。
  2. PDFはどこにも投稿できません。 png、jpg、webp(または動画プラットフォームの場合は mp4)でレンダリングしてください。
  3. TikTokとYouTubeは動画を受け付け、単一画像は受け付けません。 TikTokは写真カルーセル(複数画像)を受け付けます。Google Businessは画像のみを受け付けます。
  4. scheduled_for が60秒未満の場合は拒否され、draft または published との併用は無効です。
  5. InstagramとTikTokは非同期で公開されます。 processing は失敗ではありません。報告する前に同期するか、投稿を再読み込みしてください。
  6. 公開に失敗してもレンダリングは失敗しません。 レンダリングが成功しても publish[] を読んでください。
  7. メディアURLは公開されている必要があります。 OrshotのレンダリングURLは公開されています。署名付きURLやlocalhostのURLは公開されていません。
  8. 5000文字を超えるキャプションは拒否されます。 プラットフォームの制限はさらに低く、Xが最も短いです。
  9. 分析は全エンドポイントで1分あたり10リクエストに制限されています。
  10. 無料プランのワークスペースはアカウントを接続できません。 /social/* での403とプランメッセージは、認証バグではなく課金状態を示します。https://orshot.com/pricing を案内してください。

クイックリファレンス

openclaw mcp add orshot --url https://mcp.orshot.com/mcp --transport streamable-http --auth oauth && openclaw mcp login orshot

GET    /v1/social/accounts?include_health=true   # orshot_list_social_accounts
POST   /v1/studio/render            # + publish: { accounts, content, status, scheduled_for, timezone, platformOptions, tiktokSettings }   orshot_render_template
POST   /v1/social/publish           # { accounts, content, media_url | media_urls, status, scheduled_for, timezone, platformOptions, tiktokSettings }   orshot_publish_social_post
GET    /v1/social/posts?status=draft             # orshot_list_social_posts
GET    /v1/social/posts/:id                      # orshot_get_social_post
PATCH  /v1/social/posts/:id                      # orshot_update_social_post
POST   /v1/social/posts/:id/publish              # orshot_publish_social_draft
POST   /v1/social/posts/:id/sync
DELETE /v1/social/posts/:id                      # orshot_discard_social_post
GET    /v1/social/analytics                      # orshot_get_social_analytics
GET    /v1/social/analytics/daily?from=&to=      # orshot_get_social_analytics_daily
GET    /v1/social/analytics/accounts?from=       # orshot_get_social_followers
GET    /v1/social/analytics/insights?platform=   # orshot_get_best_time_to_post

ドキュメント:https://orshot.com/docs/publish/introduction.md、https://orshot.com/docs/api-reference/social-publish.md、https://orshot.com/docs/api-reference/social-posts-list.md。レンダリングの詳細は orshot スキルにあります。

Individual skills in this repo

This repo contains 2 individual skills — each has its own dedicated page.

Orshot-HQ/orshot-openclaw

Automate video, PDF and image generation from templates and social media posting. Image generation, PDF generation and video generation from your templates with the Orshot API, over the hosted Orshot MCP server (OAuth, no key) or REST. Use to generate images, OG images, social media posts, carousels, thumbnails, ad creatives, banners, certificates, invoices and PDF documents from a template, render video with animations and audio, resize one design to every social format, batch render personalized images, take tweet screenshots and website screenshots, and schedule and post renders to Instagram, LinkedIn, X, TikTok, Facebook, Pinterest, Threads, Bluesky, Reddit, YouTube, Telegram, Snapchat and Google Business. Load for any Orshot task; it carries the gotchas (parameterId keys, page1@ prefixes, async video) that otherwise break renders.

Orshot-HQ/orshot-openclaw

Social 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.

関連スキル