Turn one idea into a platform-ready video script โ hook, timestamps, B-roll, CTA and SEO tags โ in seconds.
Try it live ยท Features ยท How it works ยท Run locally ยท ุจุงูุนุฑุจู
Blank page โ filmable script. ScriptForge structures your idea the way short-form and long-form creators actually shoot: a scroll-stopping hook first, timed sections with visual direction, then a clear call to action.
- Made for each platform โ pacing and length adapt to YouTube, TikTok, Reels, online courses and webinars.
- Script to video โ turn the finished script into a detailed, scene-by-scene prompt for AI video tools.
- Open to everyone โ no account, no paywall, full English & Arabic (RTL) support.
| Title options, a typed hook, timestamped sections with dialogue, visual direction and B-roll, a CTA, SEO tags and retention notes. | Edit the hook and script, then build a production-ready prompt for text-to-video models โ copy it in one click. | Dribbble-style starter ideas with platform mockups. Filter by platform; one click fills the whole form. |
| Add a video link, paste an article or transcript, or upload an image to ground the script. | Generate in English, Arabic or both. The interface switches to a native right-to-left layout. | A clean white/ink/pink design system with semantic tokens, responsive down to small phones. |
Controls you get: platform (YouTube ยท TikTok ยท Reels ยท Course ยท Webinar) ยท duration (30s โ 15+ min) ยท tone (educational, entertaining, dramatic, casual, motivational) ยท target audience ยท key message.
flowchart LR
A([๐ก Idea or<br/>gallery pick]) --> B[Script parameters<br/>platform ยท duration ยท tone<br/>audience ยท sources]
B -->|Generate| C{{generate-script<br/>Edge Function}}
C --> D[๐ Script output<br/>hook ยท timed sections ยท CTA ยท SEO]
D --> E[๐ฅ Video prompt builder]
E -->|Build prompt| F{{enhance-prompt<br/>Edge Function}}
F --> G([๐ Detailed video prompt])
classDef pink fill:#EA4C89,stroke:#C2185B,color:#fff
classDef ink fill:#0D0C22,stroke:#0D0C22,color:#fff
class C,F pink
class A,G ink
flowchart TB
subgraph Browser["๐ฅ๏ธ Browser โ React 18 + Vite SPA"]
UI[Hero ยท Idea gallery ยท Script form]
OUT[Script output ยท Video prompt builder]
SET[Theme + language settings<br/>localStorage]
end
subgraph Supabase["โก Supabase"]
GS[generate-script]
EP[enhance-prompt]
end
AI[(๐ค Groq ยท OpenRouter ยท Lovable<br/>automatic fallback)]
UI -- supabase.functions.invoke --> GS
OUT -- supabase.functions.invoke --> EP
GS --> AI
EP --> AI
GS -- structured JSON --> OUT
![]() Hero & search โ light |
![]() Idea gallery โ dark |
![]() Support dialog |
![]() Mobile โ Arabic (RTL) |
| Layer | Tools |
|---|---|
| UI | React 18, TypeScript, Vite, Tailwind CSS, shadcn/ui (Radix), Framer Motion, Lucide icons |
| Backend | Supabase Edge Functions (Deno): generate-script, enhance-prompt |
| AI | Open-weight models via Groq (openai/gpt-oss-120b, free tier) โ OpenRouter free models โ Lovable AI Gateway, with automatic fallback |
| Quality | ESLint, Vitest, Testing Library, Playwright |
| Hosting | Lovable |
Requirements: Node.js 18+ and npm (or Bun), plus a Supabase project for the edge functions.
git clone https://github.com/3h0ll7/scriptforge-ai.git
cd scriptforge-ai
cp .env.example .env # fill in your Supabase URL + publishable key
npm install
npm run dev # http://localhost:8080VITE_SUPABASE_URL=https://your-project-ref.supabase.co
VITE_SUPABASE_PUBLISHABLE_KEY=replace-with-your-supabase-publishable-keyDeploying the edge functions
npx supabase link --project-ref your-project-ref
npx supabase db push
npx supabase functions deploy generate-script
npx supabase functions deploy enhance-promptBoth functions share supabase/functions/_shared/ai.ts, which tries each configured provider in order and moves on when one is out of credits, rate-limited or has retired a model. Set at least one key as a Supabase secret โ never in .env or in git:
| Secret | Provider | Default models (strongest first) |
|---|---|---|
GROQ_API_KEY |
Groq โ free tier | openai/gpt-oss-120b, openai/gpt-oss-20b; images: qwen/qwen3.8-27b โ llama-4-scout |
OPENROUTER_API_KEY |
OpenRouter โ free models | openai/gpt-oss-120b:free, deepseek/deepseek-chat-v3.1:free |
LOVABLE_API_KEY |
Lovable AI Gateway (paid credits) | google/gemini-3-flash-preview |
Override any model list with comma-separated GROQ_MODELS, GROQ_VISION_MODELS, OPENROUTER_MODELS or OPENROUTER_VISION_MODELS.
npx supabase secrets set GROQ_API_KEY=your-groq-key| Command | What it does |
|---|---|
npm run dev |
Start the dev server on port 8080 |
npm run build |
Production build into dist/ |
npm run preview |
Serve the production build |
npm run lint |
ESLint |
npm test |
Vitest |
scriptforge-ai/
โโโ docs/ # README banner, demo GIF, screenshots
โโโ public/ # Static assets
โโโ src/
โ โโโ components/
โ โ โโโ IdeaGallery.tsx # Filterable starter ideas
โ โ โโโ IdeaShot.tsx # Platform mockup thumbnails
โ โ โโโ ScriptForm.tsx # Script parameters (accepts presets)
โ โ โโโ ScriptOutput.tsx # Generated script view
โ โ โโโ VideoPromptBuilder.tsx
โ โ โโโ SupportDialog.tsx # USDT donation dialog
โ โ โโโ ui/ # shadcn/ui primitives
โ โโโ hooks/useAppSettings.tsx # Theme, language, EN/AR strings
โ โโโ lib/ # generateScript, idea templates, donation config
โ โโโ pages/Index.tsx # Hero ยท gallery ยท workspace
โ โโโ index.css # Design tokens (light/dark)
โโโ supabase/
โ โโโ functions/ # Edge functions
โ โโโ migrations/
โโโ AGENTS.md # Architecture rules for contributors & agents
- Script generation for YouTube, TikTok, Reels, courses & webinars
- Video prompt builder
- English & Arabic with RTL
- Dribbble-inspired redesign, idea gallery, dark mode
- Free public access, optional donations
- Save & export scripts (PDF / Markdown)
- More idea templates and niches
- Shareable script links
- Voice-over generation
ScriptForge is free. If it saves you time, you can send a tip in USDT on BNB Smart Chain (BEP20):
0x03d28429e4c9a0ae0d6fcc750ac4b1cf0bd41850
โ ๏ธ Send only USDT on BEP20. Other coins or networks (TRC20, ERC20โฆ) will be lost.
ุงุถุบุท ูุนุฑุถ ุงููุตู ุจุงูุนุฑุจู
ุญููู ููุฑุฉ ูุงุญุฏุฉ ุฅูู ุณูุฑุจุช ููุฏูู ุฌุงูุฒ ููุชุตููุฑ ุฎูุงู ุซูุงูู: ุฎุทูุงู (Hook) ูููู ุงูุชู ุฑูุฑุ ุฃูุณุงู ุจุชูููุช ุฒู ูู ู ุน ุชูุฌูู ุจุตุฑู ูููุทุงุช B-rollุ ุฏุนูุฉ ููุนู ูุ ููุณูู SEO.
ุงูู ู ูุฒุงุช
- ุณูุฑุจุชุงุช ู ุฎุตูุตุฉ ูู YouTube ู TikTok ู Reels ูุงูุฏูุฑุงุช ูุงููุฏูุงุช.
- ู ููุดุฆ ุจุฑูู ุจุช ููุฏูู ู ูุตูู ู ุดูุฏุงู ุจู ุดูุฏ ูุฃุฏูุงุช ุชูููุฏ ุงูููุฏูู ุจุงูุฐูุงุก ุงูุงุตุทูุงุนู.
- ู ุนุฑุถ ุฃููุงุฑ ุฌุงูุฒุฉ ูู ูุฃ ุงููู ูุฐุฌ ุจุถุบุทุฉ ูุงุญุฏุฉ.
- ุฅุฑูุงู ุฑุงุจุท ููุฏูู ุฃู ูุต ุฃู ุตูุฑุฉ ูู ุตุฏุฑ.
- ูุงุฌูุฉ ุนุฑุจูุฉ ูุงู ูุฉ ู ู ุงููู ูู ูููุณุงุฑุ ููุถุน ูุงุชุญ ูุฏุงูู.
- ู ุฌุงูู ุจุงููุงู ู ูุจุฏูู ุชุณุฌูู ุฏุฎูู.
ุงูุชุดุบูู ู ุญููุงู
git clone https://github.com/3h0ll7/scriptforge-ai.git
cd scriptforge-ai && cp .env.example .env && npm install && npm run devุงุฏุนู ุงูู ุดุฑูุน: USDT ุนูู ุดุจูุฉ BEP20 ููุท โ ุงูุนููุงู ู ูุฌูุฏ ูู ูุณู Support the project ุฃุนูุงู.
Issues and pull requests are welcome. Please read AGENTS.md for the architecture rules, keep changes small, and run npm run lint && npm test && npm run build before opening a PR.
No license file has been added yet, so all rights are reserved by the author by default.
Built by Hassan Salman with Lovable, Supabase and shadcn/ui.




