POST media/uploadエンドポイントを使用する際に理解しておくべき重要な概念がいくつかあります。OAuthを使用したメディアのアップロードは難しいこともあるため、注意事項と、このエンドポイントの実際の使用例をこちらに示します。
注意事項
- この手法ではmultipart POSTを使用するため、OAuthの扱い方が異なります。OAuth署名のbasestringまたは署名を計算する際、POSTまたはクエリ文字列パラメータは使用しません。
oauth_*
パラメータのみを使用します。 - 1件のツイートに、最大で写真4枚、アニメーションGIF1本、または動画1本を添付できます。
- 渡される画像は、画像の未処理バイナリまたはbase64でエンコードしたバイナリである必要があり、コンテンツのタイプが適切に設定されている限りは他の方法でコンテンツをエンコードまたはエスケープする必要はありません(不確かな場合は
application/octet-stream
)。 - base64でエンコードした画像を投稿するときは必ず、メッセージの画像部分を「Content-Transfer-Encoding: base64」に設定します。
- マルチパートメッセージの境界はその行自体に置き、CRLFで終える必要があります。
- このエンドポイントを使用してPOSTを実行する方法の実際の例については、twurlを使用してテストすることを推奨します。また、large-video-upload-pythonライブラリを含め、ご利用可能なTwitterライブラリを参照してください。
- JavaScript、および長い整数値を正確に表現できないその他の言語の場合は、API応答で返される
media_id_string
を使用してください。
メディアカテゴリー
Media Categoryパラメータはアップロードされるメディアファイルのユースケースを定義するもので、ファイルのサイズ制限やメディアのアップロードに適用されるその他の制限事項に影響を与える可能性があります。メディアを使用しようとする際に問題が発生するのを防ぐため、メディアのアップロード時に正しいメディアカテゴリーを使用することが重要です。これはアップロードフローの一部としてINITリクエストの中でオプションとして渡される値です。メディアカテゴリーが指定されない場合、アップロードされたメディアは、コンテンツのタイプに応じてツイートメディア(画像、動画、またはGIF)とみなされます。
最も一般的なメディアカテゴリーは次のとおりです。
- TweetImage
- TweetVideo
- TweetGif
- DmImage
- DmVideo
- DmGif
- Subtitles
広告APIパートナーの皆様は、プロモビデオ向けに推奨されるメディアカテゴリーについての詳細をこちらのドキュメントでご確認ください。
画像の仕様と推奨事項
画像ファイルは次のすべての基準を満たす必要があります。
- 対応する画像メディアタイプ: JPG、PNG、GIF、WEBP
- 画像サイズ5MB以下、アニメーションGIFサイズ15MB以下
ファイルサイズの上限はメディアアップロードエンドポイントによって適用されます。また、media_id
を使用してツイート作成(または類似の)エンドポイントを呼び出す場合に適用される、個々の製品エンティティに固有のファイルサイズ上限があります。 ファイルサイズ制限とその他の制限事項はmedia_category
パラメータによって異なる場合があります。
アニメーションGIFに関する推奨事項
GIFは、ファイルサイズ制限内であってもツイート作成中に問題が生じる場合があります。成功率を高めるために、次の制限事項に従ってください。
- 解像度1280x1080(幅x高さ)以下
- フレーム数350以下
- ピクセル数(幅x高さxフレーム数)3億以下
- ファイルサイズ15MB以下
これより大きいGIFを処理するには、チャンク化アップロードエンドポイントでmedia_category
パラメータを使用します。これにより、サーバーはGIFファイルを非対称的に処理できます。大きいファイルの処理では非対称処理が必須です。media_category=tweet_gif
を渡すと、アニメーションGIF付きのツイートの非対称アップロード動作が有効になります。
動画の仕様と推奨事項
メディアのアップロードには非対称パスを使用してください。
推奨事項
- 推奨動画コーデック: H264ハイプロファイル
- 推奨フレームレート: 30FPS、60FPS
- 推奨動画解像度: 1280x720(横長)、720x1280(縦長)、720x720(正方形)
- 推奨最少動画ビットレート: 5,000kbps
- 推奨最少音声ビットレート: 128kbps
- 推奨音声コーデック: AAC LC
- 推奨アスペクト比: 16:9(横長または縦長)、1:1(正方形)
高度な処理
- フレームレートは60FPS以下としてください
- サイズは32x32~1280x1024の間としてください
- ファイルサイズは512MBを超えないでください
- 再生時間は0.5秒~140秒の間としてください
- アスペクト比は1:3~3:1の間としてください
- ピクセルアスペクト比は1:1としてください
- YUV 4:2:0ピクセルフォーマットにのみ対応しています
- 音声は必ずAACのLow Complexityプロファイルとしてください。High-Efficiency AACには対応しておりません
- 音声は必ずモノまたはステレオとします。5.1以上には対応しておりません
- Open GOPを含めないでください
- 必ずプログレッシブスキャンを使用してください
その他の情報
下の表の各行にアップロードの推奨事項を示しますが、必須のものではありません。すべてのアップロードは複数のプラットフォームにわたって最適化が実現するよう処理されます。
向き |
幅 |
高さ |
動画ビットレート |
音声ビットレート |
横長 |
1,280 |
720 |
2,048K |
128K |
横長 |
640 |
360 |
768K |
64K |
横長 |
320 |
180 |
256K |
64K |
縦長 |
720 |
1,280 |
2,048K |
128K |
縦長 |
360 |
640 |
768K |
64K |
縦長 |
180 |
320 |
256K |
64K |
正方形 |
720 |
720 |
2,048K |
128K |
正方形 |
480 |
480 |
768K |
64K |
正方形 |
240 |
240 |
256K |
32K |
メディアのアップロード方法の例については、チャンク化したメディアのアップロードに関するドキュメントを参照してください。
トラブルシューティング
メディアAPIに関する問題については、開発者フォーラムのメディアAPIカテゴリーに書かれた回答をご確認ください。