Suno Studio

Produto completo para criar musicas no Suno v5.5 — do zero, remix, radio — com agentes Claude nos bastidores e interface visual moderna.

🎯
O Problema
Criar musica no Suno envolve montar style tags, escrever lyrics com metatags, escolher voice, configurar more options. Cada geracao e manual e repetitiva.
💡
A Solucao
Uma interface onde voce descreve o que quer em linguagem natural. Agentes Claude fazem o trabalho pesado: lyrics, style, remix. Browser automation gera no Suno.
🚀
O Resultado
Musica pronta em ~60s. Voce descreve, os agentes criam, o browser gera, voce ouve. Seamless.

Fluxo Central

1
Voce Pede
"Trap sad sobre solidao, 140BPM, voice jux"
→
2
Orchestrator
Claude API analisa e despacha pros agentes
→
3
Agentes Trabalham
Lyrics + Style + Config em paralelo
→
4
Browser Cria
Automation abre Suno e gera
→
5
Voce Ouve
Resultado aparece na interface

Features

✨
Studio
Cria do zero com chat natural
🔄
Remix
Transforma musicas existentes
📚
Biblioteca
Todas as suas musicas organizadas
📻
Radio
Publica direto na Radio Serendipd
🧠
Smart
Sugere proxima musica baseado no historico

Isolamento Total

✅ Nao toca em nada existente
Projeto isolado em suno-studio/. Banco proprio (suno_studio_db). Portas proprias. PM2 names proprios. Zero impacto na Radio, scripts ou API existentes.
🔗 Mas integra com tudo
LĂŞ musicas do banco da Radio para remix. Publica de volta opcionalmente. Usa a mesma skill suno-creator validada. Compartilha o token renewer.

Arquitetura

Frontend + Backend API + Multi-Agent Claude + Browser Automation + PostgreSQL

Frontend — React + Vite + Tailwind
Studio Page
Chat + Quick Actions
Remix Page
Selecionar + Transformar
Biblioteca
Grid + Filtros + Player
Radio
Publicar + Gerenciar
Config
Voices + Presets + API
⬇ SSE (progresso real-time)
Backend — Fastify 5 + Claude API
Orchestrator
Analisa pedido, despacha agentes
Lyrics Agent
Escreve/refina letras
Style Agent
Monta tags otimizadas
Remix Agent
Analisa original, transforma
Creator Agent
Browser automation → Suno
⬇ PostgreSQL + Browser MCP
Infra
suno_studio_db
PostgreSQL
Browser Automation
MCP web-browser
Token Renewer
Compartilhado
Suno Sync
Importa musicas geradas

Stack Tecnica

Frontend
FrameworkReact 18 + TypeScript
BuildVite 6
UIshadcn/ui + Radix + Tailwind
EstadoZustand + TanStack Query
FormsReact Hook Form + Zod
HTTPAxios + SSE client
Porta4900
Dominiosuno-studio.serendiped.com
Backend
RuntimeNode.js ESM + TypeScript
FrameworkFastify 5
IAAnthropic SDK (Claude Sonnet)
ORMPrisma 6
ValidacaoZod + fastify-type-provider-zod
BrowserMCP web-browser (skill suno-creator)
Porta4901
Dominiosuno-studio-api.serendiped.com

Sistema de Agentes

5 agentes Claude especializados orquestrados pelo backend. Cada um tem uma funcao clara.

🧠
Orchestrator Agent
Recebe o pedido em linguagem natural, entende a intencao (criar, remixar, iterar), decompoe em sub-tarefas e despacha pros agentes certos. Decide se precisa de lyrics, style ou ambos.
Analise de intencao Decomposicao Despacho
📝
Lyrics Agent
Especialista em escrever letras com metatags Suno. Conhece todas as section tags ([Verse], [Chorus], [Bridge], [Build], [Drop]), voice tags ([Whispered], [Belted], [Spoken Word]) e regras de estrutura. Gera lyrics otimizadas para o estilo pedido.
300+ metatags PT-BR e EN 3000 chars max
🎛️
Style Agent
Monta o style prompt perfeito: genero + mood + BPM + instrumentos + vocais + producao + excludes. Front-loads o essencial. Sabe que 8-15 tags e o ideal. Nunca nomeia artistas. Usa descritores tecnicos que o Suno v5.5 entende.
8-15 tags 1000 chars max Front-load
🔄
Remix Agent
Analisa uma musica existente (letra, style, genero, BPM) e a transforma: muda genero, adapta lyrics pro novo BPM, ajusta metatags, preserva essencia. Sabe usar Cover, Extend, Mashup e Reuse do Suno.
Cover Extend Mashup Reuse
🌐
Creator Agent
Executa no Suno via browser automation: abre suno.com/create, ativa Advanced mode, preenche lyrics e style via JavaScript (React-safe), seleciona voice, clica Create UMA vez. Skill suno-creator ja validada em producao.
Browser MCP 1 click = 2 musicas 20 creditos
📡
Publisher Agent
Apos a geracao, salva no banco suno_studio_db, sincroniza metadados (titulo, url, audio_url), e opcionalmente publica na Radio Serendipd via API existente.
Auto-save Radio publish Metadata sync

Fluxo de Execucao

Usuario: "faz uma trap sad em portugues sobre solidao noturna, 140 BPM, voice jux" → Orchestrator analisa: - Tipo: CRIAR (novo) - Precisa: lyrics + style + voice config - Idioma: PT-BR - Despacha em paralelo: → Lyrics Agent [rodando...] Output: "[Intro] [Soft Piano]\n\n[Verse 1] [Whispered]\nA cidade dorme..." → Style Agent [rodando...] Output: "Brazilian trap, sad melancholic, 140 BPM, 808 bass, dark piano..." → Creator Agent [aguardando lyrics + style] Input: { lyrics, style, voice: "jux" } Acao: browser → suno.com/create → Advanced → preenche → Create Output: { songId: "xxx", creditsUsed: 20 } → Publisher Agent [pos-criacao] Salva no banco, retorna URL pro frontend

Interface — Mockup

Dark mode padrao. Chat central. Progresso dos agentes em tempo real.

https://suno-studio.serendiped.com
✨ Studio
🔄 Remix
📚 Biblioteca
📻 Radio
⚙️ Config

RECENTES
🎵
Noite Vazia
Trap Sad • 2min ago
🎵
Frequencia Alta
Techno • 15min ago
🎵
Ceu de Neon
Synthwave • 1h ago

✨ Studio

Descreva a musica que voce quer criar

AGENTES TRABALHANDO
🧠 Orchestrator
Analisou: criar trap sad, PT-BR, 140 BPM, voice jux
done
📝 Lyrics Agent
Escrevendo letra com metatags [Verse] [Chorus] [Build] [Drop]...
running
🎛️ Style Agent
Montando: Brazilian trap, sad, 140 BPM, 808, dark piano...
running
🌐 Creator Agent
Aguardando lyrics + style...
waiting
Progresso da geracao 2/4 agentes concluidos

Modulos

5 modulos que cobrem todo o ciclo de criacao musical

✨
1. Studio (Criar)
O que faz: Cria musica do zero via chat natural

Features:
  • Input em linguagem natural
  • Quick actions (novo, remix, radio, surpresa, batch)
  • Progresso dos agentes em tempo real via SSE
  • Preview de lyrics e style antes de gerar
  • Selecao de voice (jux, custom, default)
  • Historico de geracoes com 1-click re-generate
🔄
2. Remix
O que faz: Transforma musicas existentes em novos generos/estilos

Features:
  • Seleciona musica da biblioteca ou liked do Suno
  • Escolhe tipo: Cover, Extend, Mashup, Reuse
  • Seleciona genero destino com presets visuais
  • Compara antes/depois lado a lado
  • Batch remix (seleciona varias, aplica estilo)
📚
3. Biblioteca
O que faz: Organiza todas as musicas criadas

Features:
  • Grid visual com covers gerados
  • Player inline com waveform
  • Filtros: genero, mood, BPM, data, voice
  • Tags e colecoes customizaveis
  • Sync automatico do Suno (daemon existente)
  • Busca por texto na letra
📻
4. Radio
O que faz: Publica musicas na Radio Serendipd

Features:
  • 1-click publish da biblioteca pra radio
  • Gera musicas no formato radio (script → audio)
  • Gerencia edicoes e blocos da radio
  • Preview antes de publicar
⚙️
5. Config
O que faz: Configura voices, presets e preferencias

Features:
  • Gerencia voices disponiveis (jux, custom)
  • Presets de style salvos (templates)
  • Creditos do Suno (monitoramento)
  • Modelo preferido (v5 / v5.5)
  • Conexao com Radio API

Workflows

3 workflows principais — do simples ao autonomo

⚡ Workflow 1: Quick Create

Mais rapido. Voce descreve → musica pronta.

1
Descreve
"Techno dark 128BPM"
→
2
Agentes
~5s: lyrics + style
→
3
Browser
~30s: gera no Suno
→
4
Pronto
2 musicas na biblioteca

🔄 Workflow 2: Remix Batch

Seleciona 3-5 musicas, aplica novo genero em todas.

1
Seleciona
3 liked songs
→
2
Destino
"Eletronico, voice jux"
→
3
Remix Agent
Adapta cada uma
→
4
Creator x3
3 geracoes sequenciais
→
5
6 musicas
Na biblioteca

🤖 Workflow 3: Full Auto

Voce da um tema geral e o sistema cria um EP de 5 faixas autonomamente.

1
Tema
"EP noturno cyberpunk"
→
2
Orchestrator
Planeja 5 faixas variadas
→
3
5x Pipeline
Lyrics+Style+Create cada
→
4
10 musicas
EP completo + publicado

Tech Spec

Especificacoes tecnicas detalhadas

Estrutura de Pastas

