Simple HTTP API that generates audio file with the (not so) famous Roberto voice.
Find a file
2026-04-17 10:21:31 +02:00
.github/workflows feat: build the image 2025-12-24 22:03:32 +01:00
python-client add python client and docker compose 2026-04-17 09:37:58 +02:00
rust-client fix: use first reponse as path 2021-10-13 20:26:56 +02:00
.gitignore add python client and docker compose 2026-04-17 09:37:58 +02:00
.goreleaser.yml chore: removed old script 2023-08-14 16:29:35 +02:00
docker-compose.yml chore(docker): use latest as docker image tag 2026-04-17 10:21:00 +02:00
Dockerfile chore: compact both voice install in single run 2025-12-25 22:31:41 +01:00
example_config.yml feat: dockerfile, separate address 2025-12-23 23:13:31 +01:00
go.mod feat: dockerfile, separate address 2025-12-23 23:13:31 +01:00
go.sum feat: dockerfile, separate address 2025-12-23 23:13:31 +01:00
LICENSE Initial commit 2021-10-12 21:18:09 +02:00
main.go feat: add paola as voice, make voice selectable 2025-12-24 12:27:34 +01:00
README.md add python client and docker compose 2026-04-17 09:37:58 +02:00
structure.go feat: dockerfile, separate address 2025-12-23 23:13:31 +01:00

restRoberto

Go Report Card

restRoberto - Simple HTTP API that generates audio file with the (not so) famous Roberto voice.

Endpoints

GET /audio

Generates audio from the provided text and replies with status code 202 and the audio as raw PCM.

Query parameters:

  • token: the authorization token
  • text: the text used to generate the audio
  • voice: the voice to use (Roberto or Paola). Default is Roberto.

Example query: GET https://rest.roberto.site/audio?token=valid_token&text=nyanpasu

Docker

There's now a working image deployed. Take a look here for the image

Docker Compose

To run restRoberto with Docker Compose, first copy example_config.yml to config.yml and edit it with your tokens, then run:

docker compose up -d

Clients

Rust

A synchronous client using ureq is available in the repository under rust-client folder.

Python

Use the python client under the python-client folder to perform a GET request and save the response content to an output.wav file. It requires request library.

pip install requests

curl

curl -o output.wav "http://localhost:8087/audio?token=your_token&text=ciao"