What is ShipAny Video Agent?
ShipAny Video Agent is a production-ready conversational AI video SaaS. Users describe a shot or attach source media; the agent decides how to use the material, chooses text-to-video or image-to-video, writes the cinematic prompt, renders the clip and charges credits for it.
Payments, subscriptions, credits, auth, admin, sharing, a media library and i18n are already wired. It is built on ShipAny (TanStack Start, Drizzle, better-auth) and runs on Node or Cloudflare Workers without relying on a writable filesystem.
Who it's for
- Founders launching an AI video product
- Creators' tools that need revision-friendly workflows
- Teams building on Seedance, MiniMax and similar models
- Products deployed on Cloudflare Workers or Node
Key features
Agent loop, not a prompt box
An LLM with generate_video and animate_image tools picks one, writes the cinematic prompt and calls it — "slow push in while the background goes soft" just works.
Agent-owned media routing
Users upload or pick from their library; the agent decides whether each image, audio or video is a frame or a reference input.
Credits priced per second
Per-model, per-second pricing deducted atomically, refunded when a render fails or is canceled, and refused up front when the balance is short.
Long renders handled
Polls for up to 15 minutes, persists task ids, supports cancel, and marks stale renders as interrupted instead of spinning forever.
Multiple providers
gRouter, Fal and Replicate; a model catalog maps one UI choice to each provider's model id.
Product shell included
Chat history, media library, clip preview and download, public share pages, a masonry showcase, billing, top-ups and admin settings.
What's included
- Framework
- TanStack Start, React 19, TypeScript
- Video models
- MiniMax H3, Seedance 2.5 (text-to-video, image-to-video)
- Providers
- gRouter, Fal, Replicate
- Auth & data
- better-auth, Drizzle ORM
- Storage
- Cloudflare R2 / S3 (clips stored directly)
- i18n
- English and Chinese
- Deployment
- Cloudflare Workers or Node
Getting started
- 1
Install and run
Clone the repo, install dependencies, set up the env file and database, create your admin and start the dev server.
- 2
Configure models and storage
In Admin → Settings, add the chat LLM, your gRouter, Fal or Replicate key and R2/S3 storage; test each group.
- 3
Price and launch
Set credit prices per model and second, configure payments, and deploy.
What you can build with ShipAny Video Agent
AI video generator sites
Text-to-video and image-to-video with conversational revisions.
Social and ad creatives
Short clips for social media and ads, refined shot by shot.
Photo animation
Bring product shots or portraits to life from a still image.
FAQ
How does it differ from Video Lite?
Video Lite is a form-based generator. Video Agent wraps the same models in a chat agent that routes media, writes prompts and keeps every revision in one conversation.
What happens if a render fails?
Credits are refunded automatically when a render fails or is canceled.
Can I switch video providers later?
Yes. Providers are set in the admin panel, and the model catalog keeps the user's selection the same across providers.
Technical details (README)
ShipAny Video Agent
A production-ready conversational AI video SaaS, built to rebrand and ship. Users describe a shot or attach source media; the agent decides how to use the material, chooses the right video tool, writes the cinematic prompt, renders the clip, and charges credits for it. Payments, subscriptions, credits, auth, admin, sharing, media library, and i18n are already wired.
Built on ShipAny (TanStack Start + Drizzle + better-auth). It runs on Node or Cloudflare Workers without relying on a writable filesystem.
What it does
The chat is an agent loop, not a prompt box. A message goes to an LLM that has
two tools — generate_video (text-to-video) and animate_image
(image-to-video) — and it picks one, writes the cinematic prompt, and calls it.
That's why a user can say "slow push in on her while the background goes soft"
and get a clip back instead of a form to fill in.
Around that loop:
- Agent-owned media routing — the composer only asks users to upload from their device or choose something from their library. The agent decides whether each image, audio file, or video is a frame or reference input and maps it to the generation tool's parameters.
- Video Lite-compatible composer — MiniMax H3 and Seedance 2.5 expose the
same duration, resolution, aspect-ratio, provider model mapping, and example
behavior as
shipany-video-lite. - Living showcase — examples use a responsive masonry layout, load and autoplay only near the viewport, and open in a full-screen preview with “Use this prompt” and “Use as reference” actions.
- Credits — priced per model and per second from a catalog, deducted atomically, refunded when a render fails or is canceled. A 10-second clip costs twice a 5-second one before resolution multipliers. The turn is refused up front when the balance is short, so nobody pays for an LLM turn that ends in a paywall.
- Paywall that fits — someone without a plan is shown plans; someone on a plan who ran dry is shown top-ups. The server decides which.
- Providers — gRouter, Fal, and Replicate, all configured in the admin panel. The model catalog maps a single UI choice to the id each provider expects, so switching providers does not change what the user selected.
- Renders take minutes, not seconds — the tool polls for up to 15 minutes at a 5-second interval. The upstream and local task ids are persisted; the composer becomes a stop button while work is active, cancellation is sent upstream when supported, and stale unfinished transcript rows are shown as interrupted instead of spinning forever.
- Stateless — conversation history replays from the database each turn, and generated clips go straight to object storage. No session files, no disk.
- Product shell included — chat history, reusable media library, clip preview/download, public share pages, bilingual UI, billing, top-ups, and an admin settings/test surface are included.
