Hide navigation sidebar
Hide table of contents sidebar
Skip to content
Back to top
View this page
Toggle table of contents sidebar

# InputMediaPhoto

class telegram.InputMediaPhoto(media, caption=None, parse_mode=None, caption_entities=None, filename=None, has_spoiler=None, show_caption_above_media=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 | `InputFile` | `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.

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

      Added in version 20.0.

    - show_caption_above_media (`bool`, optional) –

      Pass `True`, if the caption must be shown above the message media.

      Added in version 21.3.

  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.

    Added in version 20.0.

    Type:

      `bool`

  show_caption_above_media

    Optional. `True`, if the caption must be shown above the message media.

    Added in version 21.3.

    Type:

      `bool`