# Send Telegram Video

**Action ID:** `telegram_send_video`

## Description

Send a video or animation to a Telegram chat or channel. This node allows you to deliver video content with optional captions, thumbnails, streaming support, and interactive elements to any Telegram user, group, or channel.

## Provider

**Telegram**

## Connection

| Name                    | Description                                               | Required | Category |
| ----------------------- | --------------------------------------------------------- | :------: | -------- |
| Telegram Bot Connection | The Telegram bot connection to use for sending the video. |     ✓    | telegram |

## Input Parameters

| Name                        | Type    | Required | Default | Description                                                                                                                                                                                                                                                                                                   |
| --------------------------- | ------- | :------: | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| chat\_id                    | string  |     ✓    | -       | Unique identifier for the target chat or username of the target channel (in the format @channelusername)                                                                                                                                                                                                      |
| video                       | string  |     ✓    | -       | Video to send. Pass a file\_id as String to send a video that exists on the Telegram servers (recommended), pass an HTTP URL as a String for Telegram to get a video from the Internet, or upload a new video using multipart/form-data.                                                                      |
| business\_connection\_id    | string  |     -    | -       | Unique identifier of the business connection on behalf of which the message will be sent                                                                                                                                                                                                                      |
| message\_thread\_id         | integer |     -    | -       | Unique identifier for the target message thread (topic) of the forum; for forum supergroups only                                                                                                                                                                                                              |
| duration                    | integer |     -    | -       | Duration of sent video in seconds                                                                                                                                                                                                                                                                             |
| width                       | integer |     -    | -       | Video width                                                                                                                                                                                                                                                                                                   |
| height                      | integer |     -    | -       | Video height                                                                                                                                                                                                                                                                                                  |
| thumbnail                   | string  |     -    | -       | Thumbnail of the file sent; can be ignored if thumbnail generation for the file is supported server-side. The thumbnail should be in JPEG format and less than 200 kB in size. A thumbnail's width and height should not exceed 320.                                                                          |
| cover                       | string  |     -    | -       | Cover for the video in the message. 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, or pass 'attach://\<file\_attach\_name>' to upload a new one using multipart/form-data under \<file\_attach\_name> name. |
| start\_timestamp            | integer |     -    | -       | Start timestamp for the video in the message                                                                                                                                                                                                                                                                  |
| caption                     | string  |     -    | -       | Video caption (may also be used when resending videos by file\_id), 0-1024 characters after entities parsing                                                                                                                                                                                                  |
| parse\_mode                 | string  |     -    | -       | Mode for parsing entities in the video caption. Can be 'Markdown', 'MarkdownV2', or 'HTML'                                                                                                                                                                                                                    |
| caption\_entities           | array   |     -    | -       | A JSON-serialized list of special entities that appear in the caption                                                                                                                                                                                                                                         |
| show\_caption\_above\_media | boolean |     -    | -       | Pass True, if the caption must be shown above the message media                                                                                                                                                                                                                                               |
| has\_spoiler                | boolean |     -    | -       | Pass True if the video needs to be covered with a spoiler animation                                                                                                                                                                                                                                           |
| supports\_streaming         | boolean |     -    | -       | Pass True if the uploaded video is suitable for streaming                                                                                                                                                                                                                                                     |
| disable\_notification       | boolean |     -    | -       | Sends the message silently. Users will receive a notification with no sound                                                                                                                                                                                                                                   |
| protect\_content            | boolean |     -    | -       | Protects the contents of the sent message from forwarding and saving                                                                                                                                                                                                                                          |
| allow\_paid\_broadcast      | boolean |     -    | -       | Pass True to allow up to 1000 messages per second, ignoring broadcasting limits for a fee                                                                                                                                                                                                                     |
| message\_effect\_id         | string  |     -    | -       | Unique identifier of the message effect to be added to the message; for private chats only                                                                                                                                                                                                                    |
| reply\_parameters           | object  |     -    | -       | Description of the message to reply to                                                                                                                                                                                                                                                                        |
| reply\_markup               | object  |     -    | -       | Additional interface options. A JSON-serialized object for an inline keyboard, custom reply keyboard, etc.                                                                                                                                                                                                    |

<details>

<summary>View JSON Schema</summary>

