Skip to content

geeks-accelerator/karaoke_oss

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

karaoke_oss

Open-source skills and tools for our AI-karaoke platform (currently belto.music). MIT licensed, community-friendly, and safe to run yourself. Everything here is client-side tooling that you run on your own accounts.

suno-import

One command to bring your Suno songs onto the platform: the mixed track, the full stem set (Suno's 12-track split), and the lyrics / style / caption. The instrumental backing + guide vocal are derived server-side from the stems, so the tool just fetches and uploads. Already-stemmed songs import for zero credits.

cp .env.example .env      # fill in your two tokens (see below)
node bin/suno-import.mjs --limit 5          # your 5 newest songs
node bin/suno-import.mjs <sunoSongId># or specific songs

Requires Node 20+ and a paid Suno plan (stems are Pro/Premier). No dependencies — it uses Node's built-in fetch/FormData.

The two tokens

  • SUNO_CLIENT_TOKEN — your Suno __client cookie. Sign in to suno.com, open DevTools → Application → Cookies → https://suno.com, copy the __client value. It is your own session token, so keep it private and never commit it; it rotates, so refresh it if calls start returning 401. (This is the same value the community's bulk-downloaders and Chrome extensions capture.)
  • BELTO_TOKEN — a Belto API token (blt_…), minted in your Belto profile under "API tokens".

Layout:

  • skills/suno-import/SKILL.md — the Claude Code skill definition.
  • src/suno.mjs — Suno client (auth + library + stems), talks to your own session.
  • src/belto.mjs — Belto ingest client (POST /api/v1/ingest).
  • src/import.mjs — the orchestration; bin/suno-import.mjs — the CLI.

Important notes

  • Personal automation, your own account. These tools use your own session and act on your own content. Not a scraper; not for anyone else's account.
  • Unofficial Suno API. Suno has no official public API. The Suno client here talks to Suno's undocumented internal endpoints, which can change at any time and may need occasional upkeep. Contributions welcome.
  • Bring your own keys. You supply your own tokens. Nothing here stores or transmits your credentials to us.
  • Stems cost credits / need a paid plan. The tool checks up front.

Status

Working, lightly seasoned. The Suno endpoints, plan check (get_stems), library shape, and 12-track stem labels were validated against a live Premier account, and the platform-side ingest + backing derivation are tested end to end. The one path still to be exercised on a real machine is the Node → Suno Clerk auth (the in-browser session confirmed the endpoints; the JWT mint runs with your token). If something's off, it'll be an endpoint or field-name detail in src/suno.mjs.

Credits

Suno endpoint knowledge was informed by prior open-source work, notably gcui-art/suno-api (LGPL-3.0) and SunoAI-API/Suno-API (MIT). This is an independent implementation (no code copied); we learned which endpoints exist, which are facts, and wrote our own client.

License

MIT.

About

Open-source skills and tools for the karaoke project (starting with the Suno import skill). MIT licensed.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages