Clonar uma faixa e criar uma do zero são caminhos diferentes. O musicaclone separa os dois e trava tudo que costuma dar errado no meio.

Você passa um link (YouTube, Facebook, TikTok, qualquer coisa que o yt-dlp abra). Ele baixa o áudio, pergunta ao Gemini se aquilo é mesmo música, extrai estilo e letra, monta um spec, mostra pra você — e só então gera no Suno pela API do Kie.
Usa o áudio original como referência (upload-cover), então melodia e estrutura ficam. Não é "uma música parecida".
Não é música? Trava. Letra veio truncada? Avisa. Fonte é um teaser de 29 s? Mostra a duração antes de você gastar crédito.
Cada faixa vira uma pasta com spec.json: taskId gravado antes do poll, custo medido de verdade, e regen pra ajustar sem reanalisar.
O caminho de cima é o clone (parte de um link). O de baixo é a criação (parte de uma ideia). Os dois passam pelo mesmo portão antes de gastar crédito.
prep + cloneÁudio original vira referência no Kie. O peso --audio-weight decide o quanto a faixa nova gruda no original: 0.9 é quase o mesmo arranjo, 0.4 é só inspirado.
cria + regenSem referência. Você entrega tags de estilo e a letra; o modelo faz o resto. É o caminho pra trilha, jingle, tema original.
Nada roda como serviço. É um script bash com curl, jq, yt-dlp e um python de análise.
yt-dlp para o download, jq para o estado, ffmpeg para a extração de áudio.
# debian/ubuntu sudo apt install jq ffmpeg pipx install yt-dlp
É quem gera a música. Pegue em kie.ai/api-key e ponha num .env — o script lê em runtime, nunca versiona.
# .env ao lado do script KIE_API_KEY=sk-...
É quem escuta o áudio e diz se é música, qual o estilo e qual a letra.
# mesmo .env GOOGLE_API_KEY=...
Comandos reais. O único passo que gasta crédito é o 3 — e ele só roda depois que você olhou o passo 2.
Resolve o link, baixa o áudio, classifica e analisa. Não gasta crédito do Kie.
bash musica.sh prep "https://youtube.com/watch?v=..." minha-faixa
Aqui você confere o que ele entendeu. Se a duração for de teaser ou a letra vier incompleta, pare e arrume antes.
bash musica.sh spec minha-faixa --- viking-gods [clone] --- fonte: «Viking Gods» by Bob Dominator duracao: 29.07s <- teaser, nao e a musica inteira modo: cover style: epic pop, cinematic, female lead vocals, nordic, driving rhythm letra completa? false (75 palavras)
Sobe a referência, dispara o job e grava o taskId antes de qualquer poll — se a conexão cair, você retoma em vez de pagar de novo.
bash musica.sh clone minha-faixa --audio-weight 0.85
As URLs do Suno expiram, então get baixa na hora e ainda calcula o custo real da geração.
bash musica.sh status minha-faixa # PENDING → TEXT_SUCCESS → FIRST_SUCCESS → SUCCESS bash musica.sh get minha-faixa # faixa-1.mp3, faixa-2.mp3, creditos gastos: 12
Sem link. Você escreve o estilo em tags e entrega a letra num arquivo com [Verse] / [Chorus].
bash musica.sh cria meu-tema \ --style "epic cinematic pop, powerful female belt vocals, war drums, 118bpm" \ --title "Se Paga" --voz f --letra letra.txt bash musica.sh regen meu-tema
Tudo vive no spec.json, então regen refaz com o ajuste sem repetir download nem análise.
| Flag | O que faz | Quando mexer |
|---|---|---|
| --style | tags de som (gênero, instrumento, vocal, andamento) | timbre saiu errado |
| --negative | o que evitar | saiu acústico e você queria pesado |
| --voz m|f | gênero do vocal | vocal veio trocado |
| --audio-weight | só no clone: quanto puxa a referência | 0.85–0.95 cola no original, 0.4 só inspira |
| --style-weight | adesão ao estilo descrito | ignorou as tags |
| --weirdness | desvio criativo | ficou óbvio demais |
| --model | V4 … V5_5 (default V5) | V5_5 é o único com --duration |
| --instrumental | sem vocal | trilha e BGM |
Estilo bom é tag curta em inglês, separada por vírgula: nordic folk metal, epic, male gang vocals, war drums, low brass, 140bpm. Frase corrida funciona pior.
O script grava o saldo antes de gerar e escreve o gasto real no spec.json. O número abaixo saiu de uma geração de verdade em 2026-08-05, não de tabela de terceiro.
| Serviço | Preço | Faz clone de áudio? |
|---|---|---|
| Suno via Kie (este projeto) | 12 créditos por geração de 2 faixas ≈ US$ 0,06 (~US$ 0,03/faixa) | Sim — upload-cover |
| Suno direto (assinatura) | 5 créditos/música; Pro US$ 10/mês ≈ 500 músicas | Só na web, sem API oficial |
| ElevenLabs Music | ~US$ 0,30–0,40 por minuto gerado (3 min ≈ US$ 1,00–1,20) | Não |
| Udio | crédito por geração; Standard US$ 10/mês = 2.400 créditos | Sem API pública madura |
Resumo: o Kie ganha aqui por ser o único dos três com clone a partir de áudio de referência, e por sair ~17–20× mais barato que o ElevenLabs por faixa.
O que está marcado como pronto foi rodado ponta a ponta, incluindo uma geração paga real.