Back to blog

Selling AI meme videos for $2.99: notes from a paid-only, no-signup side project

Oct 17, 2026Wang WeiWang Wei

What I learned building Step Into the Scene in under a week: guest checkout without accounts, swapping payment providers mid-launch, a test-mode bug that would have given away credits, and what each AI video actually costs.

Selling AI meme videos for $2.99: notes from a paid-only, no-signup side project

Every few weeks a TikTok trend takes off that people want to remake with their own pet: right now it's a cat in a pickup saying "State? This ain't no state property," and in ten days it will be pets crossing the marigold bridge for Día de Muertos. The usual way to join in is a CapCut template that pastes your photo onto a background.

Step Into the Scene does one thing: pick a trend, upload one photo, get the real moving 10-second video. I built it in under a week on top of a SaaS boilerplate. These are the decisions and mistakes that seemed worth writing down.

Paid-only, no free tier

Every clip costs real money to render, so a free tier mostly attracts abuse. The numbers per 10-second clip, from the providers' price lists:

  • Day of the Dead scene, Wan 2.6 Flash (Alibaba): about $0.50 at 720p, $0.75 at 1080p.
  • Hit the Road Dude scene, Grok Imagine Video 1.5 Lite (xAI): about $0.31 at 720p, $1.41 at 1080p, voice included.

A standard video sells for $2.99 on its own. Credit packs bring it down to about $1.50. There is no subscription: these are one-off, seasonal purchases, and nobody wants a monthly plan for a meme.

I picked the two models after rendering the same prompts across several image-to-video models. Wan kept a pet's markings best while walking. Grok speaks the scripted line in the same render, so there's no separate voice and lip-sync step.

Checkout without an account

Asking people to sign up before paying $2.99 kills the impulse, so the site creates an anonymous session the first time someone uploads a photo. Credits and videos hang off that anonymous user. If they create an account later from the same browser, everything moves over. Guest videos stay downloadable for 3 days.

The photo upload returns a signed token, so the photo survives the round trip to the payment page without being uploaded twice.

Swapping payment providers mid-launch

My first merchant-of-record application was still in review when the trend was peaking, so I integrated a second one (Waffo Pancake) behind the same provider interface in about a day. Two things were fiddly on Cloudflare Workers:

  • Request signing. Their API wants RSA-SHA256 signatures, and the dashboard can hand out PKCS#1 keys. WebCrypto only imports PKCS#8, so the key gets wrapped in a few lines of hand-written DER before importing.
  • Webhooks. Signatures cover timestamp.body. I verify against the platform's public key for the configured environment only, reject anything older than the tolerance, and check that the event's mode matches, so a test-mode event can never settle a production order. Settlement is idempotent: a unique grant per order number, so retries and the "user came back to the site" path can't double-credit.

The bug that would have given credits away

While testing, I noticed that a payment provider in test mode accepts the provider's published test card numbers. If production is pointed at a test-mode provider, even for an hour while you wait for review, anyone who knows those card numbers can buy real credits for free.

The fix is boring: checkout refuses non-admins whenever the selected provider is in test or sandbox mode, unless an explicit "allow test payments" switch is on. Worth checking in your own app if you ever run test keys on a public URL.

Moderation and model disclosure

The payment provider's review asked for two things I hadn't thought about: a real moderation step, and naming the actual models. So:

  • Users can't type prompts. Each scene's prompt is fixed.
  • Every photo goes through an NSFW classifier before it can be used, and it fails closed: if the classifier is down, the upload is rejected.
  • Both video models run with their own safety checkers on. A refused generation refunds its credits.
  • The generator shows the model name before you pay, and the acceptable use policy lists them with a reporting address and response times.

I ended up liking the disclosure. It's an honest answer to "is this just a wrapper?": yes, and here is exactly which one.

Trends have a short half-life

Search interest in a meme like Hit the Road Dude lasts a couple of weeks. Día de Muertos is the opposite: it peaks around October 27 every year. That shapes the work:

  • Each trend is one config file: prompt, model per quality tier, example clips, and the English and Spanish landing copy with FAQs.
  • Pages ship with real structured data. My first version said price: 0, which is exactly what an AI answer engine would quote back as "free". There's also an llms.txt with the facts that get asked most: price, credits per video, models, retention.
  • IndexNow runs after every deploy, so Bing sees a new trend page within minutes.

What I don't know yet

Whether people will pay $2.99 for a meme they could approximate for free. The site has been live for a few days and the Día de Muertos window is the real test. I'll update this post with the numbers either way.

If you have a pet and five minutes, I'd love feedback on the output quality: stepintoscene.com.