OpenReels

Providers

Overview of all provider categories in OpenReels — LLM, TTS, image, video, music, and stock footage — with the provider matrix, BYOK model, and cost comparison.

OpenReels uses a pluggable provider system. Each stage of the pipeline (scripting, voiceover, visuals, music) can use a different provider. You pick what fits your budget and quality needs.

Provider matrix

CapabilityProvidersEnv var
LLMAnthropic Claude, OpenAI GPT, Google Gemini, OpenRouter, any OpenAI-compatibleANTHROPIC_API_KEY, OPENAI_API_KEY, GOOGLE_API_KEY, OPENROUTER_API_KEY, OPENREELS_LLM_API_KEY
SearchNative (provider built-in), Tavily, None (parametric)TAVILY_API_KEY
TTSElevenLabs, Inworld, OpenAI TTS, Gemini TTS, Kokoro (free, local)ELEVENLABS_API_KEY, INWORLD_TTS_API_KEY, OPENAI_API_KEY, GOOGLE_API_KEY, none
ImagesGemini Imagen, OpenAI DALL-EGOOGLE_API_KEY, OPENAI_API_KEY
VideoGoogle Veo, fal.ai KlingGOOGLE_API_KEY, FAL_API_KEY
MusicGoogle Lyria 3 Pro, Bundled library (free)GOOGLE_API_KEY, none
StockPexels, PixabayPEXELS_API_KEY, PIXABAY_API_KEY

The --provider flag

The --provider flag sets the LLM provider. It also acts as a convenience shortcut for ecosystem-wide configuration:

ValueWhat it sets
anthropicLLM only (default). Other providers use their own flags.
openaiLLM only.
geminiLLM only.
googleLLM (Gemini) + Image (Gemini Imagen) + TTS (Gemini TTS) + Video (Veo) + Music (Lyria). One GOOGLE_API_KEY for everything.
localLLM (your default) + TTS (Kokoro, free local). No TTS API key needed.

Individual provider flags override the --provider shortcut:

# Google for everything except TTS — use ElevenLabs for voiceover
pnpm start "topic" --provider google --tts-provider elevenlabs

Bring Your Own Keys (BYOK)

OpenReels never stores API keys. You provide them via environment variables (.env file or system env). The web UI's Settings page lets you enter keys per-session — they are sent with each API request and never persisted server-side.

Minimum to run:

  • One LLM keyANTHROPIC_API_KEY, OPENAI_API_KEY, or GOOGLE_API_KEY
  • One TTS optionELEVENLABS_API_KEY, INWORLD_TTS_API_KEY, or use --tts-provider kokoro (free, no key)

Optional:

  • GOOGLE_API_KEY — also needed for Gemini images, Veo video, Lyria music, and Gemini TTS
  • PEXELS_API_KEY / PIXABAY_API_KEY — for stock footage
  • FAL_API_KEY — for Kling video via fal.ai

Cost comparison

Before every run, the pipeline shows a cost estimate and asks for confirmation. After rendering, actual cost is computed from real token usage.

Provider categoryCheapest optionMid-rangePremium
LLMGemini 2.5 Flash (~$0.001/run)OpenAI GPT ($0.01-0.03/run)Anthropic Claude ($0.05-0.10/run)
TTSKokoro (free)Gemini TTS / Inworld (~$0.01/run)ElevenLabs (~$0.15/run)
ImagesGemini Imagen ($0.101/image)--OpenAI DALL-E ($0.167/image)
VideoVeo 3.1 Lite ($0.30/6s clip)--fal.ai Kling ($0.35/5s clip)
MusicBundled (free)--Lyria 3 Pro ($0.08/track)
StockPexels / Pixabay (free)----

A typical run with Google providers costs under $1. A run with Kokoro TTS and bundled music can cost as little as the LLM + image generation fees.

Use --dry-run to preview the DirectorScore and cost estimate without spending anything:

pnpm start "your topic" --dry-run

All provider flags

FlagDescriptionDefault
--provider <name>LLM provider (anthropic, openai, gemini, google, local)anthropic
--tts-provider <name>TTS provider (elevenlabs, inworld, kokoro, gemini-tts, openai-tts)elevenlabs
--image-provider <name>Image provider (gemini, openai)gemini
--video-provider <name>Video provider (gemini, fal)auto-detect
--music-provider <name>Music provider (bundled, lyria)bundled
--video-model <model>Override the default video modelprovider default
--kokoro-voice <voice>Kokoro voice presetaf_heart
--no-musicDisable background musicmusic on
--no-videoDisable AI video generationvideo on
--no-stock-verifyDisable VLM stock footage verificationverify on
--stock-confidence <n>Min confidence for stock verification (0-1)0.6
--stock-max-attempts <n>Max stock API calls per scene4