youtube-transcript-to-article

youtube-transcript-to-article

Docker app from patrickstigler's Repository

Overview

YouTube Transcript to Article Turn YouTube captions into structured Markdown via an OpenAI-compatible model (OpenAI or LocalAI). Web UI and HTTP API; optional MCP mode returns transcript and video metadata only (no LLM in the container). Features Transcripts from URL or ID; depth levels (brief through comprehensive); optional word-target summaries; default or per-request model; OpenAI or LocalAI; simple web UI. For the web/API container you need an OpenAI API key (or LocalAI with optional key). MCP mode does not require OPENAI_API_KEY in the container. Image: Docker Hub patrickstigler/youtube-transcript-to-article — or GHCR ghcr.io/patrickstigler/youtube-transcript-to-article (set Repository to that and Registry to https://ghcr.io if you use GitHub Container Registry).

Runtime arguments

Web UI
http://[IP]:[PORT:5000]/
Network
bridge
Shell
sh
Privileged
false

Template configuration

OPENAI_API_KEYVariable

Required when APP_MODE=flask and using OpenAI (DEFAULT_MODEL_HOST=openai). Optional for LocalAI.

APP_MODEVariable

flask = web UI + API (port 5000). mcp = Model Context Protocol server (use MCP port mapping when using streamable-http).

Default
flask
Value
flask
DEFAULT_MODEL_HOSTVariable

openai or localai

Default
openai
Value
openai
DEFAULT_MODELVariable

Default model id when the client omits model

Default
gpt-4o-mini
Value
gpt-4o-mini
OPENAI_BASE_URLVariable

Optional OpenAI-compatible API base (must resolve to /v1). Leave empty for default OpenAI.

LOCALAI_BASE_URLVariable

LocalAI base URL when DEFAULT_MODEL_HOST=localai

Default
http://host.docker.internal:8080/v1
Value
http://host.docker.internal:8080/v1
LOCALAI_API_KEYVariable

Optional; falls back to OPENAI_API_KEY

OPENAI_TIMEOUTVariable

Seconds for model requests

Default
180
Value
180
HTTP_REQUEST_TIMEOUTVariable

Seconds for YouTube metadata requests

Default
30
Value
30
MAX_TRANSCRIPT_CHARSVariable

Max transcript length sent to the model

Default
120000
Value
120000
MCP_TRANSPORTVariable

When APP_MODE=mcp: streamable-http (default in image) or stdio

Default
streamable-http
Value
streamable-http
FASTMCP_PORTVariable

Container listen port for MCP streamable-http; add a Port mapping 8000→8000 in Unraid when APP_MODE=mcp

Default
8000
Value
8000
Web UI portPorttcp

Flask web UI and API (APP_MODE=flask)

Target
5000
Default
5000
Value
5000

Download Statistics

1,007
Total Downloads

Details

Repository
patrickstigler/youtube-transcript-to-article
Last Updated2026-04-09
First Seen2024-08-27

Run youtube-transcript-to-article on Unraid.

youtube-transcript-to-article is listed in Community Apps for Unraid OS. Explore Unraid to build a flexible home server, NAS, or homelab.