ads-publish について
ads-publishは、Zernio経由で画像や動画の広告素材を接続済みのソーシャルネットワークへ投稿するスキルです。素材の比率に応じたプラットフォーム判定、キャンペーン概要からのキャプション抽出、結果レポートに対応します。
主な機能
- 01アスペクト比による素材の振り分け
- 02概要からのプラットフォーム別キャプション抽出
- 03投稿とスケジュールの計画
- 04ドライランとプラットフォーム指定
- 05JSON形式の結果レポート
活用シーン
- 01複数のソーシャルネットワークへの素材投稿予約
- 02投稿前の素材とキャプションの割り当て確認
- 03投稿の成功・失敗状況の確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ hainrixz/ claude-ads --skill ads-publishインストール後、Claude Code で/ads-publishを入力して読み込まれたか確認します。
詳細
/ads publish — Zernio 経由でソーシャルメディアにクリエイティブを投稿する
料金: Zernio は接続したソーシャルアカウントの最初の 2 つまで無料です(クレジットカード不要)。 Instagram と Facebook に投稿する個人ユーザーなら、ずっと月額 $0 です。 追加アカウントには、代理店向けに 1 アカウントあたり月額 $1~$6 がかかります(下記「料金プラン」を参照)。 X/Twitter API の料金は無料プランでも従量課金で別途発生します。それ以外の 13 のネットワークは、アカウントの上限数まで完全に含まれています。
使うタイミング
/ads generate(画像広告クリエイティブ)または /ads photoshoot(商品撮影)によって ad-assets/ ディレクトリが作成された後、/ads publish を使うと、そのファイルを Zernio に接続したすべてのソーシャルネットワークに投稿としてスケジュールできます。対応ネットワーク:Twitter/X · Instagram · Facebook · LinkedIn · TikTok · YouTube · Pinterest · Reddit · Bluesky · Threads · Google Business · Telegram · Snapchat · WhatsApp · Discord。
手順
- 前提条件を確認します。 以下を確認します。
ZERNIO_API_KEYが設定されている(下記「認証の設定」を参照)。ad-assets/が存在する、またはユーザーが--assets <dir>を指定している。- 任意で、
campaign-brief.mdが存在する(スクリプトはそこからプラットフォームごとのキャプションを抽出します)。
- アセットを確認します。 アセットディレクトリ内の画像と動画を一覧表示します。それぞれについて、ファイル名のアスペクト比のヒント(
9x16、1x1、16x9、1.91x1)から対応するプラットフォームを推測します。 - 投稿計画を立てます。 アセットごとに、投稿先のプラットフォーム、キャプションの長さ、投稿予定時刻を表にしてユーザーに提示します。Zernio を呼び出す前にユーザーに確認します(
--dry-runの場合を除く)。投稿先のプラットフォーム一覧にtwitterまたはxが含まれる場合は、投稿前に X/Twitter の従量課金に関する注意事項を伝えます。これらの投稿には、Zernio のプラン料金とは別に Twitter API の従量課金が発生します。それ以外の 13 のネットワークは、アカウントの上限数まで無料です。 scripts/zernio_publish.pyを呼び出します。 Bash を使い、ユーザーが選択したプラットフォームと任意の--scheduleフラグを指定します。- 結果を報告します。 JSON 出力を読み取り、投稿に成功したものとエラーになったものを提示し、レート制限や認証の問題があれば明確に伝えます。すぐに投稿せずスケジュールしたものがある場合は、投稿が公開される時刻をユーザーに知らせます。
認証の設定
- https://zernio.com で登録します — 最初の 2 アカウントは常に無料で、クレジットカードも不要です。https://zernio.com/pricing で確認できます。
- ダッシュボード → API Keys → キーを作成します(
sk_<64-hex-chars>)。キーは一度だけ表示されます。 - 投稿先にする各ソーシャルネットワークについて、Zernio のダッシュボードで
/connect/<platform>の OAuth フローを完了します。ネットワークごとの OAuth は Zernio が処理するため、Twitter/Meta/LinkedIn のトークンを自分で管理する必要はありません。接続したソーシャルネットワークは、それぞれ無料枠の「アカウント」1 つとして数えられます。 - エクスポートします。
export ZERNIO_API_KEY='sk_...'
料金プラン
| 接続アカウント数 | 1 アカウントあたりの月額料金 |
|---|---|
| 最初の 2 つ | $0(ずっと無料) |
| 3~10 | $6 |
| 11~100 | $3 |
| 101~2,000 | $1 |
| 2,001 以上 | 個別見積もり |
重要な注意事項: X/Twitter API の料金は、Zernio のプランに関係なく、X が公表している料金に基づいて従量課金されます。それ以外の 13 のプラットフォーム(Instagram、Facebook、LinkedIn、TikTok、YouTube、Pinterest、Reddit、Bluesky、Threads、Google Business、Telegram、Snapchat、WhatsApp、Discord)は、すべて含まれています。
Zernio を使わない場合(3 アカウント以上の代替手段)
無料の 2 アカウント枠で、一般的な個人ユーザーには十分です。ソーシャルアカウントを 3 つ以上管理している(代理店向けの構成)場合に、Zernio のアカウントごとの料金を避けたいなら、/ads publish --dry-run を実行して計画(どのアセットを、どのキャプションで、どのネットワークに投稿するか)を取得し、各プラットフォーム標準のスケジューラーを使って手動で投稿します。
- Meta Business Suite:無料で、Facebook と Instagram の投稿をスケジュールできます。
- LinkedIn Page Posts → 投稿作成画面からスケジュールします。
- TikTok Business Suite:オーガニック投稿を無料でスケジュールできます。
- Buffer / Hootsuite の無料プラン:機能に制限はありますが、利用できます。
同じ計画を継続費用ゼロで実行できます。投稿ごとの操作は少し増えます。
アセットとプラットフォームの対応
| 項目 | プラットフォーム |
|---|---|
| 9:16(縦向き) | Instagram Stories/Reels、TikTok、YouTube Shorts、Snapchat、Facebook Stories |
| 1:1(正方形) | Instagram Feed、Facebook Feed、LinkedIn、Pinterest、X/Twitter |
| 16:9(横向き) | YouTube、X/Twitter、LinkedIn、Facebook |
| 1.91:1(横長) | LinkedIn Single Image、Facebook link previews |
スクリプトはファイル名のアスペクト比トークン(例:hero_9x16.png、
product_1x1.jpg)を読み取り、プラットフォームを決定します。--platforms <list> で上書きできます。
briefからのキャプション抽出
campaign-brief.md が存在する場合、スクリプトは
## Instagram caption、## TikTok caption などのセクションを解析し、それぞれを該当プラットフォームの
キャプションとして使用します。## Default caption セクションは、プラットフォームごとの
キャプションがない場合のフォールバックとして使用されます。
出力
/ads publish は、次の内容を含む JSON レポート(publish-results.json)を書き込みます。
{
"tool": "zernio_publish",
"dry_run": false,
"assets_found": 5,
"captions_parsed": ["instagram", "facebook", "linkedin", "default"],
"planned": [
{"asset": "ad-assets/hero_9x16.png", "platform": "instagram", "scheduled_at": "..."}
],
"published": [
{"asset": "...", "platform": "instagram", "post_id": "...", "status": "scheduled"}
],
"errors": []
}
これを使って、投稿されたものと投稿されなかったものを確認してください。
品質ゲート
--yesが渡されていない限り、ユーザーの明示的な確認なしに投稿しないでください。--scheduleが過去の日時の場合は、処理を拒否し、未来の日時を指定するよう求めてください。- キャプションがプラットフォームの上限(X:280、LinkedIn:3000 など)を超える場合は、 投稿前に警告を表示してください。
- アセットごとに、
/ads publishの1回の実行で投稿できるプラットフォーム数はデフォルトで最大5件です (大規模なディレクトリでZernioのクォータを誤って消費するのを防ぐため)。