---
title: "Deploy VoiceStudio - Voice Cloning & Text-to-Speech"
description: "VoiceStudio web: voice cloning, TTS & transcription on CPU. voice studio"
category: "AI/ML"
url: https://railway.com/deploy/voicestudio-voice-cloning-and-text-to-sp
---

# Deploy VoiceStudio - Voice Cloning & Text-to-Speech

VoiceStudio web: voice cloning, TTS & transcription on CPU. voice studio

**[Deploy VoiceStudio - Voice Cloning & Text-to-Speech on Railway](https://railway.com/template/voicestudio-voice-cloning-and-text-to-sp)**

Machine-readable deploy manifest (JSON, validated by TemplateCI): https://railway.com/deploy/voicestudio-voice-cloning-and-text-to-sp/manifest.json

- **Creator:** Xav's Projects
- **Category:** AI/ML
- **Total deploys:** 1

## Template content

### VoiceStudio https://raw.githubusercontent.com/debpalash/VoiceStudio/v0.5.6/docs/logo.svg

- **Image:** ghcr.io/debpalash/voicestudio:0.5.6
- **Start command:** `python3 -m uvicorn backend.main:app --host 0.0.0.0 --port 3900 --proxy-headers --forwarded-allow-ips '*'`
- **Health check:** /health
- **Public domain:** Yes

## Documentation

# 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](https://github.com/debpalash/VoiceStudio)
- [Official Docker deployment guide](https://github.com/debpalash/VoiceStudio/blob/v0.5.6/docs/install/docker.md)
- [VoiceStudio performance guide](https://github.com/debpalash/VoiceStudio/blob/v0.5.6/docs/performance.md)
- [API authentication guide](https://github.com/debpalash/VoiceStudio/blob/v0.5.6/docs/api-auth.md)

### Implementation Details

The template uses the official release image:

```text
ghcr.io/debpalash/voicestudio:0.5.6
```

Railway settings:

```text
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

1. Deploy the template and wait for the VoiceStudio service to become healthy.
2. Open the service's Variables tab and copy the generated `OMNIVOICE_API_KEY`.
3. Open the Railway public URL in your browser and sign in with that key when prompted.
4. Open Model Catalogue and install the default VoiceStudio / OmniVoice model, or another compatible engine.
5. Wait for the model download to finish. Enter a short passage in Voice Cloning and generate your first audio.
6. 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

```env
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:

```bash
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.


## Similar templates

- [Chat Chat](https://railway.com/deploy/-WWW5r) — Chat Chat, your own unified chat and search to AI platform.
- [stella](https://railway.com/deploy/stella) — Self-host stella with web, API, Postgres, Redis, and object storage.
- [Hermes Agent | OpenClaw Alternative with Dashboard](https://railway.com/deploy/hermes-agent-or-openclaw-alternative-wit) — Self-Hosted Hermes AI Agent for Telegram, Discord & Slack

Open this page in a browser: https://railway.com/deploy/voicestudio-voice-cloning-and-text-to-sp
