Hide navigation sidebar
Hide table of contents sidebar
PTB has undergone significant changes in v20. Please read the documentation carefully and also check out the transition guide in the wiki.
Back to top
Toggle table of contents sidebar

# InputMediaPhoto

class telegram.InputMediaPhoto(media, caption=None, parse_mode=None, caption_entities=None, filename=None, has_spoiler=None, *, api_kwargs=None)

  Bases: `telegram.InputMedia`

  Represents a photo to be sent.

  Use In

  - `telegram.Bot.edit_message_media()`

  - `telegram.Bot.send_media_group()`

  See also

  Working with Files and Media

  Parameters:

    - media (`str` | file object | `bytes` | `pathlib.Path` | `telegram.PhotoSize`) –

      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. Lastly you can pass an existing `telegram.PhotoSize` object to send.

      Changed in version 13.2: Accept `bytes` as input.

    - filename (`str`, optional) –

      Custom file name for the photo, when uploading a new file. Convenience parameter, useful e.g. when sending files generated by the `tempfile` module.

      New in version 13.1.

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

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

    - 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.

    - has_spoiler (`bool`, optional) –

      Pass `True`, if the photo needs to be covered with a spoiler animation.

      New in version 20.0.

  type

    `'photo'`.

    Type:

      `str`

  media

    Photo to send.

    Type:

      `str` | `telegram.InputFile`

  caption

    Optional. Caption of the photo 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`]

  has_spoiler

    Optional. `True`, if the photo is covered with a spoiler animation.

    New in version 20.0.

    Type:

      `bool`