How to Migrate from Vimeo to Bunny Stream
Run Vimeo2Bunny CLI with your Vimeo and bunny.net API tokens to automate migration of large libraries, and resume using migration-state.json if interrupted.
Run Vimeo2Bunny CLI, obtain API tokens for Vimeo and bunny.net, configure the tool, and replace existing Vimeo embed codes with Bunny Stream embed codes.
Summary
Vimeo offers four paid tiers (Starter, Standard, Advanced, Enterprise) with fixed storage and bandwidth limits, while Bunny Stream uses a usage‑based model that charges only for the storage and traffic you consume, with prepaid credits to avoid runaway costs. The migration guide outlines three paths: manual upload for small libraries, URL fetch for moderate libraries, and a bulk migration using the Vimeo2Bunny CLI for large collections. The CLI tool pulls video URLs from Vimeo, creates matching collections in Bunny Stream, copies title, description, and tags, and stores progress in ~/.vimeo2bunny/migration-state.json so you can resume if interrupted. To use the tool you must generate authenticated access tokens on both Vimeo and bunny.net, selecting the Public, Private, and Video Files scopes on Vimeo, and then run the tool via npx or a local installation.
After migration, replace any existing Vimeo embed codes with Bunny Stream embed codes or direct play URLs, and adjust embed settings as needed. The guide also notes that if Vimeo video settings require authentication headers, you must add them under the Advanced section of the URL fetch dialog. Overall, the process is designed to be straightforward for developers and creators alike, offering a cost‑effective alternative to tiered SaaS hosting.
Key changes
- Vimeo offers tiered plans; Bunny Stream uses usage‑based pricing with prepaid credits
- Manual upload works for small libraries via the Stream dashboard
- URL fetch imports videos using direct Vimeo URLs, requiring optional auth headers
- Bulk migration uses Vimeo2Bunny CLI to fetch URLs, create collections, and copy metadata
- CLI stores progress in ~/.vimeo2bunny/migration-state.json for resumable migrations
- Vimeo access token requires Public, Private, and Video Files scopes
- Bunny Stream copies title, description, and tags during import
- Replace Vimeo embeds with Bunny Stream embed codes after migration