POST media/upload

概要

このエンドポイントを使用すると、Twitterに画像をアップロードできます。画像を添付可能なTwitterエンドポイントの大半で使用できるmedia_idを返します。たとえば、media_id値は、POST statuses/updateエンドポイントを使用して添付写真があるツイートを作成するのに使用できます。

これは単純な画像アップロードエンドポイントであり、一部の機能が制限されています。これに代わり推奨されるのが、画像と動画の両方に対応するチャンク化アップロードエンドポイントです。これを使用すると信頼性が高まり、ファイルアップロードの再開機能やその他の重要な機能を利用できるようになります。将来的に、新機能はチャンク化アップロードエンドポイントにのみ対応する予定です。

メディアファイルに関する制限事項や要件については、「メディアのアップロードガイド」を参照してください。

画像代替テキストの情報を入手するには、メディアのメタデータのエンドポイントを使用してください。

POSTはmultipart/form-dataリクエストである必要があります。ファイルの未処理のバイナリ(mediaパラメータ)、またはbase64でエンコードしたコンテンツ(media_dataパラメータ)のいずれかをアップロードします。base64でエンコードするとファイルのサイズが大きくなるため、可能な場合は未処理のバイナリを使用します。

応答では、media_id(64ビットの整数値)フィールドおよびmedia_id_string(文字列)フィールドにメディア識別子が返されます。JavaScript、および長い整数値を正確に記述できないその他の言語の場合は、API応答で返されるmedia_id_stringを使用します。

返されたmedia_idの有効期間はexpires_after_secs秒間のみです。この時間枠の後に他のエンドポイントでmedia_idの使用を試みると、HTTP 4xx Bad Requestが発生します。

additional_ownersフィールドでは、メディアをユーザーAとしてアップロードしてから、ユーザーBとしてツイート作成に使用できます。

特定のタイプのデータ(tweet_giftweet_videoamplify_video)の場合は、チャンク化アップロードエンドポイントを使用する必要があります。

リクエスト

リクエストはmultipart/form-dataPOST形式またはapplication/x-www-form-urlencodedPOST形式である必要があります。

注: このエンドポイントのドメインはupload.twitter.comです

リソースURL

https://upload.twitter.com/1.1/media/upload.json

リソース情報

応答形式 JSON
認証の要否 要(ユーザーのコンテキストに限る)
レート制限 あり

パラメータ

名前 要否 説明 デフォルト値
media 必須 未処理のバイナリファイルコンテンツがアップロードされています。media_dataとは併用できません。
media_data 必須 base64でエンコードしたファイルコンテンツがアップロードされています。mediaとは併用できません。
additional_owners 任意 返されたmedia_idをツイートまたはカードで使用できる、追加オーナーとして設定されるユーザーIDのカンマ区切りリストです。最大100の追加オーナーを指定できます。

リクエストの例

POST https://upload.twitter.com/1.1/media/upload.json

応答の例

{
  "media_id": 710511363345354753,
  "media_id_string": "710511363345354753",
  "size": 11065,
  "expires_after_secs": 86400,
  "image": {
    "image_type": "image/jpeg",
    "w": 800,
    "h": 320
  }
}