sendPhoto
Envía una foto.
Devuelve: Si la llamada tiene éxito, devuelve Message.
Parámetros
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
business_connection_id | String | Opcional | ID de la conexión empresarial |
chat_id | Integer or String | Sí | ID del chat o @username |
message_thread_id | Integer | Opcional | ID del tema del foro |
direct_messages_topic_id | Integer | Opcional | ID del tema de mensajes directos (Bot API 10.0) |
ephemeral_message_parameters | EphemeralMessageParameters | Opcional | Objeto JSON EphemeralMessageParameters — mensaje efímero visible para un solo usuario (Bot API 10.3) |
photo | InputFile or String | Sí | URL o file_id de la foto |
caption | String | Opcional | Leyenda (0-1024) |
parse_mode | String | Opcional | HTML, Markdown o MarkdownV2 |
caption_entities | Array of MessageEntity | Opcional | Array JSON de MessageEntity para la leyenda |
show_caption_above_media | Boolean | Opcional | Mostrar la leyenda encima de la foto |
has_spoiler | Boolean | Opcional | Ocultar el contenido (spoiler) |
disable_notification | Boolean | Opcional | Enviar sin sonido |
protect_content | Boolean | Opcional | Proteger el contenido |
allow_paid_broadcast | Boolean | Opcional | Permitir difusión de pago |
message_effect_id | String | Opcional | ID del efecto del mensaje |
suggested_post_parameters | SuggestedPostParameters | Opcional | Objeto JSON SuggestedPostParameters |
reply_parameters | ReplyParameters | Opcional | Objeto JSON ReplyParameters |
reply_markup | InlineKeyboardMarkup or ReplyKeyboardMarkup or ReplyKeyboardRemove or ForceReply | Opcional | Objeto JSON: InlineKeyboardMarkup / ReplyKeyboardMarkup / ReplyKeyboardRemove / ForceReply |
Ejemplo de solicitud
curl
curl -s -X POST "https://api.telegram.org/bot$TOKEN/sendPhoto" \
-H "Content-Type: application/json" \
-d '{"chat_id":123456789,"photo":"https://telegram.org/img/t_logo.png"}'
Python
import requests
TOKEN = "123456789:AAEexampleTokenReplaceWithYours"
resp = requests.post(
f"https://api.telegram.org/bot{TOKEN}/sendPhoto",
json={
"chat_id": 123456789,
"photo": "https://telegram.org/img/t_logo.png"
},
timeout=30,
)
print(resp.json())
JavaScript
const TOKEN = "123456789:AAEexampleTokenReplaceWithYours";
const res = await fetch(`https://api.telegram.org/bot${TOKEN}/sendPhoto`, {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
"chat_id": 123456789,
"photo": "https://telegram.org/img/t_logo.png"
}),
});
console.log(await res.json());
Guía paso a paso: Cómo crear un bot en Telegram paso a paso: de BotFather a tu primer mensaje
Métodos relacionados
sendVideoEnvía un video.sendDocumentEnvía un documento.sendAudioEnvía un audio.sendAnimationEnvía una animación (GIF).sendStickerEnvía un sticker.sendVoiceEnvía un mensaje de voz.sendVideoNoteEnvía un videomensaje (video circular).sendMediaGroupEnvía un grupo de archivos multimedia (álbum).sendPaidMediaEnvía contenido multimedia de pago (Bot API 8.0+).sendDiceEnvía un dado.sendLivePhotoEnvía una Live Photo (foto + video, Bot API 10.0).