# telegram.InputMediaPhoto

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

  Bases: `telegram.files.inputmedia.InputMedia`

  Represents a photo to be sent.

  Parameters

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

      File to send. Pass a file_id to send a file that exists on the Telegram servers (recommended), pass an HTTP URL for Telegram to get a file from the Internet. 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) – Send Markdown or HTML, if you want Telegram apps to show bold, italic, fixed-width text or inline URLs in the media caption. See the constants in `telegram.ParseMode` for the available modes.

    - caption_entities (List[`telegram.MessageEntity`], optional) – List of special entities that appear in the caption, which can be specified instead of parse_mode.

  type

    `photo`.

    Type

      `str`

  media

    Photo to send.

    Type

      `str` | `telegram.InputFile`

  caption

    Optional. Caption of the document to be sent.

    Type

      `str`

  parse_mode

    Optional. The parse mode to use for text formatting.

    Type

      `str`

  caption_entities

    Optional. List of special entities that appear in the caption.

    Type

      List[`telegram.MessageEntity`]