---
title: "Deploy SubtitlePro"
description: "A web service overlaying Korean YouTube subtitles via AssemblyAI & Claude."
category: "Other"
url: https://railway.com/deploy/subtitlepro
---

# Deploy SubtitlePro

A web service overlaying Korean YouTube subtitles via AssemblyAI & Claude.

**[Deploy SubtitlePro on Railway](https://railway.com/template/subtitlepro)**

- **Creator:** Muhammad Bilal
- **Category:** Other

## Template content

### subtitle-pro

- **Source:** bilalnawaz072/subtitle-pro
- **Public domain:** Yes

## Documentation

# Deploy and Host Subtitle Pro on Railway

Subtitle Pro is a Next.js web application designed to automatically generate and overlay Korean subtitles on YouTube videos. By leveraging yt-dlp for audio extraction, AssemblyAI for speech-to-text recognition, and Claude for high-quality translation, it provides a seamless viewing experience for foreign-language content directly in your browser.

## About Hosting Subtitle Pro

Hosting Subtitle Pro requires an environment capable of running Node.js and system-level audio processing tools. Railway simplifies this deployment by automatically provisioning the Next.js frontend and backend APIs within a single service using Nixpacks. Because the application extracts and processes media files on the fly, it relies heavily on system dependencies like `ffmpeg` and `yt-dlp`. Railway handles this seamlessly via Nixpacks configuration.

Additionally, Subtitle Pro caches completed translations locally to minimize API costs and improve load times for previously processed videos. This requires a persistent Railway Volume mounted directly to the application container. With Railway's HTTP proxy and custom domains, the application is exposed securely over HTTPS, allowing users to simply append a YouTube video ID to the URL and instantly view translated subtitles.

## Common Use Cases

* Language Learning
* Accessibility
* Content Analysis

## Dependencies for Subtitle Pro Hosting

* Railway Volume
* AssemblyAI API
* Anthropic API
* System packages (ffmpeg, yt-dlp)

### Deployment Dependencies

* [GitHub Repository](https://github.com/revfactory/subtitle-pro)
* [AssemblyAI Console](https://www.assemblyai.com/dashboard)
* [Anthropic Console](https://console.anthropic.com/)

### Implementation Details

## Docker

No Dockerfile is strictly required. Railway automatically builds the repository using Nixpacks. However, you must instruct Nixpacks to install the required system dependencies via environment variables.

## Public Networking

| Proxy Type | Target Port |
| --- | --- |
| HTTP Proxy | 3001 |

## Environment Variables

| Variable | Required | Description |
| --- | --- | --- |
| `ANTHROPIC_API_KEY` | Yes | Your API key for Claude translation (obtained from the Anthropic Console). |
| `ASSEMBLYAI_API_KEY` | Yes | Your API key for STT transcription (obtained from the AssemblyAI Console). |
| `NIXPACKS_PKGS` | Yes | System dependencies required for build and runtime extraction. |
| `PORT` | No | Target port for the application. Defaults to 3001. |

```env
ANTHROPIC_API_KEY=sk-ant-xxx
ASSEMBLYAI_API_KEY=xxx
NIXPACKS_PKGS=ffmpeg yt-dlp
PORT=3001

```

## Persistent Storage

A persistent volume is required to cache generated subtitles in the `.cache/` directory to avoid regenerating them on subsequent requests.

1. Open Railway Service Settings
2. Go to Volumes
3. Click Add Volume
4. Mount Path:

```text
/app/.cache

```

## Database

No external database is required. Application state relies on an in-memory job store and the disk-based cache volume.

## Build & Start

No custom build or start commands are required. Railway's Nixpacks builder will automatically detect the Next.js application, install npm dependencies, and run the default build and start scripts.

## Accessing the Application

1. Go to Railway Settings → Networking → Generate Domain.
2. Access the application by appending a YouTube video ID to your generated URL.
3. Example: `[https://your-app.up.railway.app/watch?v=dQw4w9WgXcQ](https://your-app.up.railway.app/watch?v=dQw4w9WgXcQ)`
4. The application will automatically begin the extraction, transcription, and translation pipeline upon opening a valid video link.

## Why Deploy Subtitle Pro on Railway?

Railway is a modern app hosting platform that makes it easy to deploy production-ready apps quickly. Railway offers seamless GitHub integration, automatic deployments, and a built-in marketplace. By deploying on Railway, you get instant HTTPS, automated rollbacks, and simple horizontal scaling without managing servers or complex infrastructure.

## Similar templates

- [Rocky Linux](https://railway.com/deploy/rocky-linux) — [Jul'26] Hosted Rocky Linux 9 workspace with SSH and persistent storage. 🚀
- [Foundry Virtual Tabletop](https://railway.com/deploy/X5tR6G) — A Self-Hosted & Modern Roleplaying Platform
- [Letta Code Remote](https://railway.com/deploy/letta-code-remote) — Run a Letta Code agent 24/7. No inbound ports, just deploy.

Open this page in a browser: https://railway.com/deploy/subtitlepro