```json
{
  "description": "Telegram send video node input.",
  "properties": {
    "chat_id": {
      "title": "Chat ID",
      "type": "string",
      "description": "Unique identifier for the target chat or username of the target channel (in the format @channelusername)"
    },
    "video": {
      "title": "Video",
      "type": "string",
      "description": "Video to send. Pass a file_id as String to send a video that exists on the Telegram servers (recommended), pass an HTTP URL as a String for Telegram to get a video from the Internet, or upload a new video using multipart/form-data."
    },
    "business_connection_id": {
      "title": "Business Connection ID",
      "type": "string",
      "description": "Unique identifier of the business connection on behalf of which the message will be sent"
    },
    "message_thread_id": {
      "title": "Message Thread ID",
      "type": "integer",
      "description": "Unique identifier for the target message thread (topic) of the forum; for forum supergroups only"
    },
    "duration": {
      "title": "Duration",
      "type": "integer",
      "description": "Duration of sent video in seconds"
    },
    "width": {
      "title": "Width",
      "type": "integer",
      "description": "Video width"
    },
    "height": {
      "title": "Height",
      "type": "integer",
      "description": "Video height"
    },
    "thumbnail": {
      "title": "Thumbnail",
      "type": "string",
      "description": "Thumbnail of the file sent; can be ignored if thumbnail generation for the file is supported server-side. The thumbnail should be in JPEG format and less than 200 kB in size."
    },
    "cover": {
      "title": "Cover",
      "type": "string",
      "description": "Cover for the video in the message."
    },
    "start_timestamp": {
      "title": "Start Timestamp",
      "type": "integer",
      "description": "Start timestamp for the video in the message"
    },
    "caption": {
      "title": "Caption",
      "type": "string",
      "description": "Video caption (may also be used when resending videos by file_id), 0-1024 characters after entities parsing"
    },
    "parse_mode": {
      "title": "Parse Mode",
      "type": "string",
      "description": "Mode for parsing entities in the video caption. Can be 'Markdown', 'MarkdownV2', or 'HTML'"
    },
    "caption_entities": {
      "title": "Caption Entities",
      "type": "array",
      "description": "A JSON-serialized list of special entities that appear in the caption"
    },
    "show_caption_above_media": {
      "title": "Show Caption Above Media",
      "type": "boolean",
      "description": "Pass True, if the caption must be shown above the message media"
    },
    "has_spoiler": {
      "title": "Has Spoiler",
      "type": "boolean",
      "description": "Pass True if the video needs to be covered with a spoiler animation"
    },
    "supports_streaming": {
      "title": "Supports Streaming",
      "type": "boolean",
      "description": "Pass True if the uploaded video is suitable for streaming"
    },
    "disable_notification": {
      "title": "Disable Notification",
      "type": "boolean",
      "description": "Sends the message silently. Users will receive a notification with no sound"
    },
    "protect_content": {
      "title": "Protect Content",
      "type": "boolean",
      "description": "Protects the contents of the sent message from forwarding and saving"
    },
    "allow_paid_broadcast": {
      "title": "Allow Paid Broadcast",
      "type": "boolean",
      "description": "Pass True to allow up to 1000 messages per second, ignoring broadcasting limits for a fee"
    },
    "message_effect_id": {
      "title": "Message Effect ID",
      "type": "string",
      "description": "Unique identifier of the message effect to be added to the message; for private chats only"
    },
    "reply_parameters": {
      "title": "Reply Parameters",
      "type": "object",
      "description": "Description of the message to reply to"
    },
    "reply_markup": {
      "title": "Reply Markup",
      "type": "object",
      "description": "Additional interface options. A JSON-serialized object for an inline keyboard, custom reply keyboard, etc."
    }
  },
  "required": [
    "chat_id",
    "video"
  ],
  "title": "TelegramSendVideoInput",
  "type": "object"
}
```

</details>

## Output Parameters

| Name          | Type    | Description                                                    |
| ------------- | ------- | -------------------------------------------------------------- |
| sent\_message | object  | The message that was sent (if successful)                      |
| success       | boolean | Whether the video was sent successfully                        |
| error         | string  | The error that occurred if the video was not sent successfully |

<details>

<summary>View JSON Schema</summary>

