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.

View JSON Schema
{
  "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"
}

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

View JSON Schema
{
  "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"
}

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.

Last updated

Was this helpful?