Quick Start¶
Generate your first funscript in under a minute.
1. Install¶
See the full Installation guide for FFmpeg setup on Windows, macOS, and Linux.
# Clone the repos side by side
git clone https://github.com/liquid-releasing/forgegen.git
git clone https://github.com/liquid-releasing/videoflow.git
cd forgegen
pip install -r requirements.txt
FFmpeg required for video files
If you plan to load MP4, MKV, or MOV files, install FFmpeg first. See Installation → FFmpeg.
2. Launch the UI¶
Your browser opens at http://localhost:8501.
3. Load an audio file¶
In the sidebar, click Browse files (or drag and drop) and select any MP3, WAV, FLAC, or other supported audio file.
v0.1 length limit
forgegen v0.1 expects media under ~10 minutes. Longer files may stall on the librosa tempogram step. Chapter-aware long-form processing arrives in v0.5 — see LONG_FORM_SCALING.
forgegen immediately analyses the file — detecting the beat grid, BPM, phrase boundaries, and energy. This takes a few seconds. When done, the sidebar shows:
- BPM — detected tempo
- Beats — total beat count
- Phrases — number of musical phrases detected
- Duration — track length
4. Choose a style¶
On the Generate tab, five style cards appear. Pick the one that fits your track:
| Style | Best for |
|---|---|
| 🥁 Rhythmic | EDM, high-energy, beat-locked |
| 🌊 Sensual | Slower, melodic, wider trough |
| ⚡ Intense | Maximum range, every beat hits full |
| 🌪 Chaotic | Full mix drives the curve — unpredictable peaks |
| :wrench: Tools | Uses Funscript-Tools generation |
See Styles for details.
5. Generate¶
Click ▶ Generate.
forgegen builds the motion curve and displays a preview chart — position (0–100) over time. Below the chart you'll see the action count and track duration.
6. Save or download¶
You have two options when generation completes:
- 💾 Save to folder — writes the funscript to your configured output folder
and emits a companion
<stem>.analysis.jsonsidecar with the analysis context (chapters, source identity, generator metadata). Downstream tools like FunScriptForge pick the sidecar up automatically. - ⬇ Download — browser download of just the
.funscript. Use this when you only need the curve.
The file is named after your audio file (e.g. my-track.funscript /
my-track.analysis.json). Load it into FunScriptForge for refinement, or
directly into a player.
See Analysis output for what the sidecar contains and why.
What's next?¶
- Fine-tune with the Details tab — override phrase modes, adjust low/high range
- Use the CLI for batch generation — process multiple files without opening the UI
- Open in FunScriptForge — refine tone and shape before playing