
Deploy VoiceStudio - Voice Cloning & Text-to-Speech
VoiceStudio web: voice cloning, TTS & transcription on CPU. voice studio
VoiceStudio
Just deployed
/app/omnivoice_data
Deploy and Host VoiceStudio - Voice Cloning & Text-to-Speech on Railway
VoiceStudio is an open-source voice production studio for voice cloning, text-to-speech, transcription, video dubbing and audiobook creation. This template hosts the official browser interface and audio API on Railway, with persistent storage and administrator authentication. Open the Railway URL in a browser to use the studio; no desktop installation is needed.
About Hosting VoiceStudio - Voice Cloning & Text-to-Speech
This template deploys one service from the official VoiceStudio 0.5.6 Docker image. The container serves the web interface and backend together on port 3900. Railway provides HTTPS networking, health checks and a persistent volume for your projects, voice profiles, generated audio, settings and downloaded models. Every deployment receives its own administrator key. Inference runs on Railway CPU resources because Railway does not provide GPUs. Install the models you need from the studio's Model Catalogue after signing in. The standard OmniVoice workflow does not require a paid AI provider or a Hugging Face token.
Common Use Cases
- Generate speech and clone a reference voice from your own recordings.
- Create narration, stories and audiobooks in the languages supported by the selected engine.
- Transcribe uploaded audio and prepare video dubbing workflows with the required models.
- Connect automation tools to the authenticated audio API or MCP endpoint.
- Keep projects and model downloads across container restarts and redeployments.
Dependencies for VoiceStudio - Voice Cloning & Text-to-Speech Hosting
- A paid Railway plan with enough memory and persistent storage for the selected models.
- A modern browser and the administrator key generated by this template.
- Model weights installed through Model Catalogue. OmniVoice used around 3.3 GB on disk in the validated deployment. Allow at least 5 GB of persistent storage for initial use; larger ASR models and media files need more space.
- Optional provider credentials or Hugging Face access approval for engines that explicitly require them.
Deployment Dependencies
- VoiceStudio GitHub repository
- Official Docker deployment guide
- VoiceStudio performance guide
- API authentication guide
Implementation Details
The template uses the official release image:
ghcr.io/debpalash/voicestudio:0.5.6
Railway settings:
Public port: 3900
Healthcheck path: /health
Volume mount path: /app/omnivoice_data
Replicas: 1
The persistent volume contains the SQLite database, voice references, settings, generated files and Hugging Face cache. A separate database service is not needed. Keep one replica because this deployment uses SQLite and a local model cache.
First launch
- Deploy the template and wait for the VoiceStudio service to become healthy.
- Open the service's Variables tab and copy the generated
OMNIVOICE_API_KEY. - Open the Railway public URL in your browser and sign in with that key when prompted.
- Open Model Catalogue and install the default VoiceStudio / OmniVoice model, or another compatible engine.
- Wait for the model download to finish. Enter a short passage in Voice Cloning and generate your first audio.
- For cloning, add a clean reference recording and its transcript. For transcription or dubbing, install the required ASR model as well.
The first generation loads the model into memory and can take longer than later requests. Model installation and generation progress appear in the studio and Railway logs.
Environment variables
PORT="3900"
OMNIVOICE_DEVICE="cpu"
OMNIVOICE_SERVER_MODE="1"
OMNIVOICE_API_KEY="${{secret(64)}}"
OMNIVOICE_DATA_DIR="/app/omnivoice_data"
HF_HOME="/app/omnivoice_data/huggingface"
OMNIVOICE_ALLOWED_HOSTS="${{RAILWAY_PUBLIC_DOMAIN}}"
OMNIVOICE_ALLOWED_ORIGINS="https://${{RAILWAY_PUBLIC_DOMAIN}}"
OMNIVOICE_ANALYTICS_DISABLED="1"
OMP_NUM_THREADS="8"
MKL_NUM_THREADS="8"
PYTHONUNBUFFERED="1"
All variables are preconfigured. The administrator key is generated separately for each deployment. If you add a custom domain, include its hostname in OMNIVOICE_ALLOWED_HOSTS and its exact HTTPS origin in OMNIVOICE_ALLOWED_ORIGINS.
Audio API example
After installing the model, set your URL and administrator key locally:
export VOICESTUDIO_URL="https://your-service.up.railway.app"
export VOICESTUDIO_API_KEY="your-generated-administrator-key"
curl --fail-with-body \
"$VOICESTUDIO_URL/v1/audio/speech" \
-H "Authorization: Bearer $VOICESTUDIO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"tts-1","voice":"alloy","input":"Hello from VoiceStudio on Railway.","response_format":"wav"}' \
--output speech.wav
The bundled API understands these OpenAI-compatible model and voice aliases. Keep the administrator key private.
CPU performance and available engines
CPU generation is slower than GPU generation, especially for longer passages, video dubbing and large models. Begin with short inputs, process jobs sequentially and size the Railway service for the models you load. Railway Free and Trial plans are not suitable for the standard OmniVoice model.
The web deployment includes the supported browser workflows. Native desktop integrations, Apple Silicon engines and GPU acceleration require their respective hardware. Some optional engines require extra packages, model access approval or a remote GPU worker; they are not installed automatically by this template. Translation providers used in dubbing can require separate configuration.
Deployment validation
Validated on Railway with the official 0.5.6 image: authenticated browser access, text-to-speech, voice cloning, transcription, audio downloads and model/history persistence after a redeploy. A fresh project deployed directly from this template also generated audio successfully with its own generated administrator key. Short TTS test requests took approximately 19–41 seconds, including initial model loading; timing varies with CPU allocation, model state and input length.
Troubleshooting
- 401 Unauthorized: sign in with the generated administrator key, or send it as a Bearer header from scripts.
- Model missing: install the selected model from Model Catalogue and wait for completion before generating.
- Generation is slow: confirm the selected engine supports CPU, reduce the passage length and check memory and CPU usage in Railway.
- Memory or disk limit reached: increase the service's memory limit or volume size for the selected models. Preserve the volume when redeploying.
- Custom domain requests are refused: add the exact domain and HTTPS origin to the two allow-list variables, then redeploy.
This is a community deployment template using the upstream official Docker image.
Why Deploy VoiceStudio - Voice Cloning & Text-to-Speech on Railway?
Railway hosts the studio, provides HTTPS networking, injects runtime variables and mounts persistent storage. You can access your private voice workspace from a browser and keep its projects and models across redeployments without maintaining a server manually.
Template Content
VoiceStudio
ghcr.io/debpalash/voicestudio:0.5.6