Juntar áudios
A junção de áudios costura vários arquivos em uma única gravação, na ordem que você determinar: vinheta, conteúdo, encerramento — ou as dez mensagens de voz que contam uma história só. Você envia a lista de arquivos e recebe um único resultado, pronto para publicar ou arquivar.
Rode online
Rode nos nossos servidores com a sua conta. As ferramentas grátis rodam no seu navegador; esta aqui é descontada do seu saldo do KIT pelo preço acima.
De vários pedaços para um arquivo só
Áudio nasce fragmentado: a abertura gravada uma vez, o conteúdo gravado hoje, o recado do patrocinador gravado semana passada. Juntar tudo num editor é tarefa manual e repetitiva — arrastar, alinhar, exportar, conferir. A junção por API transforma isso numa operação declarativa: você diz quais arquivos e em que ordem, e recebe o resultado costurado. O que era meia hora de edição vira uma chamada que roda sozinha a cada episódio, aula ou lote de mensagens.
A ordem é sua, e é sempre a mesma
O detalhe que diferencia automação de improviso é a previsibilidade: a lista enviada define exatamente a sequência do resultado, hoje e daqui a seis meses. Isso permite montar estruturas fixas — abertura, bloco principal, encerramento — em que só o miolo muda a cada edição. Sistemas que geram áudio em partes, como sínteses de voz feitas por seções, também se beneficiam: gera-se cada seção separada e a junção entrega o produto final montado, idêntico em estrutura toda vez.
Quanto custa juntar
O preço segue o padrão da categoria: US$ 0,077 por chamada mais US$ 0,0045 por minuto de áudio processado. Juntar dez mensagens de dois minutos — vinte minutos no total — custa US$ 0,167, em dólar americano. Não há cobrança por arquivo na lista, e sim pela duração somada: juntar muitos pedaços curtos custa o mesmo que juntar poucos pedaços longos com a mesma duração total.
Em implantação: o que já está definido
Falando claro: esta capacidade ainda não aceita execuções — está em fase de implantação. O que esta página publica é o compromisso: a especificação, os limites de 200 MB e 180 minutos por tarefa e o preço acima, que valerão quando a execução abrir. Nenhuma cobrança acontece antes disso. Se a junção é o elo que falta no seu fluxo, mande sua dúvida por e-mail ou WhatsApp — resposta humana, em espanhol ou inglês, e português é bem-vindo na pergunta.
Casos de uso
Episódio montado: vinheta, papo e patrocinador
O produtor mantém a vinheta e o encerramento fixos e grava só o miolo a cada semana. A junção monta o episódio final automaticamente — a mesma estrutura, toda semana, sem abrir editor.
Dez áudios de WhatsApp, um registro único
O cliente explicou o problema em dez mensagens de voz ao longo de dois dias. Antes de arquivar no histórico do atendimento, a empresa junta tudo em um arquivo só, na ordem em que as mensagens chegaram.
Audiolivro capítulo a capítulo
A narradora grava um capítulo por sessão, cada um num arquivo. Na entrega, a junção costura os capítulos na ordem do sumário e o livro sai inteiro, num único áudio contínuo.
Comunicado escolar em três blocos
A escola monta o áudio do mural semanal: boas-vindas da direção, avisos da semana e o lembrete final da secretaria. Três gravações de origens diferentes viram um comunicado só para mandar aos responsáveis.
Perguntas frequentes
Tem limite de quantos arquivos posso juntar de uma vez?
Os limites publicados valem para a tarefa como um todo: 200 MB e 180 minutos somados. Dentro desse teto, a lista pode ter os arquivos que a sua montagem pedir.
Dá para inserir um espaçamento entre os áudios?
A junção publicada é direta: um arquivo emenda no seguinte. Pausa entre blocos não está na especificação atual — se o seu caso depende disso, conte para a gente antes; conhecer a demanda real é o que orienta o que entra depois.
Juntar vinte minutos de mensagens custa quanto?
US$ 0,077 pela chamada mais 20 minutos a US$ 0,0045: US$ 0,167 no total, em dólar americano. A conta é pela duração somada, não pela quantidade de arquivos da lista.
Consigo usar hoje mesmo?
Ainda não — a capacidade está em fase de implantação e não aceita execuções. Especificação, limites e preço já estão publicados e serão exatamente estes na abertura. Preferimos página honesta a botão que não funciona.
Os áudios que eu junto ficam com vocês?
Os arquivos são enviados ao servidor para a montagem — é onde a junção acontece — e não são expostos nem publicados. Para conteúdo sensível, o caminho é o de sempre: pergunte ao atendimento sobre o tratamento dos dados antes de enviar.
A qualidade muda quando os arquivos são unidos?
A junção em si não é uma reedição criativa: o objetivo é preservar o conteúdo dos arquivos originais. Como em toda operação sobre formatos comprimidos, o resultado depende do material de entrada — arquivos íntegros entram, um arquivo íntegro sai.
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/audio/merge \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"audio":"https://ejemplo.com/audio.mp3"}'const res = await fetch("https://api.kit.forhosting.com/audio/merge", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"audio": "https://ejemplo.com/audio.mp3"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/audio/merge",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"audio": "https://ejemplo.com/audio.mp3"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/audio/merge", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"audio":"https://ejemplo.com/audio.mp3"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"audio":"https://ejemplo.com/audio.mp3"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/audio/merge", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"audio": "https://ejemplo.com/audio.mp3"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "audio.merge",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Limites
max_mb | 200 |
max_minutes | 180 |
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |