Use this method to send photos. On success, the sent Message is returned.


Name Type Description
chat_id Union[int, str] Unique identifier for the target chat or username of the target channel (in the format @channelusername)
photo Union[InputFile, str] Photo to send. Pass a file_id as String to send a photo that exists on the Telegram servers (recommended), pass an HTTP URL as a String for Telegram to get a photo from the Internet, or upload a new photo using multipart/form-data.
caption Optional[str] Optional. Photo caption (may also be used when resending photos by file_id), 0-1024 characters after entities parsing
parse_mode Optional[str] Optional. Mode for parsing entities in the photo caption. See formatting options for more details.
disable_notification Optional[bool] Optional. Sends the message silently. Users will receive a notification with no sound.
reply_to_message_id Optional[int] Optional. If the message is a reply, ID of the original message
reply_markup Optional[Union[InlineKeyboardMarkup, ReplyKeyboardMarkup, ReplyKeyboardRemove, ForceReply]] Optional. Additional interface options. A JSON-serialized object for an inline keyboard, custom reply keyboard, instructions to remove reply keyboard or to force a reply from the user.


Type: Message

Description: On success, the sent Message is returned.


As bot method

result: Message = await bot.send_photo(...)

Method as object


  • from aiogram.methods import SendPhoto
  • from aiogram.api.methods import SendPhoto
  • from aiogram.api.methods.send_photo import SendPhoto

In handlers with current bot

result: Message = await SendPhoto(...)

With specific bot

result: Message = await bot(SendPhoto(...))

As reply into Webhook in handler

return SendPhoto(...)