Reference
Send a file / photo
Send an already uploaded file (storagePath from files_upload_url) with an optional caption.
View MarkdownThis page is generated from the source code on every release.
Send an already uploaded file (storagePath from files_upload_url) with an optional caption.
Overview
| Name | Value |
|---|---|
| Code | messages.send_media |
| Scope needed | messages.send |
| Risk | Write |
| May need confirmation | No |
| Runs as | Queues work for a node |
Needs Idempotency-Key |
Yes |
| Member roles allowed | owner, manager, agent |
| In the app | Inbox → attach |
Input fields
| Field | Type | Required | Description |
|---|---|---|---|
conversationId |
uuid |
Yes | |
storagePath |
text |
Yes | |
fileName |
text |
Yes | |
mime |
text |
Yes | |
size |
integer |
Yes | |
caption |
text |
No | |
asFile |
true/false |
No | |
topicId |
integer |
No | |
inReplyToEventId |
text |
No | |
ifLastMessageId |
uuid |
No | |
clientMessageId |
uuid |
No | |
voice |
object |
No | |
round |
object |
No |
Example request
curl -X POST https://tlg.builera.app/api/public/v2/ops/messages.send_media \
-H "Authorization: Bearer $TELEGRAM_AUTO_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: <unique key per operation>" \
-d '{"conversationId":"00000000-0000-0000-0000-000000000000","storagePath":"…","fileName":"…","mime":"…","size":1}'Output fields (data)
| Field | Type | Required |
|---|---|---|
ok |
true |
Yes |
messageId |
text |
Yes |
Example answer
{
"data": {
"ok": true,
"messageId": "00000000-0000-4000-8000-000000000000"
}
}Using it over MCP
Tool messages_send_media is listed on the profiles: Real-time operations (realtime), Automation setup (setup), Discover (prospecting), Reports (reports), Administration (admin), Full (full). On other profiles, find it with tools_search and run it with tools_run.