Deploy AI Short Video Generator — Gemini + Veo
Generate TikTok, Reels & Shorts videos with AI — Gemini + Veo
Give Up Video Generator
Just deployed
Deploy and Host I'm Not Moving Today on Railway
I'm Not Moving Today is an open-source AI video generator for short-form content — upload an image, describe your idea, and it uses Google Gemini to craft a viral-ready script and Google Veo 3.1 to generate the actual video for Reels, TikTok, and YouTube Shorts. It handles platform-specific hooks, consistency modes, and motion dynamics automatically. This template deploys the web app on Railway, where it orchestrates the AI calls while Google's models do the heavy video generation.
What This Template Deploys
| Service | Purpose |
|---|---|
| I'm Not Moving Today | The Next.js web app — script generation, video orchestration, and UI on port 8080 |
A single lightweight service. The actual video generation runs on Google's Veo infrastructure via API, so Railway hosts the interface and orchestration — no GPU needed on your side.
About Hosting
This template is well-suited to Railway precisely because of how the work is split.
Railway runs the app; Google runs the models. The container is a Next.js application that builds scripts with Gemini and requests video generation from Google Veo 3.1 over the API. The compute-heavy part — actually rendering the video — happens on Google's infrastructure, not on Railway. That's why this deploys cleanly on standard CPU hosting: Railway serves the UI and coordinates the API calls, and no GPU is required on your end.
The API key model decides who pays. GEMINI_API_KEY is optional and it controls the cost model. If you set your own key, users of your deployment generate videos for free — and every generation bills your Google account. If you leave it unset, each user supplies their own key and pays for their own generation. For a public deployment, understand that setting your key means you're covering everyone's usage.
Veo generation costs real money — plan for it. Google Veo 3.1 is a premium model billed per video, and short-form AI video is not cheap to generate. Whether you or your users pay, budget accordingly. VEO_USE_STANDARD=false (fast mode) is the cheaper default; true raises quality and cost. A mock provider mode is available for testing the flow without spending on real generation.
No database or volume needed for basic use. The app orchestrates and returns videos; there's no heavy local state to persist for the core flow, which keeps the deployment simple and cheap on the Railway side.
Typical cost: ~$5/month on Railway for the app itself, plus Google Veo/Gemini API usage, which is the main expense and scales with how many videos are generated.
How It Compares
| This app (self-hosted) | Revid / Opus (SaaS) | Manual editing | Veo direct (API) | |
|---|---|---|---|---|
| Cost model | Railway + your API usage | Subscription | Time | API usage |
| Script + video in one | Yes | Yes | No | No (video only) |
| Platform-specific hooks | Yes | Varies | Manual | No |
| Self-hosted / own keys | Yes | No | N/A | N/A |
| Video engine | Google Veo 3.1 | Varies | N/A | Veo 3.1 |
| Data ownership | Full | Vendor | Full | Full |
SaaS short-video tools are polished but subscription-priced and closed. Using Veo's API directly gives you video but no script generation or platform strategy. This app pairs Gemini scripting with Veo generation and platform-specific optimization in one self-hosted interface, where you control the keys and the deployment.
Deploy in Under 5 Minutes
- Click Deploy on Railway — the app builds automatically (~3 minutes)
- Decide your key model: set
GEMINI_API_KEYto cover users yourself, or leave it unset so users bring their own - Set
VIDEO_PROVIDER=veofor real generation (ormockto test the flow for free) - Choose
VEO_USE_STANDARD—falsefor fast/cheaper,truefor higher quality - Open your Railway domain, upload an image, describe your idea, and generate
Start in mock mode to confirm everything works before spending on real Veo generation.
Common Use Cases
- Faceless short-form content — generate scripts and videos for a Reels/TikTok/Shorts channel without filming
- Rapid content ideation — turn an image and a rough idea into a platform-optimized video script and clip
- Marketing and product videos — quick promotional shorts with AI-crafted hooks tuned per platform
- Batch social content — spin up multiple short videos for a content calendar from simple prompts
- Creator prototyping — test video concepts and hooks fast before investing in production
- Self-hosted AI video tool — run your own short-video generator with your own API keys and no subscription
Configuration
| Variable | Required | Description |
|---|---|---|
GEMINI_API_KEY | Optional | Your Google Gemini key. Set it and users generate free (you pay); leave unset and users bring their own |
VIDEO_PROVIDER | Recommended | veo for Google Veo 3.1 generation, or mock for free testing |
VEO_USE_STANDARD | Optional | false = fast/cheaper (default), true = standard/higher quality |
GEMINI_THINKING_BUDGET | Optional | Reasoning token budget for script generation, e.g. 2048 |
PORT | Pre-set | 8080 |
Setting
GEMINI_API_KEYmeans you pay for everyone. With your key set, all users of a public deployment generate videos on your Google account. Leave it unset to have each user supply their own key, or keep the instance private if you're covering the cost.
Veo generation is a real, per-video cost. Google Veo 3.1 is premium. Use
mockmode to test the flow for free,VEO_USE_STANDARD=falseto keep real generation cheaper, and budget for API usage as the main expense.
Dependencies for I'm Not Moving Today Hosting
- Railway account — ~$5/month for the app; Veo/Gemini API usage is separate and the main cost
- A Google Gemini API key with Veo access (yours, or supplied by users)
- No GPU required — generation runs on Google's infrastructure
- Optional:
mockmode for testing without API spend
Deployment Dependencies
- INotMovingToday GitHub Repository
- Google Gemini API
- Google Veo Documentation
- Railway Environment Variables
Implementation Details
The template runs the supra126/inotmovingtoday Docker image on port 8080 — a Next.js application that generates short-form video scripts with Google Gemini and requests video generation from Google Veo 3.1 through the Gemini API. Because the actual rendering happens on Google's infrastructure, the Railway service stays lightweight: it serves the UI, builds scripts, and orchestrates generation requests without any GPU or heavy local compute.
GEMINI_API_KEY is optional and determines the cost model — set, it grants users of the deployment free access billed to the owner's Google account; unset, users supply their own keys. VIDEO_PROVIDER selects between real Veo generation and a mock provider for cost-free testing, and VEO_USE_STANDARD trades speed and cost against quality. The app applies platform-specific strategy — different hook styles and settings for TikTok/Reels/Shorts versus YouTube — and offers AI-recommended settings for consistency and motion.
Since generation cost is external and per-video, the main operational consideration is API budgeting rather than server resources; the Railway deployment itself is inexpensive and stateless for the core flow.
Frequently Asked Questions
Does the video generation run on Railway? No — Railway runs the web app, and Google Veo 3.1 generates the video on Google's infrastructure via API. That's why no GPU is needed and the deployment is lightweight.
Who pays for video generation? It depends on GEMINI_API_KEY. Set your own and users generate free while you're billed; leave it unset and each user supplies and pays for their own key. On a public instance, setting your key means covering everyone's usage.
How much does it cost to run? The Railway app is inexpensive (~$5/month). The real cost is Google Veo/Gemini API usage per video generated, which can add up — use mock mode to test for free and fast mode to keep real generation cheaper.
Can I test without spending money? Yes. Set VIDEO_PROVIDER=mock to run the full flow — script generation and UI — without calling paid Veo generation.
What platforms does it optimize for? It tailors hooks and settings for TikTok, Instagram Reels, and YouTube Shorts versus YouTube, applying platform-specific strategy automatically.
Do I need any special hardware? No. Because generation is offloaded to Google, a standard Railway CPU deployment is all you need.
Is it free and open source? The app is open source and self-hostable; you provide the Google API access. There's no subscription for the software itself — you pay only Railway hosting and Google API usage.
Why Deploy I'm Not Moving Today on Railway?
Railway is a singular platform to deploy your infrastructure stack. Railway will host your infrastructure so you don't have to deal with configuration, while allowing you to vertically and horizontally scale it.
By deploying I'm Not Moving Today on Railway you get a self-hosted AI short-video generator in one click — Gemini scripting, Veo 3.1 generation, platform-specific optimization, and a clean web UI, with the heavy generation offloaded to Google so your deployment stays light. Your keys, your interface, viral-ready shorts on infrastructure you own.
Template Content
Give Up Video Generator
supra126/igiveup