suno-studio/ ├── frontend/ │ ├── src/ │ │ ├── features/ │ │ │ ├── studio/ # Modulo Studio (criar) │ │ │ ├── remix/ # Modulo Remix │ │ │ ├── library/ # Biblioteca │ │ │ ├── radio/ # Integracao Radio │ │ │ └── config/ # Configuracoes │ │ ├── shared/ │ │ │ ├── components/ui/ # shadcn/ui │ │ │ ├── components/common/ │ │ │ ├── hooks/ │ │ │ └── lib/ # api-client, sse-client │ │ ├── App.tsx │ │ └── main.tsx │ ├── vite.config.ts │ └── package.json ├── backend/ │ ├── src/ │ │ ├── domains/ │ │ │ ├── songs/ # CRUD musicas │ │ │ ├── generations/ # Geracoes (fila + status) │ │ │ ├── agents/ # Multi-agent orchestration │ │ │ └── radio/ # Integracao Radio API │ │ ├── agents/ │ │ │ ├── orchestrator.ts │ │ │ ├── lyrics.ts │ │ │ ├── style.ts │ │ │ ├── remix.ts │ │ │ ├── creator.ts # Browser automation │ │ │ └── publisher.ts │ │ ├── lib/ │ │ │ ├── claude.ts # Anthropic SDK wrapper │ │ │ ├── browser.ts # MCP web-browser client │ │ │ └── sse.ts # SSE stream pro frontend │ │ └── server.ts │ ├── prisma/ │ │ └── schema.prisma │ └── package.json ├── project-infra.json └── docs/

Banco de Dados (Prisma Schema)

model Song { id String @id @default(cuid()) sunoId String? @unique // ID no Suno title String lyrics String? @db.Text style String? // Style prompt usado genre String? mood String? bpm Int? voice String? // Voice usada (jux, default, custom) audioUrl String? imageUrl String? duration Int? // Segundos sunoModel String? @default("v5.5") tags String[] @default([]) source String @default("studio") // studio | remix | radio | import parentId String? // Se e remix, referencia o original parent Song? @relation("Remixes", fields: [parentId], references: [id]) remixes Song[] @relation("Remixes") publishedToRadio Boolean @default(false) createdAt DateTime @default(now()) updatedAt DateTime @updatedAt } model Generation { id String @id @default(cuid()) prompt String @db.Text // Pedido original do usuario status String @default("pending") // pending | running | done | error agentLogs Json? // Log de cada agente lyrics String? @db.Text // Output do Lyrics Agent style String? // Output do Style Agent songIds String[] @default([]) // Songs criadas creditsUsed Int? error String? createdAt DateTime @default(now()) updatedAt DateTime @updatedAt } model Preset { id String @id @default(cuid()) name String type String // style | lyrics-template | workflow content Json // Dados do preset createdAt DateTime @default(now()) }

API Endpoints

MetodoRotaDescricao
POST/api/generateCria musica — recebe prompt, orquestra agentes, retorna SSE stream
POST/api/remixRemix de musica existente — recebe songId + target style
POST/api/batchBatch create — recebe tema, gera N musicas
GET/api/generationsLista geracoes com status
GET/api/generations/:idDetalhe de uma geracao (logs dos agentes)
GET/api/songsLista musicas com filtros (genero, mood, bpm, tags)
GET/api/songs/:idDetalhe de uma musica
POST/api/songs/:id/publishPublica na Radio Serendipd
GET/api/presetsLista presets salvos
POST/api/presetsCria preset de style/lyrics
GET/api/creditsCreditos do Suno restantes

Infra

ServicoPM2 NamePortaDominio
Frontendsuno-studio-frontend4900suno-studio.serendiped.com
Backend APIsuno-studio-api4901suno-studio-api.serendiped.com
Docssuno-studio-docs4902suno-studio-docs.serendiped.com

Aprovacao

Revise e aprove o design antes de iniciar a implementacao

Resumo do que sera construido

  • ✓
    Projeto isolado em suno-studio/ — nao toca nada existente
  • ✓
    Frontend React dark mode com 5 modulos (Studio, Remix, Biblioteca, Radio, Config)
  • ✓
    Backend Fastify com 6 agentes Claude (Orchestrator, Lyrics, Style, Remix, Creator, Publisher)
  • ✓
    Banco PostgreSQL separado (suno_studio_db)
  • ✓
    Browser automation reutilizando skill suno-creator validada
  • ✓
    SSE real-time mostrando progresso dos agentes
  • ✓
    3 workflows: Quick Create, Remix Batch, Full Auto
  • ✓
    Integracao com Radio Serendipd (publish opcional)
  • ✓
    3 dominios: app + api + docs em *.serendiped.com
✅
O que INCLUI
• Chat natural pra criar musica
• Multi-agent Claude com logs visiveis
• Remix visual (cover, extend, mashup)
• Biblioteca com filtros e player
• Batch/EP creation automatico
• Presets de style reutilizaveis
• Publicacao na Radio com 1 clique
• Creditos monitoring
• Voice selection (jux, custom)
❌
O que NAO inclui (YAGNI)
• Edicao de audio/waveform (use o Suno Studio)
• Upload de audio proprio (use o Suno direto)
• Streaming/player completo (nao e Spotify)
• Multi-usuario/auth (e pessoal)
• Mobile app (responsivo basta)

Design OK? Posso comecar a implementar?

Diga "vai" no chat e eu comeco pelo backend + agentes