VidGuy Docs

Build videos faster with VidGuy

Guides and best practices for turning prompts into platform-ready videos.

Token Snacks

Send one DexScreener link and get a pack of short-form posts for that token back. No brand setup. It's built for launchpads, trading apps and community tools that have more tokens than anyone could register by hand.

Available on the Scale plan, through the API (POST /api/v1/snacks/on-demand). Other plans get a 403 with code: "on_demand_requires_enterprise".

How it works

  1. We look the token up on DexScreener. Name, symbol, chain, socials and logo. This happens before we reserve any credits, so a token DexScreener doesn't know costs you nothing.
  2. The agent studies the logo first. One look at the artwork (the mascot, the art style, the joke, the meme it comes from) before it writes a word. Every post in the pack builds on it.
  3. The posts stay on culture, memes and community hype. No prices, no charts, no financial claims, no numbers that go stale by tomorrow.
  4. Every call is fresh. We remember what we made for each token address, so the next pack for the same token gets new hooks and new clips.

What you get

A default pack is 4 posts: slides, text-wall, ai-ugc and greenscreen-meme. meme-edit, single-image and sticker-pack only run when you name them in types.

slides

A swipeable carousel for TikTok or Instagram.

text-wall

A short video with the hook stacked in big text over it.

ai-ugc

A 9:16 AI creator video, talking to camera about the token.

greenscreen-meme

A known meme clip keyed onto a new backdrop, with a POV hook on top.

meme-edit

A known reaction clip with a new caption about the token. Opt-in.

single-image

One 9:16 image, like a comic strip or a mascot scene, drawn from the token's logo. Opt-in.

sticker-pack

Six Telegram-ready stickers of the token's mascot (512 px, transparent WEBP), like gm or wagmi. Opt-in.

Make a request

curl -X POST https://www.vidguy.ai/api/v1/snacks/on-demand \
  -H "Authorization: Bearer vf_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "dexScreenerUrl": "https://dexscreener.com/solana/8sLbNZoA1cfnvMJLPfp98ZLAnFSYCFApfJKMbiXNLwxj",
    "prompt": "The community is hyped about the new sticker pack.",
    "render": true
  }'

The response has a jobId. Poll GET /api/v1/jobs/{id} (see Polling). A pack takes about 2 minutes, or 5 to 6 minutes with render: true. With render: true, the finished PNG, MP4 and WEBP files are listed in result.renderedAssets[].

FieldWhat it does
dexScreenerUrlA https://dexscreener.com/<chain>/<address> link. A pair address works best. With a token address, we use the pair with the most liquidity on that chain.
typesWhich posts to make: slides, text-wall, ai-ugc, greenscreen-meme, meme-edit, single-image, sticker-pack.
countNumber of posts (1 to 5); repeats the requested types.
excludeTypes to leave out of the default pack.
promptA creative steer for the whole pack: a launch, a meme, an inside joke, the vibe.
languageISO 639-1 code, e.g. es, de, tr. Default en.
websiteUrlThe project's own site, if DexScreener lists the wrong one or none.
nameA name for the job.
renderAlso render the files server-side (+3 credits).

If you send dexScreenerUrl together with shopUrl or websiteUrl, the token wins.

The response

{
  "jobId": "...",
  "offeringId": "snack_generation",
  "status": "queued",
  "pollUrl": "/api/v1/jobs/...",
  "creditsReserved": 28,
  "render": true,
  "source": "token",
  "token": {
    "address": "So11...",
    "chainId": "solana",
    "pairAddress": "8sLb...",
    "name": "Example Coin",
    "symbol": "EXMPL",
    "imageUrl": "https://dd.dexscreener.com/ds-data/tokens/solana/...png",
    "url": "https://dexscreener.com/solana/8sLb..."
  }
}

token is what we found on DexScreener. Check it to make sure you got the coin you meant. When the job completes, result.decisions.token_image_analysis shows what the agent saw in the logo and how it steered the pack.

Errors

StatusWhenCharge
400DexScreener doesn't know the pair or token, or the link isn't a DexScreener URL.None
402Not enough credits. The response has your balance.None
403Your plan isn't Scale (on_demand_requires_enterprise).None
502DexScreener is down. Retry in a minute.None

If a job fails after it starts, its credits are refunded automatically.

Pricing

Credits
Snack pack25
Pack without ai-ugc18
render: true+3

The price is per call, not per post. A default pack with rendering is 28 credits.

Need ads for a store or an app instead of a token? Use Ads on Demand. It's the same endpoint with shopUrl.