ANTIGRAVITY LABEN
記事一覧/Agents & Manager
Agents & Manager/2026-05-03中級

Antigravity で Instagram・TikTok に自動投稿できる? — SNS マーケティング自動化パイプラインの実践

Antigravity エージェントを使って Instagram・TikTok に自動投稿するパイプラインを実際に構築します。Meta Graph API と TikTok Content Posting API の設定からエージェント実装まで、動く形でまとめました。

InstagramTikTokSNS自動化エージェント67API連携2マーケティング自動化2

「Antigravity って SNS に自動投稿できますか?」という質問を、個人開発者の方からよくいただきます。アプリをリリースしたばかりで宣伝したいけれど、毎日投稿する時間が取れありません。そういうジレンマ、私も身に覚えがあります。

結論からお伝えすると、できます。ただし「完全に自動で運営できる」かというと、API の制約上いくつかの条件があります。ここでは実際に動くパイプラインを作りながら、何が実現できて何が難しいのかを正直にお伝えします。

Instagram への自動投稿 — まず API の制約を把握する

Instagram への自動投稿は、Meta Graph API を通じて行います。ただし、個人アカウントには対応していません。Business または Creator アカウントが必須です。

できること(2026年現在):

  • フィード投稿: 画像・動画ともに可能
  • Reels 投稿: 動画(最大 15 分)の投稿が可能
  • Stories 投稿: 画像・動画の投稿が可能
  • キャプション・ハッシュタグ: すべてプログラムから指定できる

できないこと:

  • 個人アカウントへの投稿: Business/Creator アカウントのみ
  • スケジュール投稿(保存して後で投稿): API 単体では非対応(別途スケジューラが必要)

まず Meta for Developers(developers.facebook.com)でアプリを作成し、以下のアクセス許可を取得してください:

  • instagram_basic
  • instagram_content_publish
  • pages_read_engagement

Antigravity エージェントで投稿スクリプトを作る

環境が整ったら、Antigravity で投稿エージェントを実装しましょう。以下のコードは「画像URLを受け取り、キャプション付きで Instagram フィードに投稿する」最小構成です。

import requests
import os
 
INSTAGRAM_ACCOUNT_ID = os.environ["INSTAGRAM_ACCOUNT_ID"]
ACCESS_TOKEN = os.environ["META_ACCESS_TOKEN"]
 
def post_to_instagram(image_url: str, caption: str) -> dict:
    """
    Instagram フィードに画像を投稿する。
    image_url: 公開アクセス可能な画像URL(Cloudflare R2 や S3 推奨)
    caption: 投稿文・ハッシュタグを含む文字列
    戻り値: {"id": "投稿ID"} または {"error": "エラー内容"}
    """
    base = f"https://graph.facebook.com/v20.0/{INSTAGRAM_ACCOUNT_ID}"
 
    # Step 1: メディアオブジェクトを作成
    media_res = requests.post(
        f"{base}/media",
        params={
            "image_url": image_url,
            "caption": caption,
            "access_token": ACCESS_TOKEN,
        },
    )
    media_res.raise_for_status()
    creation_id = media_res.json()["id"]
 
    # Step 2: 実際に公開する
    publish_res = requests.post(
        f"{base}/media_publish",
        params={
            "creation_id": creation_id,
            "access_token": ACCESS_TOKEN,
        },
    )
    publish_res.raise_for_status()
    return publish_res.json()
 
# 使用例(期待する出力: {"id": "17841400045678901"})
if __name__ == "__main__":
    result = post_to_instagram(
        image_url="https://pub-xxxx.r2.dev/promo-image.jpg",
        caption="新機能をリリースしました! #個人開発 #アプリ開発 #antigravity",
    )
    print(result)

Instagram の API は「メディア作成 → 公開」の 2 ステップになっている点に注意してください。1 回の呼び出しで投稿できないのが最初につまずくポイントです。

Antigravity 上でこのスクリプトを動かす際は、.env ファイルに INSTAGRAM_ACCOUNT_IDMETA_ACCESS_TOKEN を設定しておくと、エージェントが自動的に読み込んでくれます。

TikTok への自動投稿 — Content Posting API の使い方

TikTok には Content Posting API が用意されており、動画・画像(スライドショー形式)の投稿が可能です。ただし 申請制 のため、まず TikTok for Developers(developers.tiktok.com)でアプリを登録し、video.upload スコープの承認を得る必要があります。

import requests
import os
 
TIKTOK_ACCESS_TOKEN = os.environ["TIKTOK_ACCESS_TOKEN"]
 
