Skip to main content

Chat Completions Plugins

Choose the right plugin for a /v1/chat/completions request.

Use plugins in /v1/chat/completions when one request needs an explicit PDF engine override, server-side response healing for structured output, or secret sanitization before model execution. The web plugin is also listed here as the planned built-in web search path, but it is not production-ready yet.

Add a plugin to the request

Add one entry to plugins. Keep the rest of the request as a normal chat-completions call.

request.json
{
  "model": "qwen/qwen3-235b-a22b-instruct-2507-fp8",
  "messages": [
    {
      "role": "user",
      "content": "Summarize this incident note, but hide apiKey=sk-live-demo-123456."
    }
  ],
  "plugins": [
    {
      "id": "privacy-sanitization",
      "mode": "redact"
    }
  ]
}
  • web: add { "id": "web" }. This plugin is still coming soon and is not production-ready yet.
  • file-parser: add pdf.engine only when the request must force pdf-text or native.
  • response-healing: also send stream: false and a structured response_format.
  • privacy-sanitization: also send mode as redact, tokenize, or block.

Available plugins

Web Search
Description
Built-in web grounding after release. This path is still coming soon, so use Tool Calling if you need supported retrieval right now.
PDF Inputs
Description
Force a specific PDF engine when server-managed auto handling is not enough, or keep reading for `pdf-text` versus `native`.
Response Healing
Description
Add a server-side repair step for non-stream structured output when `response_format` is already correct but responses still break.
Privacy Sanitization
Description
Redact, tokenize, or block sensitive fragments before model execution. Do not combine it with built-in web search.

How activation works

  • plugins in the request is the normal activation path for /v1/chat/completions.
  • Authenticated API requests may also inherit saved plugin defaults when plugin settings policy is enabled.
  • web still requires explicit opt-in per request.
  • file-parser can still be applied automatically for PDF inputs when server-managed engine selection is enough.

Limits and compatibility

  • web and privacy-sanitization cannot run in the same request.
  • response-healing only works with stream: false and response_format.type set to json_object or json_schema.
  • web supports streaming and non-streaming requests.
  • privacy-sanitization supports streaming and non-streaming requests.

See also

Was this page helpful?