OpenRouter Blog · 2026-09-11
ZDR means an AI provider processes your prompt, returns a response, and doesn't store either one afterward. It's a retention guarantee, not a universal privacy policy. This page explains the boundary, compares ZDR with related controls, and shows how to enforce it at the account, guardrail, or request level.
Open original
OpenRouter Blog · 2026-09-11
Our OpenAI-compatible speech endpoint puts TTS models from Mistral, xAI, Microsoft, and more behind one request shape. Here's the path from API key to a playable MP3 in cURL, Python, JavaScript, and the OpenAI SDK, plus the response checks that keep JSON errors out of your audio files.
Open original
OpenRouter Blog · 2026-09-10
Fusion is our compound model. It turns one prompt into a short debate among several models: a panel answers in parallel, a judge maps agreement and disagreement, and the calling model writes the final answer. You trade some speed and tokens for quality. This is what it does, what it costs, and when to use it.
Open original
OpenRouter Blog · 2026-09-10
A preset is config-as-code for your LLM calls: a named, versioned set of models, system prompts, provider routing, and sampling parameters. Define it once, reference it as @preset/your-slug everywhere, and update every app from the dashboard without a redeploy.
Open original
OpenRouter Blog · 2026-09-09
Seedance 2.5 trades resolution for length. It runs to 30 seconds and stops at 720p. We work through what it's best at, what a clip costs at each resolution, how it compares to Seedance 2.0, Wan 3.0, and Veo 3.1 on our own catalog data, and the cases where we'd recommend a different model.
Open original
OpenRouter Blog · 2026-09-09
Send a source image and an edit prompt in one request, get the edited image back, and change the editing model by editing a single field. Runnable Python and TypeScript included.
Open original
OpenRouter Blog · 2026-09-09
US In-Region Routing is live, joining the EU. Send requests to us.openrouter.ai and they are decrypted only inside the United States and served only by providers running there, across models from OpenAI, Anthropic, Google, NVIDIA, Thinking Machines, DeepSeek, Moonshot, and Qwen.
Open original
OpenRouter Blog · 2026-09-08
The shell server tool gives any model on OpenRouter a hosted Linux shell, and the Files API moves files in and out of it. Commands run in an isolated container, the model reads back stdout, stderr, and exit codes, and files the run writes can be downloaded afterward. Available today in beta on the Responses and Messages APIs.
Open original
OpenRouter Blog · 2026-08-25
OpenAI introduced large discounts on their new Terra and Luna models from July 27th through August 14th. What impact did these discounts have on token volumes, total spend, and the competition?
Open original
OpenRouter Blog · 2026-08-25
Every video provider has its own endpoint, job statuses, polling logic, and output format. Our async video API puts Seedance, Veo, Wan, and more behind one submit, poll, and download loop. Here's the full lifecycle in Python and TypeScript.
Open original
OpenRouter Blog · 2026-08-25
There's no single best AI model, only the best model for a given task, budget, and moment. This article describes a six-step framework for choosing one, and how to run every step from your editor through the OpenRouter MCP server.
Open original
OpenRouter Blog · 2026-08-21
We ran 39 image models through 15 deliberately hard prompts and put every result on one page. Compare fill levels, finger counts, poster text, and edits side by side, with the price and generation time under each image.
Open original
OpenRouter Blog · 2026-08-19
Today, we are excited to announce that we are joining forces with Stripe, to power the next wave of GDP growth globally.
Open original
OpenRouter Blog · 2026-08-17
Supporting more than one image provider means handling different endpoints, data formats, and billing models. Our dedicated Image API gives you one request format and one key across supported models. Here's the full prompt-to-local-file workflow in Python and JavaScript.
Open original
OpenRouter Blog · 2026-08-17
See what your team spent on every model, save the charts you keep rebuilding, click any bar to land in the logs behind it, and query the same data from your terminal with the Analytics API.
Open original
OpenRouter Blog · 2026-08-14
To get a model to read a screenshot, you need the right request body. This guide shows the content-array pattern that works across every vision-capable model we support, when to use base64 instead of a hosted URL, and how to build multimodal RAG on top of it.
Open original
OpenRouter Blog · 2026-08-12
Most tool-calling tutorials cover one provider, so you rewrite the loop when you switch. This guide shows the full loop in Python, JavaScript, and cURL, then runs it against three providers by changing one string.
Open original
OpenRouter Blog · 2026-08-12
We published live leaderboards grading web search configurations across four task suites. Compare engines, search depth, and models by quality, cost, and speed before your agent makes its first search.
Open original
OpenRouter Blog · 2026-08-10
Our new Auto router is informed by the model decisions of millions of people, and it outperforms conventional task-based classifiers across a wide spectrum of tasks.
Open original
OpenRouter Blog · 2026-08-07
OpenRouter has five controls for team spend: an organization with a shared credit pool, presets that scope models per workload, per-key spend caps, guardrails that enforce per-member budgets, and the Activity dashboard that shows who spent what. This guide sets them all up in one pass, in order.
Open original