LLM providers
VidNexus talks to any OpenAI-compatible chat-completions endpoint. That includes OpenAI itself, plus a bunch of local + self-hosted options - Ollama, LM Studio, vLLM, LocalAI - that give you the same pipeline for free at the cost of your own hardware.
The contract
VidNexus only needs three settings to reach an AI model. You find them in Settings > API keys, under AI model:
AI model address = http://localhost:11434
AI model = qwen3.5:9b
AI provider API key = (empty for Ollama on this computer)
VidNexus adds /v1 to the address if it is missing. The provider must expose POST /v1/chat/completions with the standard OpenAI request/response shape. Planning passes (outline, hook score, fact-check) ask for JSON with response_format: { type: "json_object" }; narration is written as plain text, because forcing JSON makes the writing worse. Every mainstream provider supports both.
A change is used on the next call to the AI model. No restart needed.
Ollama (recommended local)
Easiest local setup. Ships as a single desktop app that runs models locally with GPU acceleration on NVIDIA/AMD/Apple Silicon. Free.
# Install Ollama from ollama.com
ollama pull qwen3.5:9b
ollama serve
Then in VidNexus:
AI model address = http://localhost:11434
AI model = qwen3.5:9b
AI provider API key = (leave empty)
Also add a free Ollama account key in Settings > API keys as Ollama web search key (from ollama.com/settings/keys). It is separate from the model: it lets the research step search the web, and script writing needs it.
Recommended Ollama models by hardware
No GPU, or under 8 GB VRAM
qwen3.5:9b with 16 GB+ system RAM (slow but good)
qwen3.5:4b otherwise
or a hosted model (about a cent per script)
8 GB VRAM and up (recommended default)
qwen3.5:9b (6.6 GB download)
gemma4:12b (10 GB+ VRAM): livelier prose, but runs long and is less reliable on Shorts
Optional upgrades for long and Deep videos
qwen3.5:27b (19 GB+ VRAM, 17 GB download)
qwen3.5:35b, a mixture-of-experts model that runs about as fast as 9B (25 GB+ VRAM, 24 GB download)
You don't have to pick blind: the first-run wizard recommends a model matched to your GPU, and if you skip it VidNexus probes your hardware once and sets a fitting default.
Why 9B: in side-by-side tests on the same researched topics, Qwen 3.5 9B wrote clearer story structure than the older Qwen 2.5 14B, with far fewer style problems, the most reliable Shorts, and scripts close to the target length. The prompts are tuned on it. Thinking mode is switched off automatically, since it slows writing down without making it better.
OpenAI
Fastest results, best structured-output reliability, pay-per-token pricing. Recommended when Ollama is too slow (typically long-form deep-mode runs) or you don't have a GPU.
AI model address = https://api.openai.com
AI model = gpt-4o-mini
AI provider API key = sk-...
Model picks
gpt-4o-mini (default)
Sweet spot. Handles all VidNexus passes. ~$0.15/M input, $0.60/M output. A 20-minute video costs ~$0.10-0.20 in script gen.
gpt-4o
Higher quality prose. Notably better on hook writing and humanize. ~10× the cost of 4o-mini.
Anthropic (via a proxy)
Anthropic's native API is NOT OpenAI-compatible. To use Claude for script generation, run a small proxy that translates between the two APIs. Options:
The Ctrl+K assistant is the exception: it talks to Claude directly. Add an Anthropic API key in Settings > Integrations > Ctrl+K assistant, and your edits run on Claude Sonnet 4.6. Each edit can be undone in one click. Without a key, the assistant uses your AI model in Ollama. Adding new motion graphics with the assistant needs Claude.
LiteLLM proxy (recommended)
Open-source proxy that fronts any provider with an OpenAI-shaped API. Runs locally in ~1 command.
pip install litellm
litellm --model claude-sonnet-4-5 --port 4000
Then in VidNexus, set AI model address to http://localhost:4000 and AI model to claude-sonnet-4-5.
OpenRouter (zero-setup cloud)
Cloud proxy at openrouter.ai - pay per token, no server to run. Access Claude, Gemini, and dozens of others through one OpenAI-shaped endpoint. Small markup on top of provider pricing.
Other self-hosted stacks
LM Studio
GUI app for downloading + running local models. Ships an OpenAI-shaped server on http://localhost:1234 when you click Start Server. Good for users who prefer a UI to CLI. Same model list as Ollama.
vLLM
High-throughput serving library. Overkill for single-user VidNexus use, but the right choice if you're running the LLM on a separate GPU box that serves multiple tools. Native OpenAI-compatible endpoint on port 8000.
LocalAI
Drop-in OpenAI-compatible replacement that runs models via GGUF/GGML on CPU. Slower than Ollama but works on any hardware. Useful for laptops without a GPU.
Structured output requirement
Planning passes expect JSON back and set response_format: { type: "json_object" }. Narration is plain text. Current instruct models (Qwen 3.5, Gemma 4, GPT and Claude families) handle both; if a planning call returns prose, VidNexus retries before surfacing an error.
Structured-output support by provider
✓ OpenAI
✓ Anthropic Claude (via LiteLLM / OpenRouter)
✓ Ollama (Qwen 3.5, Gemma 4)
✓ vLLM with
--guided-jsonflag✓ LM Studio (recent versions)
Cost tuning
The LLM is called ~10 times per short video, ~24 times per deep-mode long video, plus 1-2 calls per Research tool run. Cloud costs scale with call count + prompt/response length.
Split providers per task
You don't have to pick ONE provider. Common pattern:
Script generation: local Ollama (free but slow - you have time here)
Humanize / Titles: OpenAI (fast + quality matters, low volume)
Research tools: whichever you have set globally
Per-task provider override lives on the roadmap; today it's one global endpoint. Workaround: change the AI model address in Settings > API keys between runs.
Health checks
The AI model chip in the top bar checks your AI model every 30 seconds. Green means it answered, amber means there is a problem, red means it failed. Hover the chip to see the error.
The other services (ElevenLabs, Pexels, Pixabay, Pikzels and more) are listed under the Integrations chip next to it. Use them to catch a bad key BEFORE you start a full build.
What's next
Script generation: How the LLM builds a script from a prompt.
Troubleshooting: Common LLM errors and fixes.