Telegram Video and Image Ads: Specs, Sizes and Media vs Text (2026 Data)
Telegram ads accept one JPEG or PNG image up to 5 MB or one MP4 video up to 20 MB, Adsly found in Telegram's own ad editor on 19 October 2026, and an ad with a photo needs about 1.8 times the CPM of a text ad to be shown. Media is allowed only in ads that appear as a channel post. Across 357,388 paid campaigns in Adsly Pro Panel, media ads drew more clicks per impression but were bid higher, so inside the same advertiser media was cheaper per subscriber or bot start in 36 of 72 cases and text in the other 36. On Euro accounts media won 9 of 11.
Telegram has never published a spec sheet for ad images and video. Its help pages still describe a 160-character text ad with a button, and the Ad Policies do not mention pictures at all. Yet 360,191 of the 552,297 campaigns in Adsly Pro Panel carry a photo or a video. Advertisers upload, guess the limits, and argue in chats about whether a picture is worth the money.
We stopped guessing. On 19 October 2026 we read the limits straight from the ad editor on ads.telegram.org, took Telegram’s developer documentation for how media ads behave, and measured media against text across our base: 552,297 campaigns from 442 accounts, ads from 15 August 2023 to 19 October 2026, 1.29 billion impressions. TON, Euro and Stars accounts are reported separately and never added together.
Telegram ad image and video specs: the short answer
| What | Value | Where it comes from |
|---|---|---|
| Media per ad | One image or one video (field “Ad photo or video”) | Ad editor on ads.telegram.org |
| Image formats | JPEG, PNG | File picker of the ad editor |
| Video format | MP4 | File picker of the ad editor |
| Image size limit | 5 MB | Limit the editor loaded on one TON and two Euro accounts, 19 Oct 2026 |
| Video size limit | 20 MB | Same three accounts |
| Ad text | Up to 160 characters, spaces included | Ad Policies, section 1; editor limit 160 |
| Aspect ratio, resolution, video length | Not published | No Telegram page and no editor check names one |
| Price effect | ”Ads with a photo require a 80% higher CPM on average to be displayed.” | CPM tooltip on a channel-targeted ad |
The editor checks only type and size before upload. Its script carries fallback limits of 1 MB for a photo and 10 MB for a video, used when the server sends none; on every account we opened the server sent 5 MB and 20 MB. Pro Panel uploads take files up to 15 MB and hand them to Telegram, which has the final say; some accounts accept only 16:9 images at least 640 px wide, and Pro Panel shows Telegram’s reason when a file doesn’t fit. Our default that passes on every account type we run: a 16:9 JPEG under 5 MB, or an MP4 under 15 MB.
Where Telegram lets you add a photo or video
Media is a channel-post feature. The editor shows the “Ad photo or video” field only when the ad will appear as a post in a channel: targeting by channels, or targeting an audience with the placement “Message in Channel”. Choose “Banner in Video” or “Banner in Bot” and the field disappears together with the button choice. Target bots or search queries and there is no media field at all.
| Where the ad runs | Photo or video allowed | Campaigns in our base | With media |
|---|---|---|---|
| Chosen channels | Yes | 371,520 | 241,647 (65.0%) |
| Audience, Message in Channel | Yes | 127,862 | 118,544 (92.7%) |
| Audience, Banner in Video | No, text only | 3,453 | 0 |
| Audience, Banner in Bot | No, text only | 5,897 | 0 |
| Inside chosen bots | No, text and bot picture | 31,969 | 0 |
| Search results | No | 11,596 | 0 |
Audience ads with no stored placement are counted as Message in Channel, Telegram’s default; 23,984 of them carry media, which only that placement allows. Not one of the 52,915 campaigns in bots, search or the two banner placements carries media, so the data matches the editor exactly.
All three account types run media. The first ad with a photo in our base dates from 27 January 2025 on a Euro account, 10 July 2025 on TON and 28 November 2025 on Stars; the first video from 16 May 2025 on Euro and 22 November 2025 on TON.
What “Telegram video ads” means: two different things
Search for Telegram video ads and you find two formats that share a name.
The first is your own video inside a channel-post ad. It plays inside the ad in the channel feed, and it is the only way to show your footage on Telegram Ads.
The second is the ad Telegram shows on the player while someone watches a channel video full-screen. That one never carries a video. Telegram’s developer documentation is explicit: “The returned sponsoredMessages will always be text-only ads”, shown for a set time each and hidden automatically. In the editor this is the placement “Banner in Video”, and it takes text only.
So if your plan rests on a clip, build a channel-post ad with an MP4. If you want to reach people while they watch video, write a text ad for Banner in Video. Our base holds 3,453 Banner in Video campaigns against 5,080 campaigns with an uploaded video.
How a media ad looks and what counts as a click
A sponsored post in a channel has a title, a text, “an optional media” and a button, per Telegram’s API documentation. The picture takes the place of the channel avatar: once you attach a file, the editor hides the “Show channel picture” option, the small round photo next to the ad.
Taps on the media count. For “photos and videos without sound” a tap opens your link straight away. A video with sound first opens full-screen, and the link opens from there or from the button, which is one more step between the viewer and your channel.
A view is counted once “the entire text of the ad is shown on the screen”, picture or not, so the impression waits until the whole text has scrolled into view.
The text limit does not grow with a picture. The editor allowed 160 characters on every media ad we opened, the same as Telegram’s Ad Policies set for all ads.
The price of a picture: Telegram’s CPM surcharge
Next to the CPM field the editor shows a badge. On a channel-targeted ad with a photo it reads +80%, and the tooltip says: “Ads with a photo require a 80% higher CPM on average to be displayed.” On an audience-targeted ad in our own account the same line asked for 1.5 times the CPM. Custom emoji have their own line asking for 1.5 times as well, and the lines add up: an ad with a photo and custom emoji showed +130%.
| Ad as synced from Telegram | CPM the badge asks for | Ads | Accounts |
|---|---|---|---|
| Photo or video | 1.8× | 301,362 | 267 |
| Photo or video | 1.5× | 22,527 | 117 |
| Photo or video | 2× | 20,508 | 47 |
| Photo or video | 2.3× | 7,840 | 28 |
| Text only, no channel picture | no badge | 127,725 of 131,658 | 291 |
| Text with “Show channel picture” | 1.3× | 15,347 of 23,676 | 150 |
Only 4 of 352,850 media ads synced from Telegram carry no badge. Video ads most often show +100%, twice the CPM (1,983 of 2,470).
Advertisers pay it. On TON accounts in 2026, 21,577 of 119,618 channel-targeted text ads bid the 0.1 TON floor; among 176,463 media ads, one did. The lowest bid on an audience-targeted media ad was 0.15 TON, which is 0.1 × 1.5. Inside the same advertiser, channel-targeted media ads were bid at a median 1.80 times the text bid (96 advertiser-destination pairs, 83 accounts), audience-targeted ones at 1.08 times (32 pairs).
How fast media took over
Share of campaigns with a photo or video among ads that can carry one, by quarter of ad creation:
| Quarter | Euro campaigns (accounts) | Euro with media | TON campaigns (accounts) | TON with media |
|---|---|---|---|---|
| 2025 Q1 | 1,411 (6) | 35.7% | 5 (3) | 0.0% |
| 2025 Q2 | 4,814 (7) | 72.4% | 407 (11) | 0.0% |
| 2025 Q3 | 9,599 (10) | 93.6% | 1,082 (16) | 14.5% |
| 2025 Q4 | 8,203 (12) | 93.5% | 9,172 (46) | 68.1% |
| 2026 Q1 | 18,592 (28) | 96.3% | 73,991 (111) | 55.6% |
| 2026 Q2 | 30,181 (62) | 93.5% | 134,682 (167) | 54.0% |
| 2026 Q3 | 44,973 (48) | 97.9% | 112,655 (148) | 77.4% |
| 2026 Q4, to 19 Oct | 4,586 (15) | 95.6% | 20,283 (57) | 91.5% |
Since media became available, 92 of 108 Euro accounts and 206 of 298 TON accounts have run at least one media ad. In the last 90 days (21 July – 19 October 2026) 97.0% of 35,325 eligible Euro campaigns carried media, from 38 of 43 accounts. Video stays niche: in those 90 days only 4 Euro and 5 TON accounts ran any.
Media vs text: the raw averages
Paid campaigns in placements that allow media, by account type and destination. Spend is in the account’s own currency; CTR and cost per click leave out campaigns with more clicks than impressions or CTR above 25%.
| Account type, destination | Format | Campaigns (accounts) | CPM | CTR | Cost per click | Cost per result |
|---|---|---|---|---|---|---|
| Euro, channel subscribers | Media | 31,184 (36) | €3.23 | 0.73% | €0.440 | €3.582 |
| Euro, channel subscribers | Text | 4,448 (36) | €3.65 | 1.41% | €0.259 | €2.736 |
| Euro, bot starts | Media | 17,868 (35) | €1.95 | 0.96% | €0.203 | €0.611 |
| Euro, bot starts | Text | 1,447 (16) | €1.82 | 0.55% | €0.328 | €0.617 |
| TON, channel subscribers | Media | 49,670 (103) | 1.70 | 3.02% | 0.057 | 0.621 |
| TON, channel subscribers | Text | 43,037 (110) | 0.99 | 2.34% | 0.041 | 0.292 |
| TON, bot starts | Media | 77,793 (83) | 0.43 | 1.53% | 0.028 | 0.131 |
| TON, bot starts | Text | 19,178 (90) | 0.69 | 1.98% | 0.031 | 0.159 |
| TON, Mini App launches | Media | 40,474 (31) | 1.49 | 1.22% | 0.122 | 0.449 |
| TON, Mini App launches | Text | 9,831 (38) | 2.88 | 1.91% | 0.101 | 0.417 |
Base: 111,953 paid Euro campaigns (108 accounts, October 2023 – October 2026) and 240,258 TON campaigns (257 accounts, April 2024 – October 2026). TON figures are market data in TON.
These averages compare different advertisers with different offers, bids and channels, so they cannot tell you whether a picture helps. The next section can.
Media vs text inside the same advertiser
The fair test compares an advertiser with itself: same account, same destination, at least five paid campaigns of each format and at least 20 subscribers or bot starts on each side. 66 advertisers qualified, giving 72 pairs and 103,679 campaigns (59,379 with media, 44,300 text).
| Account type, destination | Pairs | Media cheaper per result | Text cheaper | Median cost, media ÷ text | Median CTR, media ÷ text | Median CPM, media ÷ text |
|---|---|---|---|---|---|---|
| All | 72 | 36 | 36 | 1.01 | 1.38 | 1.36 |
| Euro, channel subscribers | 6 | 5 | 1 | 0.79 | 0.48 | 1.13 |
| Euro, bot starts | 5 | 4 | 1 | 0.82 | 1.27 | 1.07 |
| TON, channel subscribers | 30 | 13 | 17 | 1.16 | 1.43 | 1.50 |
| TON, bot starts | 28 | 12 | 16 | 1.23 | 1.50 | 1.93 |
| TON, Mini App launches | 3 | 2 | 1 | 0.31 | 1.79 | 1.99 |
A picture lifted CTR in 48 of 72 pairs and raised CPM in 53. The two cancel out, and cost per result became a coin flip: 36 against 36. The spread is wide, which is the real lesson. In 26 pairs media cost at least a fifth less; in 27 text did; in 28 pairs the two formats differed two-fold or more.
The result holds when time is fixed. Comparing the same advertiser within the same month gives 56 cheaper with media and 50 with text (106 account-months, 59 accounts); fixing the targeting type too gives 58 against 54 (112 cells, 58 accounts).
On Euro accounts media won 9 of 11. Advertisers there paid only 1.1 times the text CPM for media at the median, far below the 1.82 on TON. Eleven advertisers is a small sample, so read it as a strong hint.
Media vs text by niche
The same within-advertiser test per niche. Niches are matched on ad words: crypto by “crypto”, “bitcoin”, “web3” in the text; trading by “forex”, “trading”, “broker”, “signal” in the title; the rest the same way.
| Niche | Pairs (advertisers) | Media cheaper | Text cheaper | Median cost, media ÷ text | Median CTR, media ÷ text | Campaigns, media / text |
|---|---|---|---|---|---|---|
| Crypto | 12 (11) | 7 | 5 | 0.79 | 2.07 | 3,241 / 15,220 |
| News and media | 6 (6) | 4 | 2 | 0.93 | 1.57 | 529 / 217 |
| Trading, forex, signals | 4 (4) | 2 | 2 | 0.89 | 1.20 | 840 / 125 |
| Gambling | 3 (3) | 2 | 1 | 0.73 | 0.61 | 443 / 91 |
| Mini Apps and games | 3 (3) | 2 | 1 | 0.98 | 1.38 | 1,170 / 519 |
| VPN | 2 (2) | 1 | 1 | 1.09 | 1.18 | 191 / 179 |
In crypto a picture doubled the click rate at the median and still won only 7 of 12, because the CPM nearly doubled too. A narrower cut can flip it: among crypto-signal channels on TON, 5 of 7 advertisers got cheaper subscribers with text, as we showed in the signals channel guide.
Photo or video?
Video is the costlier bet. Inside the same advertiser, with at least 10,000 impressions of each format, a video clicked less often than a photo in 12 of 15 pairs (14 advertisers). Where both formats brought at least 20 results, the photo was cheaper per result in 9 of 11 pairs (10 advertisers) and the video in 2.
The pooled Euro numbers point the same way: video at 0.47% CTR and €3.85 CPM (3,477 campaigns, 13 accounts) against 0.82% and €2.72 for photos (97,409 campaigns, 87 accounts). One advertiser holds 91% of the Euro video impressions, so the pairs above are the better guide. On TON, 241 video campaigns from 15 accounts clicked at 1.74% against 1.87% for photos.
One reason is mechanical. A tap on a silent photo opens your link; a tap on a video with sound opens the player first. Start with a photo and bring in video when it has something a still frame cannot show, such as a product in motion or a game.
Do photo and video ads get declined more often?
The Ad Policies never mention images, so the content rules apply to pictures as they apply to text. Three bite media most often:
- 5.1: no “Gruesome, disgusting, or shocking imagery” and no “sexually suggestive content”.
- 5.3: no “misusing brand logos or assets, e.g., the Telegram logo”. Keep Telegram’s paper plane out of your Telegram ad.
- 5.4: no “Clickbait or similar unrealistic statements, including you-just-won-X claims”. A screenshot of a fake win is that claim in picture form.
In our data, among 94 advertisers with at least 20 ads of each format in placements that take media, the decline rate was the same in 56, mostly zero for both. Where it differed, media ads were declined more often in 25 and text ads in 13. Niche matters more than format: see decline rates by niche.
Replacing the image sends a live ad back to review, like any edit except CPM, on/off and schedule. Plan creative swaps as new ads.
Creative rules that pass review and pay back
- One idea per picture. The 160-character text still carries the offer; the image should make the same promise, not a second one.
- Match the text and the destination. Section 4.3 requires the destination to “match the ad text”, and a picture that promises something the channel doesn’t deliver fails the same way.
- Match the language. Section 4.7: the language of the targeted channel should match the ad and the destination. Text inside the image counts.
- No Telegram logo, no third-party brand assets (5.3), no shock imagery (5.1), no fake wins or alarm (5.4).
- Readable at phone width. Large type, few words, high contrast; the picture shows in a channel feed on a phone.
- Video: the first frame does the work. The editor previews clips looped and muted, and a tap on a video with sound opens the player instead of your link, so the opening frame and on-screen text must read without sound.
- File: a 16:9 JPEG under 5 MB or an MP4 under 15 MB uploads on every account type we run.
A media test plan that pays for itself
- Build both versions at once. Same targeting, same destination, same week. Pro Panel Bulk Create multiplies texts × media variants × targets in one pass, so a text-and-photo split across 50 channels is one form.
- Bid for the surcharge. Give the media version 1.8 times the text bid on channel targeting, 1.5 times on audience targeting. Otherwise you are testing a media ad that never gets shown.
- Judge by cost per subscriber or bot start, not CTR. CTR rose in 48 of 72 advertiser pairs while cost per result stayed a coin flip.
- Wait for at least 20 results per version, our threshold above. A few hundred decides with confidence.
- Keep the winner, recycle the loser. Mass edit in Pro Panel replaces the media on every selected ad in one action; remember that each replacement goes back to review.
- Repeat per niche and per account type. The answer flipped between Euro and TON and between niches, so a test from someone else’s account proves little about yours.
Photo and video ads on a Euro account through Adsly
Media is standard on Euro accounts. In the last 90 days 97.0% of channel-post campaigns on Euro accounts in our base carried a photo or video, from 38 of 43 accounts, and the photo badge on our Euro accounts reads the same +80% as on TON.
A Euro account adds what self-serve Telegram Ads cannot: links to your own website. The self-serve platform states: “Links to external sites are not allowed.” Through Adsly, the official Telegram Ads partner:
- Opened in 48 hours, no KYC: we need the niche, not documents. Payment in any crypto.
- From €650: €500 goes to your ad balance, plus our €150. Nutra, adult, binary options and the gambling test launch start at €6,500; the official gambling account from €25,000 of budget.
- World coverage: every new Euro account reaches all available countries, including Russia and Ukraine; you pick countries per campaign.
- Pro Panel included: the strongest panel for Telegram Ads, with Bulk Create for text-versus-media tests, mass media replacement and hourly statistics.
Order on /cabinet/ or write to @adsly_pro.
FAQ
What size should a Telegram ad image be?
Telegram publishes no pixel size or aspect ratio. Its ad editor accepts JPEG or PNG up to 5 MB (the limit it loaded on our TON and Euro accounts on 19 October 2026). Some accounts accept only 16:9 images at least 640 px wide, so a 16:9 JPEG under 5 MB is the safe choice.
How long can a Telegram ad video be?
Telegram names no maximum length. The editor takes one MP4 up to 20 MB, and Pro Panel uploads take up to 15 MB. Make the first seconds work without sound: the editor previews clips muted, and a tap on a video with sound opens the player before your link.
Do Telegram ads with images cost more?
Yes. The editor’s tooltip says: “Ads with a photo require a 80% higher CPM on average to be displayed.” On audience-targeted ads we saw 1.5 times. Inside the same advertiser, channel-targeted media ads were bid at a median 1.8 times the text bid.
Are image ads better than text ads on Telegram?
Not by default. Inside the same advertiser media was cheaper per subscriber or bot start in 36 of 72 cases and text in 36. Pictures lift CTR, the surcharge eats the gain, and the outcome depends on your offer. On Euro accounts media won 9 of 11.
Can I add a picture to a bot ad or a search ad?
No. The editor shows the media field only for ads that appear as a channel post: channel targeting or audience targeting with “Message in Channel”. Ads inside bots, in search results, in Banner in Video and in Banner in Bot are text only.
What are Telegram video ads?
Two things share the name: your own MP4 inside a channel-post ad, and the ads Telegram shows over full-screen channel videos. The second kind is always text only, per Telegram’s developer documentation.
Do TON and Stars accounts support photo and video ads?
Yes, the editor is the same and all three account types carry media in our base. Adsly opens Euro accounts, which add links to your own website.
Sources
- Telegram, Ad Policies and Guidelines: sections 1 (160 characters), 4.3, 4.7, 5.1, 5.3 and 5.4 quoted above (read 19 October 2026).
- Telegram, Telegram Ad Platform Explained: “Links to external sites are not allowed”; minimum CPM 0.1 Toncoin.
- Telegram, Telegram Ads: “type up to 160 characters, add a Telegram link to promote”.
- Telegram, Sponsored messages and sponsoredMessage: optional media, click handling for photos and videos, view counting, text-only ads on channel videos.
- Telegram, ad editor script: accepted file types, media field by targeting and placement, fallback size limits.
- Telegram ad editor on ads.telegram.org, read on 19 October 2026 on one TON and two Euro accounts: size limits 5 MB and 20 MB, 160-character text limit, CPM badges and tooltips, placement names.
- Adsly, Upload media: Pro Panel upload formats and the 16:9 rule on some accounts.
- Adsly Pro Panel, campaigns as synced on 19 October 2026: 552,297 campaigns, 442 accounts, ads from 15 August 2023 to 19 October 2026.