POST /2/media/upload
endpoint を使用する際に理解しておくべき重要な概念がいくつかあります。OAuth を使ったメディアのアップロードは少し複雑になりがちなため、注意点と、この endpoint の使用方法を示す動作サンプルを以下にまとめています。
留意事項
- 1つの Post には、写真は最大4枚、アニメーションGIFは1件、または動画は1件まで添付できます。
- 送信する画像は、生のバイナリまたはバイナリのbase64エンコードとしてください。適切にContent-Typeが設定されている限り(不明な場合は
application/octet-stream
)、それ以外のエンコードや内容のエスケープは不要です。 - base64エンコードした画像を投稿する場合は、メッセージの画像パートに「Content-Transfer-Encoding: base64」を必ず設定してください。
- マルチパートメッセージの境界は、単独の行として記述し、CRLFで終端する必要があります。
- この endpoint を使ってPOSTする実例については、xurlでのテストを推奨します。あわせて、提供されているX Librariesもご確認ください。
- 長整数を正確に表現できないJavaScriptやその他の言語では、APIレスポンスで提供される
media_id_string
を使用してください。
メディアカテゴリ
tweet_image
、tweet_video
、tweet_gif
)と見なされます。
最も一般的なメディアカテゴリは次のとおりです:
tweet_image
tweet_video
tweet_gif
dm_image
dm_video
dm_gif
subtitles
画像の仕様と推奨事項
- サポートされる画像メディアタイプ:
JPG
,PNG
,GIF
,WEBP
- 画像サイズ:
<= 5 MB
- アニメーション GIF のサイズ:
<= 15 MB
media_id
を指定して Post 作成(または同様の)endpoint を呼び出す際には、製品エンティティ固有の別のファイルサイズ上限が適用されます。ファイルサイズ上限やその他の制約は、media_category
パラメータによって異なる場合があります。
アニメーション GIF に関する推奨事項
- 解像度:
<= 1280x1080
(width
xheight
) - フレーム数:
<= 350
- ピクセル数:
<= 300 million
(width
*height
*num_frames
) - ファイルサイズ:
<= 15MB
media_category
パラメータを使用して chunked upload endpoint を利用してください。これにより、サーバー側で GIF ファイルを非同期処理できるようになり、大容量ファイルの処理に必要となります。アニメーション GIF を含む Posts の非同期アップロードを有効にするには、media_category=tweet_gif
を指定してください。
動画の仕様および推奨事項
推奨
- 動画コーデック:
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-EfficiencyAAC
は非対応) - 音声は
mono
またはstereo
とし、5.1 以上は不可 open GOP
は使用しないことprogressive scan
を使用すること
追加情報
向き | 幅 | 高さ | 動画ビットレート | 音声ビットレート |
---|---|---|---|---|
横向き | 1280 | 720 | 2048K | 128K |
横向き | 640 | 360 | 768K | 64K |
横向き | 320 | 180 | 256K | 64K |
縦向き | 720 | 1280 | 2048K | 128K |
縦向き | 360 | 640 | 768K | 64K |
縦向き | 180 | 320 | 256K | 64K |
正方形 | 720 | 720 | 2048K | 128K |
正方形 | 480 | 480 | 768K | 64K |
正方形 | 240 | 240 | 256K | 32K |