def post_video_to_tiktok(video_url: str, title: str) -> dict:
    """
    TikTok に動画を投稿する(Direct Post 方式)。
    video_url: 直接アクセス可能な動画URL(.mp4 推奨)
    title: 動画の説明文・ハッシュタグ
    戻り値: {"publish_id": "投稿ID"} または {"error": ...}
    注意: アクセストークンは OAuth 2.0 PKCE フローで取得すること
    """
    headers = {
        "Authorization": f"Bearer {TIKTOK_ACCESS_TOKEN}",
        "Content-Type": "application/json; charset=UTF-8",
    }
 
    payload = {
        "post_info": {
            "title": title,
            "privacy_level": "PUBLIC_TO_EVERYONE",
            "disable_duet": False,
            "disable_comment": False,
            "disable_stitch": False,
        },
        "source_info": {
            "source": "PULL_FROM_URL",
            "video_url": video_url,
        },
    }
 
    res = requests.post(
        "https://open.tiktokapis.com/v2/post/publish/video/init/",
        headers=headers,
        json=payload,
    )
    res.raise_for_status()
    return res.json().get("data", {})

TikTok の API で私が実際につまずいたのは、アクセストークンの有効期限(24 時間)とリフレッシュトークン管理の部分でした。本番運用では、トークンの自動更新ロジックを忘れずに実装してください。

n8n と組み合わせてスケジュール実行する

投稿コードができたら、次はスケジュール実行の仕組みが必要です。Antigravity エージェントを直接スケジュール起動するより、n8n を使ったワークフロー自動化ガイドで紹介している n8n と組み合わせるのが、私のおすすめの方法です。

n8n の構成例:

  1. Cron ノード: 毎朝 8:00 に発火
  2. Function ノード: Antigravity が生成した投稿テキストと画像URLを組み立てる
  3. HTTP Request ノード: 上記の Python スクリプトを呼び出す(または直接 Meta API へリクエスト)

Antigravity のバックグラウンドエージェント機能を活用すると、「今週の投稿テキストを一括生成 → ファイルに保存 → n8n が順に取り出して投稿」という流れもスムーズに作れます。

運用時に注意すること

レート制限: Instagram の Content Publishing API は 1 時間あたり 25 件の投稿制限があります。ほとんどの個人開発者には十分な余裕ですが、テスト中にうっかり上限に当たると 1 時間ロックされます。

アカウントの安全性: 短時間での大量投稿や、スパム的なハッシュタグの繰り返し使用は、アカウント制限のリスクがあります。人間が投稿するのと大きく変わらないペースで運用するのが長持ちのコツです。

画像の著作権: 自動生成した画像を使う場合でも、生成AIの利用規約と商用利用の可否を確認してください。Antigravity が生成したコードから呼び出す画像生成サービスごとに規約が異なります。

トークン管理: アクセストークンをソースコードに直書きしないこと。Antigravity の .antigravityignore や Cloudflare Workers のシークレット、あるいは環境変数で管理してください。

全体を振り返って — 最初の 1 投稿を今週中に

SNS 自動投稿パイプラインは、一度作ってしまえば毎日の投稿作業が大幅に楽になります。まず Instagram の Business アカウントを用意して、テスト投稿が 1 件成功するところまで試してみてください。

TikTok は API 申請に時間がかかるため、エージェントの基本的なワークフロー設計を先に固めておくと、申請が通ったあとすぐに動き出せます。

SNS 自動化の次のステップとして、投稿パフォーマンスの分析や A/B テストにも Antigravity エージェントを活用すると、マーケティング全体がより回るようになっていきます。ぜひ試してみてください。

シェア

お読みいただきありがとうございます

Antigravity Lab は広告なしで運営しており、サーバー費用などの運営コストはメンバーシップのご支援で賄っています。実装コード・ベンチマーク・本番設計パターンなど、実務でお役立ていただける記事を毎日更新しています。もし読んでよかったと感じていただけましたら、ぜひご覧ください。

  • コピー&ペーストで使える実装コード付き
  • 毎日新しい上級ガイドを追加
  • ¥580/月 または ¥2,480 の永久アクセス
メンバーシップを見る →

もしこの記事がお役に立ちましたら、チップ(¥150)で応援いただけると大変励みになります。広告なしでの運営を続けるため、皆さまのご支援が大きな力になっています。

関連記事

Agents & Manager2026-08-28
Git が追跡しているのにエージェントが読めないファイルは、どこで外れているか
エージェントのコード検索が返した2ファイルに対し、git grep は6ファイルを返しました。追跡済みのファイルが検索から静かに落ちる3つの経路を合成リポジトリと運用中のリポジトリで実測し、除外理由の特定手順と戻し方をまとめました。
Agents & Manager2026-08-16
Canary 継続配信になった Android 17 で、エージェントには「報告しない条件」から先に渡しました
Android 17 が Developer Preview をやめて Canary の継続配信に切り替わり、検証の締め切りが自分の側に移りました。更新を追う担当をエージェントへ渡すにあたり、報告の条件ではなく沈黙の条件から設計した記録です。
Agents & Manager2026-07-29
agent.md の綴り誤りが権限を広げていた — frontmatter を厳格に検証する lint を書く
agent.md の frontmatter は綴りを間違えてもエラーになりません。既定値へ静かに落ちた結果、意図と逆の権限が適用されていた実例と、権限キーだけを厳しく検証する lint の実装・実測を記録しました。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →