- Admin -
-Footer badges
-- Manage the infinite badge marquee on the public site footer. Only active badges are - shown. -
-- Admin -
-- Manage the infinite badge marquee on the public site footer. Only active badges are - shown. -
-YouTube account not connected.
- )} - - {channelUrl && ( - - Go to your channel - - )} - -- To refresh your YouTube permissions,{" "} - - sign out and sign in again - - . -
-- Video quota remaining -
-- {quota.totalAvailable} - - {" "} - of {quota.limit + quota.extraCredits} videos - -
-- {quota.used} monthly used - {quota.extraCredits > 0 ? ` · ${quota.extraCredits} extras` : ""} - {quota.bonusQuota > 0 ? ` · +${quota.bonusQuota} bonus` : ""} -
-- {`Includes monthly + purchased extras · monthly resets on ${quota.resetsIn}`} -
-
-
- Pro uses your monthly allocation first, then any never-expiring extra credits. -
- > +YouTube account not connected.
)} + {channelUrl && ( + + Go to your channel + + )} ++ To refresh YouTube permissions,{" "} + sign out and sign in again. +
- Request a copy of your data or permanently delete your account and associated uploads. + Request a copy of your data or permanently delete your account and uploads.
- Convert MP3, WAV, and audio files into YouTube videos instantly — a fast, privacy-focused - audio to video converter and TunesToTube alternative that uploads music, beats, and - podcasts directly to your channel. -
- -- By clicking Continue with Google, you accept our{" "} - - Terms of Service - {" "} - and{" "} - - Privacy Policy - - . -
- > - )} -+ By continuing, you accept the{" "} + Terms and{" "} + Privacy Policy. +
+- This Privacy Policy explains how {LEGAL_OPERATOR.name} ("we", "us") - processes personal data when you use our website, hosted cloud service, and related features - that convert audio and images into videos for upload to YouTube. + Songs2VID is self-hosted software. Your operator controls the deployment, database, uploads, + logs, and Google OAuth configuration. Songs2VID does not include payment processing.
- We process personal data in accordance with applicable data protection laws, including the - General Data Protection Regulation (GDPR) where it applies. -
- -
- {LEGAL_OPERATOR.legalName}
-
- {LEGAL_OPERATOR.address}
-
- {LEGAL_OPERATOR.city}
-
- Email: {LEGAL_OPERATOR.email}
-
When you sign in with Google, we receive and store:
-When you use the service, we temporarily process:
-- If you purchase a Pro subscription or Free-plan extra credits, payment processing is handled - by Stripe. We do not store full payment card details on our servers. We may receive and store - billing status, Stripe customer and subscription identifiers, Checkout session or payment - references, purchase amounts, and credit pack size for fulfilled top-ups. -
- -We use trusted third parties to operate Songs2VID, including:
-- These providers process data only as necessary to deliver their services and under - appropriate contractual safeguards where required. -
- -- Songs2VID's use and transfer to any other app of information received from Google APIs - will adhere to the{" "} - - Google API Services User Data Policy - - , including the Limited Use requirements. -
-- We request Google OAuth access (including the YouTube Data API scope needed to upload videos - and manage playlists on your connected channel) solely to provide prominent, user-facing - features of Songs2VID: signing you in, connecting your channel, encoding your media, uploading - videos you create, and creating or listing playlists you request. We do not use Google user - data for advertising, credit scoring, or unrelated profiling. -
-- We do not sell, share, transfer, or disclose Google user data obtained via Google OAuth / - YouTube APIs to third parties, except as needed to operate the Service infrastructure under - our control or when required by law. Google / YouTube themselves process data when we call - their APIs on your behalf to perform actions you initiate. -
-- You can revoke Songs2VID's access to your Google account at any time in{" "} - - Google Account → Security → Third-party access - - . After revocation (or when tokens can no longer be refreshed), we will stop using those - credentials and delete or invalidate stored YouTube OAuth tokens and related connection data - associated with that consent, subject to short-term backup or security logs and any legal - retention duties. -
- -- You may delete your account from Dashboard → Settings (account deletion - control) or by emailing{" "} - {LEGAL_OPERATOR.email}. Deletion removes - account and connection data from active systems subject to legal retention obligations - (for example certain billing records). Cancelling a subscription does not by itself delete - your account. -
- -- If you deploy Songs2VID on your own infrastructure, you are the data controller for data - processed on your instance. This Privacy Policy applies to the hosted cloud service - operated by us, not to independent self-hosted installations unless we provide managed - hosting for you under contract. -
- -Depending on your location, you may have the right to:
-- To exercise these rights, contact{" "} - {LEGAL_OPERATOR.email}, or use in-product - account deletion where available. You may also revoke Google access as described in section - 6. -
- -- We use essential cookies and similar technologies for authentication, session management, - and security. -
-
- We also use Matomo, a self-hosted analytics tool on{" "}
- analytics.atakanozban.com, on our website (including the landing page and
- dashboard) and documentation site. Matomo helps us understand how people use Songs2VID so we
- can improve functionality, reliability, and content. Typical data includes pages viewed,
- approximate location derived from IP, device/browser type, referring site, and interaction
- events. We configure Matomo for our domains under *.songs2vid.com.
-
- We collect this analytics data to improve the Service, not to sell personal profiles to - advertisers. The legal basis is our legitimate interest in operating and improving - Songs2VID (and consent where required by local law). You can block analytics with browser - settings, extensions, or Do Not Track / equivalent controls where supported. For rights - requests related to analytics data, contact{" "} - {LEGAL_OPERATOR.email}. -
- -- We implement appropriate technical and organizational measures to protect your data, - including encryption in transit, encrypted storage of YouTube OAuth tokens at rest, access - controls, and isolated processing environments. No method of transmission or storage is - 100% secure. -
- -- If data is transferred outside your country, we ensure appropriate safeguards such as - standard contractual clauses or equivalent mechanisms where required by law. Google, Stripe, - and infrastructure providers may process data in other countries as described in their - policies. -
- -- Songs2VID is not directed at children under 16. We do not knowingly collect personal data - from children. If you believe a child has provided us data, please contact us. -
- -- We may update this Privacy Policy from time to time. Material changes will be posted on - this page with an updated effective date. If we change how we use Google user data, we will - update this policy and, where required, notify you or obtain renewed consent. -
- -- Questions about this Privacy Policy or our privacy practices:{" "} - {LEGAL_OPERATOR.email} + Google and YouTube process account and upload data according to their own policies. Contact + the operator of this instance for data access or deletion requests.
- This Refund Policy explains how refunds and cancellations work for paid Songs2VID plans and - credit purchases. The free monthly Bedroom Producer allocation does not involve payment and - is not subject to refunds; optional Free-plan extra credit purchases are covered in section - 2. -
- -- The Bedroom Producer (Free) monthly allocation is provided at no charge. Free users may - optionally purchase extra video credits (currently €0.25 each, 1–15 per checkout, Free extras - balance capped at 15). Once extra credits are granted to your account, those one-time - purchases are generally non-refundable, except where mandatory consumer law - requires otherwise. Credits trimmed under the account accumulation cap (see our{" "} - Terms of Service) are not refundable. -
- -- Pro plans are billed on a recurring monthly basis unless otherwise stated at checkout. - Your subscription renews automatically until cancelled. -
- -- If you are a new Pro subscriber, you may request a full refund within 14 days of - your initial purchase, provided you have not substantially consumed paid entitlements - (for example, a large portion of your monthly video quota or premium-only features). -
- -- After 14 days, subscription fees are generally non-refundable for the current billing - period. You may cancel at any time to prevent future renewals. Access typically continues - until the end of the paid period. -
- -- You can cancel your subscription through your account billing settings (choose{" "} - cancel immediately or at the end of the billing period) or - via the Stripe customer portal / by contacting{" "} - {LEGAL_OPERATOR.email}. Cancelling at period - end keeps Pro access until the paid period finishes and stops future renewals. Cancelling - immediately ends Pro access and moves you to the Free plan right away (including loss of Pro - API access). Cancellation does not automatically delete your account; use{" "} - Dashboard → Settings or contact us if you want permanent account deletion. -
- -- Enterprise, managed cloud, and paid self-hosted setup fees are governed by the individual - quote or contract signed with us. Refund terms for those services are specified in your - agreement. Contact{" "} - {LEGAL_OPERATOR.salesEmail} for - contract-related billing questions. -
- -Refunds are generally not provided when:
-- If you believe a charge is incorrect, please contact us before initiating a chargeback so - we can resolve the issue promptly. Unjustified chargebacks may result in account suspension. -
- -Email us at {LEGAL_OPERATOR.email} with:
-We aim to respond within 5 business days. Approved refunds are issued to the original payment method where possible.
- -- Nothing in this policy limits mandatory statutory rights you may have as a consumer under - applicable law, including withdrawal rights where required by EU or local consumer - protection regulations. -
- -- We may update this Refund Policy from time to time. The version published on this page - applies to purchases made after the effective date shown at the top. -
-- These Terms of Service ("Terms") govern your access to and use of the Songs2VID - website and hosted cloud service (the "Service") operated by{" "} - {LEGAL_OPERATOR.legalName} ("we", "us"). By creating an account or using - the Service, you agree to these Terms. + Songs2VID is provided as open-source, self-hosted software without warranty. The operator of + each instance is responsible for availability, configuration, and user access.
- If you do not agree, do not use the Service. If you self-host the open-source software on - your own infrastructure without using our hosted Service, these Terms apply only to the - extent you use our website, support channels, or paid services we provide. -
- -- Songs2VID converts user-provided images and audio files into videos and can upload them to - YouTube using your connected Google/YouTube account. Features, limits, and availability - depend on your plan. -
-- We may modify features, limits, or pricing with reasonable notice where required. The - open-source software is provided separately under its applicable open-source license. -
- -You retain ownership of content you upload. You grant us a limited license to host, process, encode, transmit, and upload your content solely to provide the Service.
-You represent and warrant that:
-- You are solely responsible for content published to your YouTube channel through the - Service. -
- -You agree not to:
-We may suspend or terminate access for violations or risks to the Service or other users.
- -- The Service integrates with Google OAuth and the YouTube Data API to sign you in, connect - your channel, upload videos you create, and create or list playlists you request. Your use - of those services is also subject to{" "} - - Google Terms of Service - - ,{" "} - - YouTube Terms of Service - - ,{" "} - - YouTube API Services Terms - - , and{" "} - - Google's Privacy Policy - - . We are not responsible for changes, outages, quota limits, or enforcement actions taken by - Google or YouTube. How we handle Google user data is described in our{" "} - Privacy Policy. -
- -- Portions of Songs2VID are available as open-source software. Self-hosting is permitted under - the applicable open-source license. The hosted Service, enterprise features, managed - infrastructure, and certain premium capabilities may require a separate commercial license - or subscription. -
- -- Paid plans and credit top-ups are billed according to the pricing displayed at the time of - purchase. Taxes may apply. Payments are processed by Stripe. Subscriptions renew - automatically unless cancelled in accordance with our{" "} - Refund Policy. Failure to pay may result in downgrade or - suspension. -
-- Credit usage order: when you create video jobs, we deduct from your current - monthly allocation first, then from any purchased extra credits. -
- -- Independent Artist (Pro) subscribers receive 50 video credits per - subscription month. Unused credits from prior cycles may roll over into the next cycle - subject to the accumulation cap in Clause 8.3. Renewal and rollover occur on successful - Stripe subscription renewal (typically aligned with your billing period). -
-- Pro subscribers may request a manual video-quota reset or temporary extension, and/or an API - rate-limit extension, via account settings or by emailing{" "} - - {LEGAL_OPERATOR.quotaRequestEmail} - - . Each Pro account is entitled to up to{" "} - five (5) video-quota reset or extension requests per calendar year and up - to five (5) API rate-limit extension requests per calendar year. We review - requests in good faith and may decline requests that are abusive, repetitive without cause, - or inconsistent with fair use. Approved requests do not increase those annual limits. -
- -- Bedroom Producer (Free) accounts receive 10 video credits per calendar - month. Free users may purchase additional never-expiring extra credits at the price shown at - checkout (currently €0.25 per credit), in packs of{" "} - 1 to 15 credits per purchase. On the Free plan, the extras balance may not - exceed 15 credits. After monthly and extra credits are exhausted, further - uploads require upgrading to Pro (or waiting for the next monthly reset). Extra credits are - available only on the Free plan purchase flow; Pro includes its monthly allocation and does - not sell the same Free top-up packs. -
- -- Unused credits from previous cycles may roll over, but the total accumulated balance on any - account (remaining monthly allocation + extra credits) shall strictly not exceed{" "} - 30 credits at any given time. Upon renewal (or when applying a new monthly - allocation), any excess above this 30-credit threshold is automatically trimmed and expires - permanently, without entitlement to refund or compensation. -
- -- Independent Artist (Pro) subscribers may generate an API key in account settings to upload - files and create batch video jobs programmatically. API access requires an active Pro - subscription, a connected YouTube account, and compliance with the same quota, file-type, and - resolution limits as the web interface. API keys are personal, must be kept confidential, and - may be revoked by you or by us if misused. We may apply rate limits and suspend API access - for abuse, security incidents, or plan downgrades. If your subscription ends or you are - moved to the Free plan, API keys and Pro-only API access are revoked or disabled. -
- -- We strive for high availability but do not guarantee uninterrupted access. Maintenance, - updates, and outages may occur. Support levels depend on your plan. Self-hosted DIY - deployments without a paid setup are community-supported unless otherwise agreed in - writing. -
- -- THE SERVICE IS PROVIDED "AS IS" AND "AS AVAILABLE" TO THE MAXIMUM EXTENT - PERMITTED BY LAW. WE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. WE DO NOT WARRANT THAT ENCODING, - UPLOADS, OR METADATA TRANSFER WILL BE ERROR-FREE OR UNINTERRUPTED. -
- -- TO THE MAXIMUM EXTENT PERMITTED BY LAW, WE SHALL NOT BE LIABLE FOR INDIRECT, INCIDENTAL, - SPECIAL, CONSEQUENTIAL, OR PUNITIVE DAMAGES, OR ANY LOSS OF PROFITS, REVENUE, DATA, OR - GOODWILL. OUR TOTAL LIABILITY FOR ANY CLAIM ARISING OUT OF THESE TERMS OR THE SERVICE IS - LIMITED TO THE AMOUNT YOU PAID US IN THE TWELVE (12) MONTHS BEFORE THE EVENT GIVING RISE TO - THE CLAIM, OR EUR 100 IF YOU USE THE FREE PLAN ONLY. -
-- Some jurisdictions do not allow certain limitations, so some of the above may not apply to - you. -
- -- You agree to indemnify and hold us harmless from claims arising out of your content, your - use of the Service, or your violation of these Terms or applicable law. -
- -- You may stop using the Service at any time. You may cancel a paid subscription (see our{" "} - Refund Policy) without deleting your account. To permanently - delete your account and associated active data, use the account deletion control in{" "} - Dashboard → Settings or contact{" "} - {LEGAL_OPERATOR.email}. We may suspend or - terminate your access if you breach these Terms, create risk or legal exposure, or where - required by law. Upon termination or deletion, your right to use the hosted Service ends. - Provisions that by nature should survive will survive. Deletion is subject to legal - retention obligations described in our Privacy Policy. -
- -- These Terms are governed by the laws of Hungary, excluding conflict - of law rules. Courts in Hungary shall have exclusive jurisdiction unless - mandatory consumer protection laws in your country provide otherwise. -
- -- We may update these Terms from time to time. Continued use after changes become effective - constitutes acceptance of the revised Terms, where permitted by law. -
- -- Questions about these Terms:{" "} - {LEGAL_OPERATOR.email} + You are responsible for the media you process and upload, including compliance with + copyright law and YouTube's terms.
- Enter ADMIN_API_KEY to manage footer badges.
- The key stays in this browser tab only (sessionStorage).
-
{error}
: null} -- Authenticated with admin API key. Changes apply to the live footer marquee. -
- -{error}
: null} - {success ?{success}
: null} - -- Paste a Product Hunt / LaunchBuff embed (HTML), or set image + link URLs. -
- -No badges yet.
- ) : ( -- {badge.linkUrl || badge.imageUrl || (badge.embedHtml ? "embed HTML" : "—")} -
- {badge.imageUrl ? ( - // eslint-disable-next-line @next/next/no-img-element -- Use the REST API to upload files and create batch video jobs programmatically. Pro plan - only. + Use the REST API to upload files and create video jobs programmatically. +
++ Rate limit: {initialRateLimit.limit} requests per {initialRateLimit.windowSeconds} seconds.
- -API rate limit
-- Resets in {rateLimit.resetsInSeconds}s -
-- {rateLimit.used} / {rateLimit.limit} requests used this minute - {rateLimit.bonus ? ( - (includes +{rateLimit.bonus} bonus) - ) : null} -
-- {rateLimit.remaining} requests remaining · window {rateLimit.windowSeconds}s -
- -- Extension requests this year: {extensionUsage.used} / {extensionUsage.limit} -
- -Active key: {status.prefix}…
)} - {newKey && (Your new API key (copy now)
+Copy your new API key now
{newKey}
{error}
} +Endpoints
-- Send Authorization: Bearer YOUR_API_KEY on every - request. For many audio files, upload each file then call{" "} - /api/v1/jobs (avoid large one-shot batches).{" "} - - Full API docs - -
+ + API documentation +{desc}
-{processed ? "Processed" : "Processing..."}
-YouTube
-DIRECT UPLOAD
-- Free plan: 10 monthly videos + up to {FREE_EXTRA_CREDITS_MAX} paid extras ( - {unitLabel} each). After both are used, Pro is required. -
- -- Extra credit balance -
-- {Math.min(creditsBalance, FREE_EXTRA_CREDITS_MAX)} - - {" "} - / {FREE_EXTRA_CREDITS_MAX} credits - -
- {creditsBalance > FREE_EXTRA_CREDITS_MAX && ( -- You have {creditsBalance} extras from earlier purchases; no further top-ups until - under {FREE_EXTRA_CREDITS_MAX}. -
- )} -- Free extras are capped at {FREE_EXTRA_CREDITS_MAX}. When your monthly 10 and these - extras are gone, continue with Pro (€5/mo · 50 videos). -
-
- Card checkout is not configured yet (missing Stripe keys). In development you can also
- use{" "}
- POST /api/dev/grant-credits.
-
- Total:{" "} - {totalLabel} - - {" "} - ({unitLabel} × {clampAmount(amount)}) - -
- - -{message}
} - {error &&{error}
} - - {recentPurchases.length > 0 && ( -- {desc} -
-- {cta} -
- - ); -} - -export function DownloadSection() { - const sectionRef = useRef- Songs2VID is open source. Self-host on your own server with Docker or deploy from source. -
-- Host Songs2VID on your infrastructure with full control over data, queues, and - storage. Ideal for teams and creators who want a private deployment. -
-Quick start
-
- {`docker pull atakanozban/songs2vid:latest\ndocker compose up -d`}
-
- - Art-track layouts, blur backgrounds, typography, and watermark studio are Pro features. -
-- Pay as you go -
-- {unit} per video · minimum {CREDIT_PURCHASE_MIN} videos ( - {formatCreditPrice(CREDIT_PURCHASE_MIN)}) -
- -Total
-{total}
-- {videos} × {unit}{" "} - - (€{(CREDIT_PRICE_CENTS / 100).toFixed(2)} each) - -
-- Extension requests this year:{" "} - - {usage.used} / {usage.limit} - - {usage.remaining > 0 ? ( - · {usage.remaining} remaining - ) : ( - · limit reached - )} -
-- Cancellation scheduled - {endLabel ? ( - <> - {" "} - Pro stays active until {endLabel} - > - ) : ( - <> at the end of your current billing period> - )} - . You will not be charged again. -
- -- This is sent to Stripe. Choose how you want to cancel your subscription. -
-- Request history -
-{req.message}
} -ID: {req.id}
-- Pro users may request up to 5 manual quota resets or extensions per calendar year by emailing{" "} - - {QUOTA_REQUEST_EMAIL} - - . See our{" "} - - Terms of Service - - . -
-
- Add uploaded videos to a YouTube playlist with{" "}
-
{label}
- {label === "Infrastructure" ? ( -- {watermarkNote} -
- )} -- Free with optional extras, Pro at €5/month, or Enterprise for studios. -
-- *Free includes 10 videos/month; buy 1–15 extras at €0.25 each (max 15 extras). After both - are used, Pro (€5/mo · 50 videos) is required. Total balance capped at 30. Deduction - order: monthly first, then extras. -
-- **Technical support is strictly reserved for Managed Cloud and paid Professional Setup - agreements; independent self-hosted deployments are community-supported. -
-- {canPerItemImages - ? "Shared cover for all tracks. Optionally override per audio below (Pro)." - : "Free plan: one static cover for the whole batch."} + Shared cover for all tracks. You can override it per audio below.
Each audio file gets its own metadata. Video title is used for YouTube; song title and - artist appear in Pro art-track layouts. + artist appear in art-track layouts.
-
- Free plan: first {FREE_UNWATERMARKED_VIDEO_LIMIT} successful videos are watermark-free; - later renders include a Songs2VID watermark (bottom-right). One static cover image per - batch. -
-
-
- Subsequent videos in the Free tier will include a small Songs2VID watermark. Upgrade to Pro - for unwatermarked videos, 4K export, and priority rendering. -
-- Custom branding, typography, logo overlay, and position controls are Pro features. -
-