Goal
Once a listing is live, turn its product into per-channel social content and drive viewers to the right place to buy.
What's Inside Make Content
The Make Content surface (in-app: Dashboard → Promote → Make Content) generates four formats from a single listing. Every format lives on the same row — the format you pick at generation time decides what the worker produces and what gets billed.
| Format | What it is | Credits |
|---|---|---|
| Video | AI shoppable video — scene planning, voiceover, music, assembly | 40 (social_video) |
| Slideshow | Your photos with Ken Burns motion + music. No AI generation | 12 (social_slideshow) |
| Carousel | Multi-image swipeable post (no video) | 4 (social_carousel) |
| Single Photo | One image post | 1 (social_single) |
The in-app primary button is dynamic: it reads Make Video / Make Slideshow / Make Carousel / Make Single Photo based on the format you selected.
Format × Channel Support
Not every format makes sense on every social channel. Vaybel enforces these combinations at publish time:
| Format | TikTok | YouTube | X | |
|---|---|---|---|---|
| Video | yes | yes | yes | yes |
| Slideshow | yes | yes | yes | yes |
| Carousel | yes | yes | — | yes |
| Single Photo | — | yes | — | yes |
Asking the publisher to put a carousel on YouTube, or a single photo on TikTok, is a clean error — pick a different format or a different channel.
Sales-Channel-Aware CTAs
Every post is anchored to one sales channel — the destination viewers should buy from. Vaybel picks it automatically (you can override on a per-post basis):
- TikTok posts drive to TikTok Shop when the product is live there. TikTok Shop is exclusive — when a TikTok post drives to TikTok Shop it cannot name any other destination.
- Other channels (Instagram, YouTube, X) — and TikTok when there is no live TikTok Shop listing — drive to the best non-TikTok marketplace: Shopify if connected, otherwise Etsy.
You can preview the resolved destinations for a listing before generating posts via the MCP tool content.resolve_sales_channels, and inspect the CTA-language policy for any (social, sales) pair via content.get_cta_policy.
How Buy Links Land On Each Platform
Per-channel publishers can't all carry a clickable link in the post body. Vaybel uses the right mechanic for each:
| Channel | Link mechanic |
|---|---|
| X | Clickable link in the post itself |
| YouTube | Link in the video description |
| Manual bio link | |
| TikTok | TikTok Seller Center product anchor (TikTok Shop), or manual bio link |
content.get_cta_policy returns the active link_mechanic and an allow_caption_link flag so a caption-generation LLM never tries to paste a URL where the platform will silently strip it.
End-to-End Flow
Pick a listing and a format
Start from a published listing. Open Make Content, pick Video / Slideshow / Carousel / Single Photo. For carousel / single, attach the source images. Submit — the worker dispatches and bills only on success.
Wait for the asset
Video and slideshow produce an MP4 (5–15 minutes typical). Carousel and single resolve in seconds — they're pass-throughs of the source images.
Generate per-channel posts
Pick the social channels you want — any subset of TikTok / Instagram / YouTube / X (subject to the format × channel matrix above). Vaybel writes one caption + hashtag set per channel, with the right CTA copy and link mechanic for the resolved sales channel.
Edit captions if needed
Every per-channel post is editable while it's in PENDING or FAILED — caption text, hashtags, buy URL. Once a post is PUBLISHING or PUBLISHED it's frozen.
Publish
Hand the post(s) to the per-channel publisher. TikTok takes optional posting settings (privacy level, comment / duet / stitch toggles); Instagram, YouTube, and X take the assembled payload as-is. Each publish call returns a publish_url and external_id per channel.
Driving This From An Agent (MCP)
The full surface is wrapped as MCP tools — every step above is callable from any MCP-capable client. See the Tool Reference for full signatures.
| Step | MCP tool | Scope |
|---|---|---|
| Generate the asset | content.generate | content:write |
| Poll status | content.get_status / content.wait | content:read |
| Preview destinations | content.resolve_sales_channels | content:read |
| Read CTA policy | content.get_cta_policy | content:read |
| Generate per-channel captions | content.generate_social_posts | social_post:write |
| List persisted posts | content.list_social_posts | social_post:read |
| Edit a post pre-publish | content.update_social_post | social_post:write |
| Publish to channels | content.publish_social_posts | social_post:write |
A PAT that needs the whole loop should carry content:read, content:write, social_post:read, and social_post:write. Tokens are pinned to one organization — agents can't reach into another org's content items or posts.
Next Read
- Tool Reference — full signatures for every Make Content + social-publish tool
- Connect TikTok Shop — required for TikTok posts to anchor to TikTok Shop
- Create and Publish Listings — earlier step in the flow