---
title: "Deploy render-api-server"
description: "Async API to render longform videos from multiple audio and backgrounds."
category: "Other"
url: https://railway.com/deploy/render-api-server
---

# Deploy render-api-server

Async API to render longform videos from multiple audio and backgrounds.

**[Deploy render-api-server on Railway](https://railway.com/template/render-api-server)**

- **Creator:** Joseph Mjomba's Projects
- **Category:** Other
- **Total deploys:** 3

## Template content

### render-longform-vid

- **Source:** juppfy/render-longform-vid

## Documentation

# Deploy and Host render-api-server on Railway

render-api-server is an async FastAPI service that converts multiple audio tracks plus image or video backgrounds into longform videos (up to 2 hours), returning a shareable S3-compatible URL. It is built for background video rendering with job polling and a separate result endpoint so clients don’t have to wait on long-running HTTP requests.

## About Hosting render-api-server

Hosting render-api-server on Railway involves deploying a FastAPI/Uvicorn service that performs CPU-intensive FFmpeg operations and writes rendered videos to an S3-compatible bucket. You’ll connect a Railway Storage bucket or AWS S3 bucket, set the storage credentials and API key in Railway variables, and then expose the service via Railway Networking. Clients submit jobs with audio and background URLs, poll a status endpoint while processing happens asynchronously, and finally call a result endpoint to fetch the final video URL and metadata such as duration and processing time.

## Common Use Cases

- Turn podcasts, audiobooks, sermons, or lectures into longform background videos.
- Generate YouTube or social-ready videos from pure audio plus looping image/video backgrounds.
- Automate marketing, recap, or educational content pipelines that need video output from audio.

## Dependencies for render-api-server Hosting

- FFmpeg for audio/video processing inside the container.
- An S3-compatible bucket (Railway Storage or AWS S3) to store rendered videos.

### Deployment Dependencies

- Railway Storage or AWS S3 bucket for video output.  
- API key generation via [`https://keygen.leadlysolutions.com`](https://keygen.leadlysolutions.com) for securing requests.  
- Railway Networking URL (e.g. `your-app.up.railway.app`) which you must prefix with `https://` when calling the API or health check (e.g. `https://your-app.up.railway.app/health`).

### Implementation Details 

After deploying the template:

- Create or attach a Storage service (or AWS S3 bucket) and set: `BUCKET`, `ENDPOINT`, `ACCESS_KEY_ID`, `SECRET_ACCESS_KEY`, `REGION`.  
- Generate an API key at `https://keygen.leadlysolutions.com` and set it as `API_KEY`.  
- Use the Networking URL from Railway (add `https://`) in your curl commands for `/health`, `/api/v1/longform/render`, `/status/{request_id}`, and `/result/{request_id}`.

## Why Deploy render-api-server on Railway?


Railway is a singular platform to deploy your infrastructure stack. Railway will host your infrastructure so you don't have to deal with configuration, while allowing you to vertically and horizontally scale it.

By deploying render-api-server on Railway, you are one step closer to supporting a complete full-stack application with minimal burden. Host your servers, databases, AI agents, and more on Railway.



## Similar templates

- [Rocky Linux](https://railway.com/deploy/rocky-linux) — 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/render-api-server
