A daily log of product changes, improvements, and new model releases on OpenRouter

Product changes

  • Personal profile pagesProfiles have a brand new design with a refreshed activity-chart layout.
  • Deep Linking to Workspaces — Workspace URLs now resolve via an immutable workspace id, so links keep working after a slug rename. Docs.
  • Redesigned model page header — The header section on every model page has been rebuilt to be faster to scan and easier to navigate between providers and tabs.
  • Tier-aware pricing pills on provider cards — Provider cards on the model page now surface flex and priority pricing as compact pills so you can see how each service tier changes cost at a glance. Docs.
  • Redesigned BYOK provider detail page — The Bring-Your-Own-Key provider detail page has been refreshed with a cleaner provider summary and clearer connection status. Docs.
  • Docs button on app pages — App pages on /apps now include a Docs button that links directly to relevant cookbook guides and integration docs for that framework.
  • Logs table renders entities as pills — The logs table now displays model, provider, app, and other entity columns as compact pills, and the Supporting Models column is consolidated into a count with a click-through popup instead of an overflowing list.
  • Guardrails search and status filter — The guardrails list now supports searching by name and filtering by status. Docs.
  • Session-id-based provider stickiness — Requests that share the same session id now route to the same provider when possible, improving cache hit rates for multi-turn agentic workflows. Docs.
  • Hermes Agent cookbook — Added a Hermes Agent cookbook page covering how to use Nous Research’s Hermes Agent with OpenRouter.
  • Human-in-the-loop tools announcement — Published a blog post announcing human-in-the-loop tool calling support across the API and SDKs.
  • Fixed: Jupyter notebook attachments in chat — Attaching .ipynb files in the chatroom no longer balloons the prompt with embedded cell outputs.
  • Fixed: server-tool cost aggregation — The cost_details field returned to clients now aggregates costs correctly when a server tool runs multiple inner turns inside one user-facing request.

Product changes

  • Fixed: Langfuse broadcast trace Environment and Release fields — The Langfuse broadcast destination now populates Langfuse’s first-class Environment and Release trace fields (and the matching project filter) from the environment / release values you send on trace.metadata or obs.metadata — previously they always showed default. Docs.

Product changes

  • Fixed: collapsible sections in chatroom responses — Assistant messages in the chatroom once again render markdown-embedded HTML such as <details> / <summary> blocks and inline tags like <b>.

Product changes

  • Regex-based Prompt Injection Detection — The guardrails editor now allows adding a new Prompt Injection Detection guardrail with regex-based flag, redact, and block action modes. Docs.
  • Per-provider ZDR controlsPrivacy settings and the guardrail editor now expose separate Zero Data Retention toggles for non-frontier, Anthropic, OpenAI, and Google providers, with per-provider account-level lock support.
  • Introducing the pareto-code routerA new, experimental coding router that allows you to set min_coding_score in your request and route to the cheapest code-capable model that clears your bar.
  • Playground server tool controls — The chatroom Composer’s Server Tools panel now exposes every supported parameter for Web Search, Web Fetch, Image Generation, and Datetime, matching the API surface for full parity between the playground and direct API calls.
  • Logs time picker shorthand — The logs page’s time-range picker now accepts typed shorthand like 15min, 1h, 3d, 8w, 1mo, or 2y — type into the trigger and press Enter to jump straight to that relative window.

New models


Product changes

  • Provider-specific image generation quickstarts — Model pages for Recraft V3, Recraft V4 / V4 Pro, and Sourceful now show tailored code examples with each model’s supported image_config parameters (e.g., text_layout for V3, rgb_colors for V4, font_inputs for Sourceful). See the image generation docs.
  • Activity page API key labels — Activity analytics now correctly display API key names instead of numeric IDs for accounts with more than 500 API keys. Previously, the slim-keys endpoint capped at 500 results, leaving excess keys unlabeled in charts.

New models


Product changes

  • Human-in-the-loop SDK ToolSDK documentation for the new human-in-the-loop tool type, enabling tools that pause execution and wait for human input before returning results.
  • Copy guardrails across workspacesGuardrail definitions can now be copied between workspaces via the “Copy to…” menu. Workspaces without a default guardrail can also import settings from another workspace.
  • Video generation cookbook — New Cookbook section with six video generation recipes covering model selection, text-to-video, image-to-video, reference-to-video, provider-specific options, and webhooks.
  • Audio APIs blog postBlog post announcing the text-to-speech and speech-to-text API endpoints with usage examples and model comparisons.
  • Responses API MCP tool routing — The namespace field on function_call output items is now preserved through the Responses API pipeline. Previously, the field was silently stripped during parsing, which broke MCP tool routing for clients like Codex CLI that rely on namespace to dispatch calls to the correct MCP server.

New models


Product changes

  • Guardrails enforcement drill-down — Rows in the Guardrails enforcement chart now link directly to the matching generations on the Logs page.
  • Entity hover cards — Models, providers, and apps across the dashboard now show hover cards with a preview and a link to the entity’s page.
  • Responses API tool call handling — Conversation history containing tool calls with missing optional fields (e.g. no arguments or id) no longer causes 400 errors from providers. The router now defaults missing arguments to "{}" and generates a stable id when absent.
  • File upload OCR handling — Files processed with OCR no longer fail when routed to text-only models. Previously, OCR-extracted images could be sent to models that don’t support vision input, causing errors.

New models


Product changes

  • BYOK key test in logs — Failed BYOK requests in the Activity page now show a warning and a “Test Key” button that replays the route with your current BYOK config, uses the exact logged request if I/O Logging is enabled, and displays the full provider error message.
  • supported_voices in models API — Text-to-speech models now expose their available voices via the supported_voices field in the models API response.
  • Video generation error detection — Video generation jobs that fail upstream (e.g. content moderation rejection, invalid input) now fail immediately instead of retrying until timeout. Previously, certain provider error responses could cause the polling loop to retry before surfacing the failure.

Product changes

  • API key relative dates — The “Created” field on API key detail pages now shows a relative date format (e.g. “3 months ago”) with the full date available on hover.

Product changes

  • Azure Responses stream error handling — Fixed error handling for Azure-hosted models in the Responses API, correctly surfacing upstream errors (e.g. rate limits) instead of empty completions.
  • API key detail card styling — Improved card border-radius consistency on the API key detail page.