Cookbook / Ebook em audiolivro
Transforme um EPUB em
um audiolivro

Captura de tela. O template rodando localmente.
- Modelos
- sonic-3.6
- Idiomas
- Inglês por padrão, outros com --language
- Licença
- MIT
- Stack
- PythonGradioEbookLibffmpeguv
- Produtos da Cartesia
- Sonic 3.6
O que ele faz
A ferramenta de linha de comando e o app web fazem a mesma conversão. O projeto é um fork do epub_to_audiobook, o projeto de código aberto de p0n1.
Uma página de leitura que vem com o projeto destaca cada palavra enquanto toca, e clicar numa palavra pula para ela. Os arquivos de legenda funcionam na maioria dos players.
Rode você mesmo
Gere uma prévia sem chave
Rode os comandos abaixo. Você precisa de Python 3.10 a 3.12, com uv e ffmpeg instalados. A execução com
--previewnão gera áudio e não precisa de chave. Ela divide o livro de exemplo em capítulos, conta 15.065 caracteres (cerca de 15.000 créditos) e gravaout/cast.json, que mostra a voz escolhida para cada personagem.Variáveis de ambiente - CARTESIA_API_KEY
play.cartesia.ai/keys. Dispensável com--preview
Gere o áudio
Copie
.env.examplepara um novo arquivo.env. Coloque nele suaCARTESIA_API_KEY. Carregue no seu shell com set -a; ../.env; set +a. Depois rode o mesmo comando sem--preview. Em scripts, adicione -y para pular a pergunta sobre o custo.Use o app web
Rode
uv run python main_ui.py.Depois abrahttp://127.0.0.1:7860. ACARTESIA_API_KEYprecisa estar definida nesse shell. Mantenha o host local padrão, porque o app não tem login e gasta seus créditos para qualquer pessoa que consiga acessá-lo.Leia enquanto ouve
Abra no navegador o
readalong.htmldo projeto. Escolha o MP3 de um capítulo e depois o arquivo .timings.jsonque vem com ele. A palavra atual acende enquanto toca.
Crie com seu agente de programação
Um prompt que diz ao seu agente de programação por onde começar e o que ler primeiro.
Prompt
Convert an EPUB into an audiobook with Cartesia. Start from https:/ and follow its AGENTS.md for the commands, files and rules. It uses the cartesia Python SDK to stream sonic-3.6 from /tts/sse with add_timestamps and use_normalized_timestamps=False, joins the raw PCM with ffmpeg into one MP3 per chapter, and writes .timings.json and .vtt files for read-along. Run a --preview first, which needs no key, to check the character count and out/cast.json. If I don't have a Cartesia API key yet, follow https:/ to get one.
Como funciona
/tts/sse com marcações de tempo por palavra, até 1.500 caracteres por requisiçãotimings.json e um .vtt por capítuloPor que funciona assim
O streaming dá o tempo de cada palavra
O endpoint de fala simples da Cartesia devolve só o áudio. Os arquivos para ler junto precisam do momento de cada palavra, e só os endpoints de streaming devolvem isso. O app também usa use_normalized_timestamps=False, que mantém as palavras como estão escritas, como $5, para o destaque bater com o livro.
As vozes são definidas antes de qualquer capítulo
O elenco é decidido uma vez, antes de a conversão começar, para que processos em paralelo e novas execuções concordem sobre quem lê cada personagem. Uma fala sem indicação de quem fala, como disse Alice, vai para o último que falou, ou para a outra pessoa quando dois personagens trocam falas em parágrafos seguidos.
As indicações do diálogo definem a emoção
Nos diálogos em inglês, uma palavra como whispered, shouted ou sobbed ao lado de uma fala diz ao Sonic para lê-la em tom calmo, bravo ou triste. Laughed coloca uma risada antes da fala.
Deixe com a sua cara
Escolha as vozes
Edite out/cast.json e rode de novo. Para reaproveitar um elenco, passe seu próprio arquivo com --cast_file. Cada valor é o nome de uma voz incluída, como Archie. Também pode ser qualquer id de voz de play.cartesia.ai/voices.
Use uma única voz
Rode com --cast_mode narrator para ler o livro inteiro, diálogos incluídos, com uma só voz. Escolha essa voz com --voice_name.
Converta outro idioma
Passe --language fr ou qualquer outro código de idioma do Sonic. Cada personagem continua com sua voz. As indicações de emoção e de risada só funcionam em inglês.
Junte-se às equipes que estão migrando para a Cartesia
Perguntas
Quanto custa converter um livro?
O Sonic cobra cerca de um crédito por caractere, e as pausas entre parágrafos são adicionadas localmente, de graça. Rode com --preview primeiro para saber a contagem de caracteres. O valor de um crédito depende do seu plano, então a ferramenta não mostra valores em dólar.
Ele acerta a voz de cada personagem?
Na maioria das vezes, em livros que marcam o diálogo com disse Alice e parecidos. Ele perde personagens que só ficam implícitos, e uma troca de falas sem marcação entre duas pessoas pode se inverter. Confira o arquivo de elenco depois de uma prévia e corrija, ou leia o livro inteiro com uma só voz.
Posso ouvir num app de audiolivros como o Audiobookshelf?
Sim. Cada MP3 traz tags de título, autor, álbum e faixa, então o Audiobookshelf e servidores parecidos juntam os capítulos num único livro.
Posso converter qualquer livro?
Só converta livros que são seus ou dos quais você tem os direitos, e identifique o resultado publicado como áudio gerado por IA. O template vem com dois capítulos em domínio público de Alice no País das Maravilhas para testes.
Existe um guia passo a passo deste template?
Sim. A receita explica o código, o README cobre a configuração, as variáveis de ambiente e a implantação, e a referência de TTS por server-sent events explica o lado da Cartesia.
Mais do cookbook
Comece hoje
Fale com um especialista.
Converse com alguém da nossa equipe e descubra como a Cartesia pode ajudar você a criar experiências de voz de alto nível.
Comece a criar.
Acesse nossos modelos por API e coloque um agente de voz em produção em minutos.

