UGC Video Maker is a local-first web application for generating affiliate-style UGC videos with the BytePlus ModelArk Seedance 2.0 API. It is designed for creators, affiliate teams, and product marketers who need a simple workflow: upload product references, choose a creator/background reference, write a short script, and generate a ready-to-review video.
Need API access or a Seedance 2.0 package? Open the BytePlus ModelArk console
- Product, creator, and background image references
- Seedance 2.0 and Seedance 2.0 Fast model selection
- UGC presets such as product demo, unboxing, testimonial, ASMR, and affiliate selling
- Configurable language, voice tone, music, resolution, ratio, and duration
- Editable advanced prompt with visual reference mentions
- Queue-based batch generation workflow
- Local video download after generation
- Local thumbnail capture for generated videos
- History gallery with playable video modal
- SQLite persistence for settings, assets, queue items, and completed videos
- Real-person reference fallback using a subtle diagonal pattern retry
- Node.js
- Express
- EJS
- SQLite via
better-sqlite3 - Multer for image uploads
- Sharp for reference-image preprocessing
- Vanilla JavaScript and CSS
- Node.js 18 or newer
- npm
- BytePlus ModelArk API key with access to Seedance 2.0
Install dependencies:
npm installStart the app:
npm startOpen the local app:
http://localhost:3000For development with auto-reload:
npm run devOpen the Settings page inside the app and configure:
- BytePlus API key
- API base URL
- Default model
- Default resolution
- Default aspect ratio
Default API base URL:
https://ark.ap-southeast.bytepluses.com/api/v3The API key is stored in the local SQLite database. Do not commit the database file to a public repository.
.
├── database.js # SQLite schema and data helpers
├── server.js # Express app entry point
├── routes/ # Page and API routes
├── services/ # Seedance API and local media helpers
├── views/ # EJS pages and partials
├── public/ # CSS, client-side JS, and static images
├── uploads/ # User-uploaded reference images
├── downloads/ # Locally saved videos and thumbnails
└── data/ # Local SQLite databaseThis project is intended to run locally. Uploaded assets, generated videos, thumbnails, and the SQLite database are stored on the same machine:
uploads/downloads/data/ugc.db
These directories may contain private user images, generated videos, and API configuration, so they are ignored by Git.
- Keep generated media and API credentials private when sharing the project.
- Use product images with clear lighting and minimal clutter for more consistent results.
- Review model usage and pricing in the BytePlus console before running large batches.