Skip to content

Support additional request body parameters in OpenAI-compatible nodes #6055

@toddkim95

Description

@toddkim95

Feature Description

Background

When working with OpenAI-compatible backends, some providers require additional non-standard fields in the request body.

For example, when serving Qwen3 models via vLLM, reasoning (thinking) behavior is controlled through request body parameters such as:

{
  "chat_template_kwargs": {
    "enable_thinking": false
  }
}

In the OpenAI Python/JS SDK, these parameters are typically passed via extra_body.

Problem

Currently, Flowise OpenAI-compatible nodes (e.g., ChatOpenAI / OpenAI Custom Model) allow customization of:

  • Base URL
  • Headers (via Base Options)

However, there is no way to pass additional fields into the request body.

This makes it difficult to use OpenAI-compatible APIs that rely on extended request parameters (such as vLLM + Qwen deployments).

Expected Behavior

It would be helpful to support passing arbitrary JSON fields into the request body, similar to the extra_body option in OpenAI SDKs.

For example:

{
  "extra_body": {
    "chat_template_kwargs": {
      "enable_thinking": false
    }
  }
}

Or more generally, a field like:

  • Additional Body Params (JSON)

Suggested Solution

Add an optional JSON input field (e.g., extraBody) in OpenAI-compatible nodes, and merge it into the final request payload before sending the request.

Why this matters

  • Some OpenAI-compatible backends (e.g., vLLM) expose important features via additional request body fields

  • Qwen3 models require parameters like chat_template_kwargs.enable_thinking to control reasoning behavior

  • Without this capability, users must:

    • fork Flowise, or
    • introduce a proxy layer to modify requests

Additional Context

Happy to contribute a PR if this direction is acceptable 🙂

Feature Category

API Enhancement

Problem Statement

No response

Proposed Solution

No response

Mockups or References

No response

Additional Context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions