VibeFree ad formats and specs
VibeFree sells 33 ad formats, every one drawn natively by VibeFree inside its own apps and labelled Sponsored: text and image units, video, carousels, polls and quizzes, HTML5 embeds and playables, follow-up chips, coding-agent moments, a brand agent, templates, a new-chat takeover, sponsored rewards and a newsletter slot. The cheapest is the text loader unit, from £1.99 per 1,000 verified views. Campaigns run on the web app, the VS Code extension and the mobile app today, and can be bought for the Windows desktop app now - those impressions start when each one launches.
This page is the reference: each format's fields and character limits, the file specs, and how each is priced. Limits in brackets are the most characters a field takes; the console rejects anything longer.
Rules every format follows
- Labelled and separate. Every unit is labelled Sponsored and drawn apart from the reply, and every unit in the apps carries a "Why this ad?", hide and report menu. Nothing a campaign buys changes a word of what the assistant says.
- Your domain, verified. Every landing URL is
https://and must sit on a domain your organisation has verified (or one an admin allowlisted for it, such as an app store). - Hosted by VibeFree. Images, video and HTML5 bundles are uploaded to VibeFree and served from its own origin. No ad-network tag or tracking pixel is ever loaded; an embed or playable bundle runs in a sandboxed frame with no access to the page around it.
- Reviewed, then frozen. A person approves every creative before it serves. The approved version is what runs; an edit goes back to review while the old one keeps serving.
- Size S or L. A small (S) unit can share the screen with one other while a reply is being written; a large (L) unit is shown alone. Outside a running reply there is one unit at a time, and the mobile app always shows one at a time.
While the assistant works (loader)
Shown in the slot the reader watches while a reply is being written. Formats marked "loader + end" can run in either place, and an ad group can be limited to one.
| Format | Size | What you supply (character limits) | Priced by | Where it runs |
|---|---|---|---|---|
| Text (loader) | S | Company name (60), ad line (60), landing URL, optional brand icon | CPM, CPC | Web, VS Code, Android (desktop on release) |
| Image, small (loader + end) | S | Company (60), ad line (90), button text (20), landing URL, 1:1 image | CPM, CPC | Web, VS Code, Android (desktop on release) |
| Image, large (loader + end) | L | Company (60), ad line (90), button text (20), landing URL, 1.91:1 image | CPM, CPC | Web, VS Code, Android (desktop on release) |
| Tip card (loader + end) | S | Company (60), tip (120), landing URL, optional icon | CPM, CPC | Web, VS Code, Android (desktop on release) |
| Sponsored progress skin (loader) | S | Company (40), brand line (40), up to 6 spinner verbs (24 each), landing URL, optional icon | CPM | Web, VS Code, Android (desktop on release) |
| Video (loader + end) | L | Company (60), headline (60), button text (20), landing URL, MP4 video, 16:9 poster image | CPCV, CPM | Web, VS Code, Android (desktop on release) |
| Carousel (loader + end) | L | Company (60), headline (60), 3-5 cards - each a 1:1 image, a title (40) and its own landing URL | CPM, CPC | Web, VS Code, Android (desktop on release) |
| Poll (loader + end) | S | Company (60), question (120), 2-4 answers (40 each), optional URL and icon | CPE (a vote) | Web, VS Code, Android (desktop on release) |
| Quiz (loader + end) | S | As a poll, plus the correct answer and an explanation (200) | CPE (an answer) | Web, VS Code, Android (desktop on release) |
| Promo-code card (loader + end) | S | Company (60), ad line (90), code (2-24 letters, digits, - or _), optional terms (120), landing URL, optional icon | CPM, CPC, CPA hybrid | Web, VS Code, Android (desktop on release) |
| Embed - HTML5 rich media (loader + end) | L | Company (60), headline (60), HTML5 bundle, optional button text, landing URL, optional icon | CPM, CPE | Web, VS Code, Android (desktop on release) |
| Playable (loader) | L | Company (60), title (60), HTML5 bundle, optional button text, landing URL. Offered only on turns the app expects to run 20 seconds or more | CPE, CPM | Web, VS Code, Android (desktop on release) |
Once the answer lands (end of response)
Shown beside the finished reply, never inside it, and held on screen while it is being read rather than rotated away. The brand agent has its own page.
| Format | Size | What you supply (character limits) | Priced by | Where it runs |
|---|---|---|---|---|
| Text (end of response) | S | Company name (60), ad line (60), landing URL, optional brand icon | CPM, CPC | Web, VS Code, Android (desktop on release) |
| Sponsored option card | S | Company (60), the need it answers (one of 16, such as auth, database, payments, hosting), headline (60), ad line (90), button text (20), landing URL, optional icon. Serves only when the turn is about that need | CPM, CPC | Web, VS Code, Android (desktop on release) |
| Lead-gen card | S | Company (60), offer (80), optional details (160), button text (20), privacy-policy URL, landing URL, optional icon | Per completed lead | Web, VS Code, Android (desktop on release) |
| Conversational brand agent | L | Company (60), agent name (40), headline (60), ad line (90), opening message (200), 1-8 allowed topics (40 each), reference docs (up to 20,000 characters), button text (20), landing URL, optional icon | CPE (the first message sent) | Web, VS Code, Android (desktop on release) |
Follow-ups and agent moments
Units that act inside the agent, or appear at a moment in a coding task. Each one that sends something into the agent needs a passing dry run in the sandbox before it can be submitted - see sponsored installs and follow-up chips for every safeguard.
| Format | Size | What you supply (character limits) | Priced by | Where it runs |
|---|---|---|---|---|
| Sponsored follow-up chip | S | Company (60), chip label (60), the prompt a click sends (600), landing URL for the "about" link | CPC | Web, VS Code, Android (desktop on release) |
| Sponsored install (package or MCP server) | S | Company (60), label (60), npm, PyPI, npm MCP server or remote MCP server, package name, one exact version (never a range or "latest"), integrity hash, the prompt that follows the install (400), landing URL | Per completed install, CPC | VS Code (desktop Code mode on release) |
| Post-task action | S | Company (60), line (80), button text (20), landing URL, optional icon. Shown when an agent turn finishes a task | CPC | VS Code (desktop Code mode on release) |
| Error-moment action | S | As a post-task action. Shown after a failed build, test, type check, lint, install, command or deploy, and targeted on that kind only | CPC | VS Code (desktop Code mode on release) |
New chat and new project
Units on a screen nobody has started typing into yet.
| Format | Size | What you supply (character limits) | Priced by | Where it runs |
|---|---|---|---|---|
| New-chat hero | S | Company (60), headline (60), ad line (90), button text (20), landing URL, optional icon, optional 1:1 image | CPM, CPC | Web, Android (desktop on release) |
| Session sponsorship takeover | L | Company (60), headline (60), brand line (40), up to 6 spinner verbs, button text (20), landing URL, optional icon, optional 1.91:1 image. Owns the new-chat hero and each session's first loader for the days booked | Per day, booked 3+ days ahead, up to 31 days | Web, VS Code, Android (desktop on release) |
| Sponsored template or starter kit | S | Company (60), name (40), description (120), design or code project, starter prompt (600), optional 1.91:1 image, landing URL | CPC, per project started | Design and new-project pickers on every app |
Sponsored rewards (/earn)
Opt-in units on the VibeBucks earn page, where the person chooses to take part and is rewarded in VibeBucks for finishing. They never run inside a chat. The VS Code panel lists them and opens them on the web. Sponsored rewards covers the survey builder, interviews and quality checks.
| Format | Size | What you supply (character limits) | Priced by | Where it runs |
|---|---|---|---|---|
| Rewarded video | L | Company (60), title (60), MP4 video, 16:9 poster, optional button text and URL | CPCV | Web, Android (/earn; desktop on release) |
| Rewarded playable | L | Company (60), title (60), HTML5 bundle, minimum play time (15, 30, 45 or 60 seconds), optional URL | Per completion | Web (/earn; desktop on release) |
| Learn-and-earn quiz | L | Company (60), title (60), lesson (2,000), 1-5 questions, optional URL | Per completion (a passed quiz) | Web, Android (/earn; desktop on release) |
| Paid questionnaire | L | Company (60), title (60), a questionnaire built in the console | Per respondent-minute | Web, Android (/earn; desktop on release) |
| Paid AI chat interview | L | Company (60), title (60), an interview built in the console | Per respondent-minute | Web, Android (/earn; desktop on release) |
| Verified trial | S | Company (60), title (60), the task to complete (200), landing URL, optional icon | Per completion, confirmed by your postback | Web, Android (/earn; desktop on release) |
| "Make one API call" | S | Company (60), title (60), a one-line command (300) containing {{click_id}}, landing URL, optional icon | Per completion, confirmed by your postback | Web, Android (/earn; desktop on release) |
| Sponsored daily streak | S | Company (60), title (60), message (120), optional URL and icon | CPM | Web, Android (/earn; desktop on release) |
| Offer | S | Company (60), title (60), description (200), landing URL, optional 1:1 image | Per completion, confirmed by your postback | Web, Android (/earn; desktop on release) |
One labelled slot in the VibeFree newsletter, sent only to people who opted in to marketing email.
| Format | Size | What you supply (character limits) | Priced by | Where it runs |
|---|---|---|---|---|
| Sponsored email slot | S | Company (60), headline (60), ad line (140), button text (20), landing URL, optional 1.91:1 image | CPM (per email sent) | Newsletter |
A format runs only on an app version that can draw it. Builds released before these formats keep showing the two text units, so newer formats reach those people as they update.
File specs
| Asset | Accepted | Limits |
|---|---|---|
| Image, 1:1 | PNG, JPEG or WebP (no SVG, no GIF) | At least 128 x 128 px, within 2% of square, up to 1 MB |
| Image, 1.91:1 | PNG, JPEG or WebP | At least 600 x 314 px, within 3% of 1.91:1, up to 1 MB |
| Video | MP4, H.264 video, AAC audio | 6-30 seconds, up to 8 MB, short side no more than 720 px, at least 320 x 180 |
| Video poster | PNG, JPEG or WebP, 16:9 | At least 640 x 360 px, up to 1 MB. Required - VibeFree never transcodes, so it cannot make one for you |
| HTML5 bundle (embed, playable) | A .zip with index.html at its root | Up to 5 MB. Runs sandboxed with no network access; it talks to the page only to report an interaction or ask for your landing page |
| Brand icon | An https:// image URL or a small PNG, JPEG or WebP data URI | Optional, 2,048 characters at most |
Video plays when it is on screen, with sound where the app allows it and muted otherwise; on mobile it starts muted, and only on unmetered Wi-Fi with reduced motion off. A video showing counts as viewable after two seconds, and a video slot is never refreshed mid-play.
How each pricing model bills
You buy an ad group in blocks, and a block is a fixed number of whatever the group is priced by. The price of a block is your bid times the block size - except CPM, where the bid is already per 1,000. The text units start at £1.99 per 1,000 views (loader) and £12.99 per 1,000 (end of response); every other format's minimum for each model is shown in the ad group form.
| Model | What you are charged for | One block |
|---|---|---|
| CPM | A viewable impression: at least half the unit on screen for a second | 1,000 views |
| CPC | A click - and only after the same showing was viewable | 100 clicks |
| CPCV | A video watched to the end | 1,000 completed views |
| CPE | An engagement VibeFree can see: a vote, a quiz answer, a first interaction with an embed or playable, a first message to a brand agent | 100 engagements |
| Per completion | A finished action: a lead, a confirmed install, a project started from a template, a completed reward | 10 completions |
| Per respondent-minute | Each minute a respondent spends in a questionnaire or interview | 100 respondent-minutes |
| CPA hybrid | A small fixed amount per click, plus the CPA when your postback reports a conversion | 10 actions |
| Per day | One booked day of a takeover, billed on its first viewable showing | 1 day |
You pay exactly your own bid when you win - first price, no second-price discount. Anything confirmed by your own server (a CPA hybrid, a verified trial, an API-call offer, an offer) needs your organisation to pass the signed postback test in the sandbox before the campaign can be submitted - see conversion tracking with signed postbacks.
Campaign limits
- Up to 10 ad groups per campaign and 10 creatives per ad group. An ad group is one format, one pricing model and one bid.
- 1 to 10,000 blocks per ad group - for CPM, up to 10,000,000 verified views.
- Bids up to £10,000.00 per billing unit, and up to £50,000.00 in one checkout. The ceilings are there to catch a typo, not to cap a real campaign.
- Charged in GBP through Stripe, whichever currency this page is displaying.
Frequently asked questions
What ad formats can I buy on VibeFree?
33 self-serve formats across six kinds of placement: the loading slot while the assistant works, the end of the response, follow-up chips and coding-agent moments, the new-chat and new-project screens, opt-in sponsored rewards on the earn page, and one slot in the newsletter. They range from one line of text to video, carousels, polls, HTML5 embeds and a brand agent that answers questions from your docs.
What image and video files does VibeFree accept?
Images are PNG, JPEG or WebP up to 1 MB: 1:1 at 128 x 128 pixels or more, or 1.91:1 at 600 x 314 or more. Video is an MP4 with H.264 video and AAC audio, 6 to 30 seconds, up to 8 MB, no larger than 720p, with a 16:9 poster image of at least 640 x 360. Every file is uploaded to VibeFree and served from VibeFree, never from your own server.
Can I run my own ad tag or tracking pixel?
No. Every unit is drawn by VibeFree inside its own apps, and nothing in it loads from the advertiser. HTML5 embeds and playables run sandboxed with no network access at all. Conversions come back to you through a signed server-to-server postback, which needs no pixel.
Do I need different creative for each surface?
No. One creative runs on every surface its format supports and the ad group was bought for, drawn natively on each. A few formats only exist where they make sense - installs and coding-agent moments in VS Code (and the desktop app, once released), sponsored rewards on the earn page.
What does the cheapest format cost?
The text loader unit, from £1.99 per 1,000 verified views - one block is the whole minimum. Every other format and pricing model has its own minimum bid, shown in the ad group form as you build it. Bids go up to £10,000.00 per billing unit.
Is every creative reviewed?
Yes. Nothing serves until a person has approved it, and the approved version is frozen: editing a live creative sends the new version back to review while the approved one keeps serving.
Start a campaign from £1.99, see where each placement appears in the conversation, or read how buying works from draft to live.
Related pages
- Advertising inside an AI chat - Every placement in a conversation, and where each appears.
- Contextual ad targeting - The label taxonomy, Smart targeting, negatives and the simulator.
- Conversion tracking with postbacks - Signed postbacks, webhooks, the CPA hybrid and the anomaly pause.
- Or browse every VibeFree guide.