> ## Documentation Index
> Fetch the complete documentation index at: https://docs.x.com/llms.txt
> Use this file to discover all available pages before exploring further.

# X API v2 のメディアアップロードエンドポイント

> chunked または simple メディアアップロードで画像、GIF、動画を X にアップロードし、media_id 値を取得して、Post、ダイレクトメッセージ、プロフィールに添付します。

メディアオブジェクトは、1 枚の写真、動画、またはアニメーション GIF を表します。メディアオブジェクトは X API 内の多くのエンドポイントで使用され、Post、ダイレクトメッセージ、ユーザープロフィール、広告クリエイティブなどに含めることができます。各メディアオブジェクトは、解像度やフォーマットが異なる複数の表示・再生バリアントを持つことがあります。

## メディアタイプとサイズ制限

API 経由でアップロードする際のサイズ制限

* **Image**: `5 MB`
* **GIF**: `15 MB`
* **Video**: `512 MB`（`media_category=amplify_video` を使用する場合）

## 作成

Post、ダイレクトメッセージ、ユーザープロフィール画像、ホストされた広告カードなどのオブジェクトには、1 つ以上のメディアオブジェクトを含めることができます。これらのトップレベルオブジェクトは総称して entity と呼ばれます。該当する entity 作成 API（例: [`POST /2/tweets`](/x-api/posts/creation-of-a-post)）には、一意の `media_id` を使用して 1 つ以上のメディアオブジェクトを渡すことができます。

メディアオブジェクトを含む entity は、以下の手順で作成できます。

1. 推奨される [chunked](/x-api/media/quickstart/media-upload-chunked) アップロード（画像/GIF/動画）、または旧来の [simple](/x-api/media/upload-media) アップロード（画像のみ）を使用してメディアファイルをアップロードします。
2. ステップ 1 から `media_id` を受け取ります。entity が複数の `media_id` パラメータを受け付ける場合、このステップは異なるメディアで複数回繰り返せます。
3. 該当エンドポイントを呼び出して entity を作成します。その際、`media_id` および必要なパラメータを含めます。例えば、[`POST /2/tweets`](/x-api/posts/creation-of-a-post) エンドポイントで `media_id` を Post に添付します。

## 取得

data dictionary の [Media Object](/x-api/fundamentals/data-dictionary/reference#media) を参照してください。
