メインコンテンツへスキップ
POST /2/media/upload エンドポイントを使用する際に理解しておくべき重要なポイントがいくつかあります。OAuth を用いたメディアのアップロードはやや複雑になり得るため、留意点と、このエンドポイントの使い方を示す実行可能なサンプルを以下にまとめています。

留意事項

  • 1つのPostには、写真は最大4枚、アニメーションGIFは1件、または動画は1件を添付できます。
  • 送信する画像は生のバイナリ、またはバイナリのbase64エンコードとしてください。Content-Typeが適切に設定されている限り(不明な場合はapplication/octet-stream)、それ以外のエンコードやエスケープは不要です。
  • base64エンコードした画像を送信する場合は、メッセージの画像パートに「Content-Transfer-Encoding: base64」を必ず設定してください。
  • マルチパートメッセージの境界は、単独の行に置き、CRLFで終端する必要があります。
  • このエンドポイントを使ったPOSTの実用例については、xurlでのテストを推奨します。あわせて、利用可能なX Librariesもご覧ください。
  • JavaScriptや長整数を正確に表現できないその他の言語では、APIレスポンスで提供されるmedia_id_stringを使用してください。

メディアカテゴリ

Media Category パラメータは、アップロードするメディアファイルの用途を定義し、メディアアップロードに適用されるファイルサイズ上限やその他の制約に影響する場合があります。メディアを利用する際の問題を避けるため、アップロード時には正しいメディアカテゴリを指定することが重要です。これは、アップロードフローの一部として INIT リクエストで渡す任意の値です。メディアカテゴリが指定されていない場合、アップロードされたメディアはコンテンツタイプに応じて Post 用のメディア(tweet_imagetweet_video、または tweet_gif)と見なされます。 最も一般的なメディアカテゴリは以下のとおりです。
  • tweet_image
  • tweet_video
  • tweet_gif
  • dm_image
  • dm_video
  • dm_gif
  • tweet_image
Ads API パートナーの方は、プロモーション動画に推奨されるメディアカテゴリの詳細についてはこちらのドキュメントを参照してください。

画像の仕様と推奨事項

画像ファイルは、以下のすべての条件を満たす必要があります。
  • サポートされる画像メディアタイプ: JPG, PNG, GIF, WEBP
  • 画像サイズ: <= 5 MB
  • アニメーション GIF のサイズ: <= 15 MB
上記のファイルサイズ上限は、メディアアップロードエンドポイントで強制されます。加えて、media_id を使用して Post 作成(または同様の)エンドポイントを呼び出す際に適用される、製品エンティティ固有のファイルサイズ上限があります。ファイルサイズ上限やその他の制約は、media_category パラメータによって異なる場合があります。

アニメーションGIFに関する推奨事項

GIFはファイルサイズの上限内でも、Postの作成時に失敗する場合があります。成功率を高めるため、次の制約に従ってください。
  • 解像度: <= 1280x1080width × height
  • フレーム数: <= 350
  • ピクセル数: <= 300 millionwidth * height * num_frames
  • ファイルサイズ: <= 15MB
より大きなGIFを処理するには、media_category パラメータを指定して chunked upload エンドポイントを使用してください。これにより、サーバー側でGIFファイルを非同期処理でき、より大きなファイルの処理要件を満たせます。アニメーションGIFを含むPostで非同期アップロードを有効にするには、media_category=tweet_gif を指定してください。

動画の仕様と推奨事項

メディアのアップロードには非同期パス(Async Path)をご利用ください。
  • 動画コーデック: H264 High Profile
  • フレームレート: 30 FPS, 60 FPS
  • 動画解像度: 1280x720(横向き)、720x1280(縦向き)、720x720(正方形)。サブスク登録ユーザーは1080p動画をアップロードし、1080pで再生できます。未登録ユーザーは720p動画をアップロードし、720pで再生できます。
  • 最小動画ビットレート: 5,000 kbps
  • 最小音声ビットレート: 128 kbps
  • 音声コーデック: AAC LC
  • アスペクト比: 16:9(横向きまたは縦向き)、1:1(正方形)

上級

  • フレームレート: 60 FPS 以下であること
  • 解像度: 32x32 から 1280x1024 の範囲であること
  • ファイルサイズ: 512 MB を超えないこと
  • 再生時間: 0.5 秒 から 140 秒 の範囲であること
  • アスペクト比: 1:3 から 3:1 の範囲であること
  • ピクセルアスペクト比: 1:1 であること
  • ピクセルフォーマット: YUV 4:2:0 のみ対応
  • オーディオは AAC の Low Complexity プロファイル であること(High-Efficiency AAC は非対応)
  • オーディオは モノラル または ステレオ とし、5.1 以上は不可
  • open GOP を使用しないこと
  • プログレッシブスキャン を使用すること

追加情報

以下の表はアップロード時の推奨値を示すもので、必須ではありません。すべてのアップロードは複数のプラットフォームで最適化されるよう処理されます。
向き高さ動画ビットレートオーディオビットレート
横向き12807202048K128K
横向き640360768K64K
横向き320180256K64K
縦向き72012802048K128K
縦向き360640768K64K
縦向き180320256K64K
正方形7207202048K128K
正方形480480768K64K
正方形240240256K32K
メディアのアップロード方法の例は、分割アップロードのドキュメントをご覧ください。

トラブルシューティング

Media API に関する問題は、開発者フォーラムの Media API カテゴリを参照し、解決策をお探しください。