```json
{
  "description": "Telegram send video node output.",
  "properties": {
    "sent_message": {
      "title": "Sent Message if successful",
      "type": "object",
      "description": "The message that was sent."
    },
    "success": {
      "title": "Success",
      "type": "boolean",
      "description": "Whether the video was sent successfully."
    },
    "error": {
      "title": "Error",
      "type": "string",
      "description": "The error that occurred if the video was not sent successfully."
    }
  },
  "required": [
    "success"
  ],
  "title": "TelegramSendVideoOutput",
  "type": "object"
}
```

</details>

## How It Works

This node sends a video to a specified Telegram chat or channel using the Telegram Bot API. You can provide the video as a file\_id (to reuse existing files), an HTTP URL (for Telegram to download), or upload new media. The node supports optional captions, thumbnails, streaming mode, and interactive elements, then returns the sent message and success status.

## Usage Examples

### Example 1: Send Video with Caption

**Input:**

```
chat_id: "123456789"
video: "https://example.com/tutorial.mp4"
caption: "Check out our tutorial video!"
duration: 125
width: 1280
height: 720
supports_streaming: true
```

**Output:**

```
success: true
sent_message: {
  "message_id": 12345,
  "chat": {"id": 123456789},
  "date": 1699564800,
  "video": {"duration": 125, "width": 1280, "height": 720},
  "caption": "Check out our tutorial video!"
}
```

### Example 2: Reuse Video File ID with Thumbnail

**Input:**

```
chat_id: "@my_channel"
video: "AgADBAADJL5kABC1234567890ABCDEF"
caption: "Previously shared video"
thumbnail: "https://example.com/thumb.jpg"
```

**Output:**

```
success: true
sent_message: {
  "message_id": 12346,
  "chat": {"id": -1001234567890},
  "date": 1699564801,
  "video": {"file_id": "AgADBAADJL5kABC1234567890ABCDEF"},
  "caption": "Previously shared video"
}
```

### Example 3: Video with Spoiler Alert

**Input:**

```
chat_id: "987654321"
video: "https://example.com/movie_clip.mp4"
caption: "Movie spoiler warning!"
has_spoiler: true
duration: 45
```

**Output:**

```
success: true
sent_message: {
  "message_id": 12347,
  "chat": {"id": 987654321},
  "date": 1699564802,
  "video": {"has_spoiler": true, "duration": 45},
  "caption": "Movie spoiler warning!"
}
```

## Common Use Cases

* **Tutorial Distribution**: Share instructional videos with users and teams
* **Announcement Videos**: Send video announcements or important updates
* **Demo Videos**: Share product demos or feature walkthroughs
* **Screen Recordings**: Send screen recordings for support or documentation
* **Event Coverage**: Share videos from events, meetings, or presentations
* **Media Channel Publishing**: Automatically post videos to Telegram channels
* **Training Content**: Distribute training videos to team members

## Error Handling

| Error Type           | Cause                                                 | Solution                                                              |
| -------------------- | ----------------------------------------------------- | --------------------------------------------------------------------- |
| Invalid Chat ID      | The chat\_id doesn't exist or bot doesn't have access | Verify the chat\_id is correct and the bot has been added to the chat |
| Invalid Video URL    | Video URL is broken or unreachable                    | Check the URL is valid and publicly accessible                        |
| File Not Found       | File ID doesn't exist or has expired                  | Use a valid file\_id or provide a fresh URL                           |
| File Too Large       | Video exceeds size or duration limits                 | Compress the video or split into multiple parts                       |
| Bot Lacks Permission | Bot cannot send videos in this chat                   | Verify bot has media sending permissions                              |
| Caption Too Long     | Caption exceeds 1024 characters                       | Shorten the caption text                                              |
| Invalid Thumbnail    | Thumbnail format incorrect or too large               | Use JPEG format and keep under 200 kB                                 |

## Notes

* **File IDs**: Telegram provides file\_id values for previously sent videos. Reusing file\_ids is faster and saves bandwidth.
* **Streaming Support**: Set supports\_streaming to true for videos that can be streamed rather than downloaded entirely.
* **Thumbnails**: Provide custom thumbnails to improve user experience. Telegram can auto-generate if not provided.
* **Duration and Dimensions**: Include duration, width, and height if known to provide better metadata.
* **Caption Length**: Captions are limited to 1024 characters after entity parsing.
* **Spoiler Animation**: Use has\_spoiler for content with plot twists or sensitive video content.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.agenticflow.ai/reference/nodes/telegram_send_video.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
