ガイド

複数のSNSに一括投稿する方法

ブランド、代理店、個人プロジェクトのコンテンツを管理している方なら、同じ動画や画像を各プラットフォームに1つずつアップロードする手間をよくご存知でしょう。このガイドでは、TikTok、Instagram、YouTube、LinkedInなど10以上のプラットフォームに1回のAPIコールで投稿する方法をご紹介します。

1つずつ投稿すると、どれだけ時間を無駄にしているか

動画の編集が終わるたびに何が起こるか考えてみてください。TikTokを開いてアップロードし、キャプションを書いて、カバー画像を選ぶ。次にInstagramで同じことをする。そしてYouTube。LinkedIn。気づけば30分が過ぎていて、クリエイティブな作業は何もできていません。

複数ブランドを管理していると、さらに大変です。5つのクライアントにそれぞれ10プラットフォームがあれば、1つのコンテンツに対して50回の手動アップロードが必要になります。これは持続可能ではありません。まさにこの問題を解決するのがソーシャルメディアAPIです。

始める前に必要なもの

  • Upload-Postアカウント(無料プランで月10回のアップロードが含まれます)
  • APIキーダッシュボードから生成できるAPIキー
  • Upload-Postプロフィールに連携済みのSNSアカウントが少なくとも1つ
  • 投稿する動画または画像ファイル

ステップ1: アカウント作成とプラットフォーム連携

app.upload-post.comにアクセスして無料アカウントを作成してください。クレジットカードは不要です。ログインしたら、ユーザー管理からプロフィールを作成します。プロフィールは、1つのブランドやクライアントのSNSアカウントをまとめるコンテナのようなものです。

プロフィールから、投稿したいプラットフォームを接続します。Upload-Postは現在、TikTokInstagramYouTubeLinkedInFacebookX(Twitter)スレッドPinterestRedditBlueskyに対応しています。10個すべてを接続することも、必要なものだけを選ぶこともできます。

ステップ2: APIキーを取得する

ダッシュボードのAPIキーページに移動して、新しいキーを生成します。すべてのAPIリクエストで認証ヘッダーとして使うので、安全な場所にコピーしておいてください。形式はシンプルです:

認可: Apikey your-api-key-here

ステップ3: 1つのリクエストで全プラットフォームに投稿

ここが一番のポイントです。各プラットフォームに個別にアップロードする代わりに、/api/uploadエンドポイントに1つのPOSTリクエストを送り、複数のplatform[]パラメータを指定するだけです。フォーマット変換、アスペクト比の調整、キャプションの文字数制限など、すべてAPIが処理します。

cURLの例

curl -X POST https://api.upload-post.com/api/upload \
  -H "認可: Apikey your-api-key-here" \
  -F "[email protected]" \
  -F "user=mybrand" \
  -F "title=Check out our latest product launch" \
  -F "platform[]=tiktok" \
  -F "platform[]=instagram" \
  -F "platform[]=youtube" \
  -F "platform[]=linkedin" \
  -F "platform[]=facebook" \
  -F "platform[]=threads"

これだけです。6つのプラットフォームに1つのコマンドで投稿できます。同じリクエストで対応する10プラットフォームすべてに投稿することも可能です。

Pythonの例

from upload_post import UploadPostClient

client = UploadPostClient(api_key="your-api-key-here")

response = client.upload_video(
    video_path="/path/to/my-video.mp4",
    title="最新の製品発表をチェックしてください",
    user="mybrand",
    platforms=["tiktok", "instagram", "youtube", "linkedin"]
)

for platform, result in response["results"].items():
    if result["success"]:
        print(f"{platform}: {result['url']}")
    else:
        print(f"{platform}: failed")

Python SDKはpip install upload-postでインストールできます。npmで利用可能なJavaScript SDKもあります。

Node.jsの例

import { UploadPost } from 'upload-post';

const uploader = new UploadPost('your-api-key-here');

const result = await uploader.upload('/path/to/my-video.mp4', {
    title: '最新の製品発表をチェックしてください',
    user: 'mybrand',
    platforms: ['tiktok', 'instagram', 'youtube', 'linkedin', 'threads']
});

console.log(result);

ステップ4: APIレスポンスの内容

アップロードが完了すると、APIは各プラットフォームの個別結果を含むJSONレスポンスを返します。どの投稿が公開されたかを確認でき、投稿への直接リンクも取得できます。

{
  "success": true,
  "results": {
    "tiktok": {
      "success": true,
      "url": "https://www.tiktok.com/@yourbrand/video/123..."
    },
    "instagram": {
      "success": true,
      "url": "https://www.instagram.com/p/ABC..."
    },
    "youtube": {
      "success": true,
      "url": "https://youtube.com/shorts/XYZ..."
    }
  },
  "usage": {
    "count": 12,
    "limit": 100,
    "last_reset": "2025-09-01T10:00:00.000Z"
  }
}

知っておくべきプラットフォーム固有のオプション

基本的なリクエストはほとんどのケースで機能しますが、各プラットフォームには投稿を細かく調整するための固有のパラメータがあります。最もよく使うものを紹介します:

プラットフォーム 便利なパラメータ 備考
TikTokprivacy_level, tiktok_title1アカウントあたり1日最大15本
Instagrammedia_type (REELS/STORIES), collaborators1日最大50アップロード
YouTubetags[], privacyStatus, thumbnail60秒未満の動画はShortsとして自動検出
LinkedInvisibility, target_linkedin_page_id個人プロフィールまたは会社ページに投稿可能
Facebookfacebook_page_id(必須), facebook_media_type接続済みのFacebookページが必要
Pinterestpinterest_board_id(必須), pinterest_linkすべてのピンにボードIDが必須

各プラットフォームで利用可能なすべてのパラメータについては、完全なAPIリファレンスをご確認ください。

コードを書きたくない場合は、n8nやMake.comを活用

開発者でなくても、ビジュアル自動化ツールを使って全プラットフォームに一括投稿できます。Upload-Postは主要なツールとの公式連携を提供しています:

  • n8nには公式のUpload-Postコミュニティノードがあります。Google Drive、Dropboxなどからワークフローをトリガーして、全プラットフォームに自動配信できます。ワンクリックでインポートできるテンプレートも用意されています。
  • Make.com(旧Integromat)はHTTPモジュールとマルチパートフォームデータで連携できます。
  • Zapierはお気に入りのツールとUpload-Postを接続して、完全自動化された配信が可能です。

写真やカルーセルを複数プラットフォームに投稿

配信できるのは動画だけではありません。/api/upload_photosエンドポイントを使えば、画像やカルーセルも同じ方法で複数プラットフォームに投稿できます。videoパラメータの代わりにphotos[]を使うだけです:

curl -X POST https://api.upload-post.com/api/upload_photos \
  -H "認可: Apikey your-api-key-here" \
  -F "photos[][email protected]" \
  -F "photos[][email protected]" \
  -F "photos[][email protected]" \
  -F "user=mybrand" \
  -F "title=Our new collection" \
  -F "platform[]=instagram" \
  -F "platform[]=tiktok" \
  -F "platform[]=linkedin"

Instagramではカルーセル投稿になり、TikTokではスライドショーに、LinkedInでは複数画像投稿として表示されます。各プラットフォームのオーディエンスに最適な形式で配信されます。

最初のコメントを自動追加する

InstagramやTikTokでは、ハッシュタグやCTA(行動喚起)をキャプションではなく最初のコメントに入れるのがよくある戦略です。first_commentパラメータをリクエストに追加するだけで自動化できます:

-F "first_comment=#marketing #socialmedia #contentcreator Follow for more!"

この機能はInstagram、Facebook、Threads、Bluesky、Reddit、X、YouTubeで利用できます。instagram_first_commentx_first_commentのように、プラットフォームごとに異なるコメントを設定することも可能です。

注意すべき文字数制限

同じキャプションを複数プラットフォームに投稿する場合、各プラットフォームの文字数制限が異なることを覚えておいてください:

プラットフォーム キャプション上限
X(標準)280文字
Bluesky300文字
スレッド500文字
Pinterest500文字
Instagram2,200文字
TikTok2,200文字
LinkedIn3,000文字
YouTube5,000文字
Facebook63,206文字

必要に応じて、プラットフォーム固有のタイトルパラメータ(tiktok_titleyoutube_titleなど)を使って、プラットフォームごとに異なるキャプションを設定できます。投稿前に文字数を確認するには、文字数カウンターツールをご活用ください。

大容量ファイルの非同期アップロード

動画が大きい場合や、多くのプラットフォームに投稿する場合はリクエストに時間がかかることがあります。async_upload=trueを追加すると、request_idを含む即時レスポンスが返され、後からステータスを確認できます:

curl https://api.upload-post.com/api/uploadposts/status?request_id=abc123 \
  -H "認可: Apikey your-api-key-here"

各プラットフォームのアップロードが完了したときに自動通知を受け取るためのウェブフックも設定できます。

よくある質問

全プラットフォームに同時投稿すると、リーチやエンゲージメントに影響しますか?

いいえ。Upload-Postは各プラットフォームの公式APIとOAuth認証を使用しています。プラットフォーム側からは通常の投稿として認識されます。ローテーションIP、ボット、回避策は一切使用していません。手動でアップロードした場合と全く同じ再生数とエンゲージメントが得られます。

プラットフォームごとにキャプションをカスタマイズできますか?

はい。titleパラメータがすべてのプラットフォームのデフォルトキャプションになりますが、tiktok_titleinstagram_titleyoutube_titlelinkedin_titleなどでプラットフォームごとに上書きできます。YouTubeには長い説明文、TikTokには短いキャプションを設定したい場合に便利です。

対応している動画形式は?

H.264エンコードのMP4がすべてのプラットフォームで動作します。別のコーデックのファイルでも、Upload-Postが自動的にトランスコードします。事前に動画を加工したい場合は、内蔵FFmpegエディターもご利用いただけます。

料金はいくらですか?

月10回のアップロードが含まれる無料プランがあります。有料プランは月額$16(年払い)からで、アップロード無制限です。BufferHootsuiteと比べると、特にチャネルごとの課金を考慮するとかなりお得です。

1つずつアップロードするのはもうやめましょう

無料アカウントを作成してSNSプロフィールを接続すれば、1回のAPIコールで全プラットフォームに投稿できます。セットアップは約5分です。

クレジットカード不要。無料で10回のアップロード付き。