Skip to content
Back to top
View this page

# InputMedia

class telegram.InputMedia(media_type, media, caption=None, caption_entities=None, parse_mode=None, *, api_kwargs=None)

  Bases: `telegram.TelegramObject`

  This object represents the content of a media message to be sent. It should be one of:

  - `telegram.InputMediaAnimation`

  - `telegram.InputMediaAudio`

  - `telegram.InputMediaDocument`

  - `telegram.InputMediaLivePhoto`

  - `telegram.InputMediaPhoto`

  - `telegram.InputMediaVideo`

  Use In

  `telegram.Bot.edit_message_media()`

  Changed in version 20.0: Added arguments and attributes `type`, `media`, `caption`, `caption_entities`, `parse_mode`.

  See also

  Working with Files and Media

  Parameters:

    - media_type (`str`) – Type of media that the instance represents.

    - media (`str` | `InputFile`) – File to send. Pass a `file_id` as String to send a file that exists on the Telegram servers (recommended), pass an HTTP URL as a String for Telegram to get a file from the Internet, or upload a new one. To upload a file, you can either pass a file object (e.g. `open("filename", "rb")`) or the file contents as bytes. If the bot is running in `local_mode`, passing the path of the file (as string or `pathlib.Path` object) is supported as well.

    - caption (`str`, optional) – Caption of the media to be sent, 0-`1024` characters after entities parsing.

    - caption_entities (Sequence[`telegram.MessageEntity`], optional) –

      Sequence of special entities that appear in the caption, which can be specified instead of `parse_mode`.

      Changed in version 20.0: Accepts any `collections.abc.Sequence` as input instead of just a list. The input is converted to a tuple.

    - parse_mode (`str`, optional) – Mode for parsing entities. See `telegram.constants.ParseMode` and formatting options for more details.

  type

    Type of the input media.

    Type:

      `str`

  media

    Media to send.

    Type:

      `str` | `telegram.InputFile`

  caption

    Optional. Caption of the media to be sent, 0-`1024` characters after entities parsing.

    Type:

      `str`

  parse_mode

    Optional. Mode for parsing entities. See `telegram.constants.ParseMode` and formatting options for more details.

    Type:

      `str`

  caption_entities

    Optional. Tuple of special entities that appear in the caption, which can be specified instead of `parse_mode`.

    Changed in version 20.0:

    - This attribute is now an immutable tuple.

    - This attribute is now always a tuple, that may be empty.

    Type:

      tuple[`telegram.MessageEntity`]