Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 8 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -296,15 +296,18 @@ Some models may be temporarily unavailable. Try a different model or check

**Q: Does this work with Open WebUI's native tool calling?**

A: Tool calling is handled by Open WebUI before the pipe receives the request — the pipe forwards
the composed messages as-is. Whether a given OpenRouter model supports tool use depends on
A: Open WebUI manages tool calling in an iterative loop: when the pipe's response contains
tool calls, Open WebUI executes them, appends the results as `role: "tool"` messages, and
re-invokes the pipe with the updated thread. The pipe forwards the full message list to
OpenRouter on each invocation. Whether a model can generate tool calls depends on
OpenRouter's provider support for that model.

**Q: Why does `FREE_ONLY` include models without a `:free` suffix?**

A: Some models (e.g. `google/gemma-*`, `qwen/qwen3-*`) are genuinely free but are not suffixed
with `:free`. The pipe checks both the suffix and the actual pricing (`0/0` prompt and completion
cost) to catch these cases.
A: Some models are listed as free on OpenRouter without carrying a `:free` suffix in their
ID. The pipe uses a two-pass check: first it looks for the `:free` suffix, then it falls
back to inspecting the `pricing.prompt` and `pricing.completion` fields returned by the
OpenRouter `/models` endpoint — if both are `0`, the model is treated as free.
Comment on lines +308 to +310

**Q: Can I use multiple provider filters at once?**

Expand Down
Loading