1080p recommended for Roku
320kbps recommended
StreamSpindle processes label payouts monthly, typically 30–45 days after each calendar month ends — aligned with Roku's payment schedule.
Your payout equals net income for the period — subscription + ad revenue, minus the StreamSpindle platform fee and artist royalties. Full breakdown in the Royalties tab.
Bank details are collected and stored by Stripe. StreamSpindle never stores raw banking information.
If your label earns more than $600/year, Stripe automatically generates a 1099 via your Stripe Express dashboard.
- Full catalog management
- Roku channel provisioning
- SVOD + AVOD monetization
- MusicBrainz enrichment
- Everything in Starter
- Unlimited artist roster
- Royalty tracker + PDF export
- Acknowledgment log
What Is StreamSpindle
StreamSpindle is a SaaS platform that enables independent record labels to launch and monetize branded Roku channels. Labels pay a monthly subscription, upload their catalog via this dashboard, and StreamSpindle distributes it to Roku viewers who can subscribe at $9.99/month or watch ad-supported for free.
The platform handles channel provisioning, content ingestion, stream reporting, royalty calculation, and billing. Labels do not need engineering resources or a direct relationship with Roku.
Plans & Pricing
All plans include a 90-day free trial — card required upfront. No long-term contracts. Upgrade, downgrade, or cancel anytime from the Billing tab.
How Revenue Works
SVOD (subscription): Per $9.99 viewer/month — Roku keeps 20%, StreamSpindle keeps 30% of the remainder, your label keeps $5.59.
AVOD (ad-supported): Your label keeps 65% of net ad revenue. StreamSpindle keeps 35%.
Net income = (SVOD + AVOD revenue) − platform fee − distributor fee − artist royalties. This is the amount you may submit a payout request for.
Disbursement timing: Monthly, 30–45 days after month end, subject to Roku's payment schedule. Only streams over 30 seconds count.
Royalty Reports
StreamSpindle calculates and reports master recording royalties only. Publishing royalties, mechanical royalties, and PRO obligations (ASCAP, BMI, SESAC) are entirely the label's responsibility.
Reference rates (per qualified stream, 30+ seconds):
Monthly statements are generated per period. Acknowledge each statement to lock it. Records retained 7 years. Label plan required for per-track breakdown.
Roku Platform
StreamSpindle channels can only monetize in the four markets where The Roku Channel operates: 🇺🇸 United States · 🇨🇦 Canada · 🇬🇧 United Kingdom · 🇲🇽 Mexico.
Technical requirements: Video H.264 1080p MP4/MOV up to 4GB · Audio MP3/WAV/FLAC/M4A 320kbps · Episode thumbnail 500×281px JPG (required) · Artist poster 240×360px JPG · Channel banner 2560×1440px JPG.
Connecting via DDEX
Go to Connect in the sidebar. Enter your ERN 3.8.2 feed URL and API key from your distributor's portal under API or Delivery Settings. StreamSpindle checks daily and imports new releases as drafts.
Supported: DistroKid · TuneCore · CD Baby · Amuse · AWAL · Empire · The Orchard · any DDEX ERN 3.8.2 service.
Fields imported: ISRC, title, artist, genre, duration, release date, territory rights, parental advisory, P-line/C-line. Duplicate ISRC detection prevents double-imports.
Uploading Content
Go to Upload in the sidebar. Supports video (MP4/MOV up to 4GB), audio (MP3/WAV/FLAC/M4A), and cover art. ISRC is required for per-track royalty reporting on the Label plan.
Before you publish, every track needs three things:
Billing
Manage your plan and cancel from the Billing tab. Subscriptions auto-renew monthly via Stripe. Cancel at least 24 hours before renewal to avoid the next charge. No refunds for partial months. 7 days to resolve payment failures before suspension.
Artists
Add and manage your roster from the Artists tab. Starter supports up to 50 artists. Each artist has a royalty split %, territory permissions, and an optional MusicBrainz ID for automatic cover art and genre enrichment. Artist-level territory settings take precedence over all other territory configurations.
Tech Stack
HTML/CSS/JS — Cloudflare Pages
Cloudflare Workers (TypeScript)
Cloudflare D1 (SQLite · 11 tables)
Cloudflare R2 (audio, video, art)
Stripe — 3 plans, 6 webhooks
MusicBrainz + Cover Art Archive
Takedowns & DMCA
Acceptance of Terms
By accessing or using StreamSpindle at streamspindle.com and any associated subdomains, you confirm that you are authorized to enter into this agreement on behalf of the label, company, or entity you represent ("Label"), and that such entity agrees to be bound by these Terms.
If you are an individual acting on behalf of a Label, you represent that you have the legal authority to bind that entity. If you do not have such authority, do not use the Service.
The Service
StreamSpindle is a software-as-a-service platform that enables independent record labels to distribute audio and video content to Roku-connected television devices via branded Roku channels. StreamSpindle provides a label dashboard, Roku channel creation and maintenance, viewer subscription management via Roku Pay, ad-supported distribution, stream analytics, royalty reporting, and DDEX ERN XML ingestion.
StreamSpindle is a technology and distribution platform only. It does not act as a record label, music publisher, performing rights organization, or royalty collection society. StreamSpindle does not collect or distribute artist royalties on behalf of labels.
Eligibility
To use the Service, you must: be at least 18 years of age; be a legally registered business entity or sole proprietor operating as a record label; have the legal right to distribute all content you upload; have valid artist agreements granting you master recording rights sufficient for digital distribution; and not be located in a jurisdiction subject to U.S. export controls or sanctions.
Subscription Plans
Starter — $49/mo: Up to 50 artists, Roku channel, SVOD + AVOD monetization, standard analytics.
Label — $149/mo: Everything in Starter plus unlimited artists, royalty tracker, PDF export, DDEX ingestion.
StreamSpindle reserves the right to modify plan pricing with 30 days written notice.
Content Ownership & License
Royalty Rates & Qualified Streams
Royalty Reporting & Acknowledgment
Label Royalty Obligations
Labels are solely responsible for calculating and disbursing royalties to all artists and rights holders. Labels must pay artists per their agreements regardless of whether the label has received payment from StreamSpindle.
Content Takedowns & DMCA
Billing & Payment
Privacy & Data
Indemnification
The Label agrees to indemnify, defend, and hold harmless StreamSpindle from all claims, damages, and costs arising from: content uploaded by the Label; any artist or rights holder claiming unpaid royalties; breach of these Terms; or violation of any applicable law.
Disclaimer of Warranties
Limitation of Liability
Governing Law & Disputes
Legal questions: legal@streamspindle.com · DMCA: dmca@streamspindle.com · Royalty disputes: royalties@streamspindle.com
- Log into your distributor portal
- Go to API or Delivery Settings
- Copy your ERN feed URL
- Copy your API key or access token
- Paste both fields and click Test
- Save — new releases import as drafts