Skip to content

feat: add FuturMix as named OpenAI-compatible provider - #26504

Closed
Gzhao-redpoint wants to merge 3 commits into
BerriAI:litellm_internal_stagingfrom
Gzhao-redpoint:feat/add-futurmix-provider
Closed

feat: add FuturMix as named OpenAI-compatible provider#26504
Gzhao-redpoint wants to merge 3 commits into
BerriAI:litellm_internal_stagingfrom
Gzhao-redpoint:feat/add-futurmix-provider

Conversation

@Gzhao-redpoint

@Gzhao-redpoint Gzhao-redpoint commented Apr 25, 2026

Copy link
Copy Markdown

Summary

Adds FuturMix.ai as a named OpenAI-compatible provider in providers.json.

FuturMix is a enterprise AI agent platform that provides OpenAI-compatible access to 22+ models (Claude, GPT, Gemini) . Adding it as a named provider allows users to use futurmix/ prefix for model routing.

Changes

  • Added futurmix entry to litellm/llms/openai_like/providers.json

Usage

Once merged, users can call FuturMix models with:

import litellm

response = litellm.completion(
    model="futurmix/claude-sonnet-4-20250514",
    messages=[{"role": "user", "content": "Hello"}],
    api_key="your-futurmix-key"
)

Environment variable: FUTURMIX_API_KEY

Testing

import os
os.environ["FUTURMIX_API_KEY"] = "sk-..."

# Chat completion
response = litellm.completion(
    model="futurmix/gpt-4o",
    messages=[{"role": "user", "content": "test"}]
)

# Streaming
for chunk in litellm.completion(
    model="futurmix/claude-sonnet-4-20250514",
    messages=[{"role": "user", "content": "test"}],
    stream=True
):
    print(chunk.choices[0].delta.content or "", end="")

@CLAassistant

CLAassistant commented Apr 25, 2026

Copy link
Copy Markdown

CLA assistant check
All committers have signed the CLA.

@veria-ai

veria-ai Bot commented Apr 25, 2026

Copy link
Copy Markdown
Contributor

Add FuturMix as OpenAI-compatible provider

Adds a declarative JSON entry for FuturMix (futurmix.ai/v1) following the same pattern as existing providers (static base URL, env-var-based API key). The second file is an alphabetical re-sort of provider endpoint support metadata. No code logic, auth, or input-handling changes.


Status: 0 open
Risk: 1/10

@greptile-apps

greptile-apps Bot commented Apr 25, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

This PR registers FuturMix as a named OpenAI-compatible provider by adding it to providers.json (routing config) and provider_endpoints_support.json (capability advertised to the UI/API). The providers.json entry is well-formed and consistent with existing providers; the a2a: false flag in provider_endpoints_support.json was already corrected in a prior commit. The only remaining gap is a documentation URL that references a page not yet published.

Confidence Score: 5/5

Safe to merge — only JSON config changes adding a new named provider with no logic impact.

Both changed files are purely declarative JSON. The providers.json entry is correctly structured and consistent with peers. The provider_endpoints_support.json reordering has been verified by a senior developer to change no existing provider values. The only finding is a P2 dead documentation link.

No files require special attention.

Important Files Changed

Filename Overview
litellm/llms/openai_like/providers.json Adds futurmix entry with correct base URL, API key env var, optional base URL override via FUTURMIX_API_BASE, and max_completion_tokens → max_tokens mapping — consistent with other providers in this file.
provider_endpoints_support.json Adds futurmix endpoint capability entry and alphabetically reorders existing providers (confirmed by prior review not to change any existing values). The futurmix URL field points to a documentation page not yet created.

Sequence Diagram

sequenceDiagram
    participant User
    participant LiteLLM
    participant FuturMix as FuturMix Gateway (futurmix.ai/v1)
    participant Model as Upstream Model

    User->>LiteLLM: completion(model="futurmix/gpt-4o")
    LiteLLM->>LiteLLM: Load providers.json, resolve base_url
    LiteLLM->>FuturMix: POST /v1/chat/completions (OpenAI format)
    FuturMix->>Model: Forward to upstream provider
    Model-->>FuturMix: Response
    FuturMix-->>LiteLLM: OpenAI-compatible response
    LiteLLM-->>User: ModelResponse
Loading

Reviews (4): Last reviewed commit: "fix: set FuturMix a2a to false (not an A..." | Re-trigger Greptile

@codecov

codecov Bot commented Apr 25, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@Gzhao-redpoint

Copy link
Copy Markdown
Author

recheck

2 similar comments
@Gzhao-redpoint

Copy link
Copy Markdown
Author

recheck

@Gzhao-redpoint

Copy link
Copy Markdown
Author

recheck

@Gzhao-redpoint

Copy link
Copy Markdown
Author

@CLAassistant recheck

@Gzhao-redpoint

Copy link
Copy Markdown
Author

I have read the CLA Document and I hereby sign the CLA

@Gzhao-redpoint

Copy link
Copy Markdown
Author

recheck

Comment on lines 2472 to 2490
@@ -2337,9 +2490,9 @@
"interactions": true

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Unintended capability change for watsonx bundled into add-provider PR

The watsonx entry's audio_transcriptions flag changes from false to true in this PR. This is a substantive capability change for an existing provider that is silently bundled into a simple "add FuturMix" PR. This will affect any code that queries endpoint support for watsonx, and it has not been mentioned in the PR description or tested. Please confirm this is intentional and separate it into its own PR if so.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for flagging — verified this is a false positive. The watsonx audio_transcriptions: true value was already present in the base branch (unchanged by this PR). The diff shows a positional change only because the providers list was alphabetically re-sorted. I confirmed programmatically that no existing provider values were changed — only ordering.

Comment on lines 1003 to 1021
@@ -990,9 +1021,9 @@
"interactions": true

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 a2a: true for new gateway provider needs verification

FuturMix is described in the PR as a unified AI gateway forwarding to Claude, GPT, and Gemini over an OpenAI-compatible API. Setting a2a: true (Agent-to-Agent) implies it exposes an A2A-protocol endpoint, which is a distinct capability beyond OpenAI-compatible chat completions. If FuturMix does not actually implement the A2A protocol, this will surface false capabilities to users. Please verify and set to false if unsupported.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good catch — fixed in 93c8462. FuturMix is an OpenAI-compatible gateway and does not implement the A2A protocol. Set a2a: false.

@Gzhao-redpoint

Copy link
Copy Markdown
Author

recheck

Comment on lines 2339 to +2355
"interactions": true
}
},
"vllm": {
"display_name": "VLLM (`vllm`)",
"url": "https://docs.litellm.ai/docs/providers/vllm",
"vercel_ai_gateway": {
"display_name": "Vercel AI Gateway (`vercel_ai_gateway`)",
"url": "https://docs.litellm.ai/docs/providers/vercel_ai_gateway",
"endpoints": {
"chat_completions": true,
"messages": true,
"responses": true,
"embeddings": true,
"embeddings": false,
"image_generations": false,
"audio_transcriptions": false,
"audio_speech": false,
"moderations": false,
"batches": true,
"files": true,
"rerank": true,
"batches": false,
"rerank": false,

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Unintentional capability regression for vercel_ai_gateway

The reordering of provider_endpoints_support.json silently changes vercel_ai_gateway's advertised capabilities: embeddings, batches, files, and rerank all flip from true to false. None of this is mentioned in the PR description and it's unrelated to the FuturMix addition. Users querying endpoint support for vercel_ai_gateway will now receive incorrect (reduced) capability data.

Before this PR:

"embeddings": true,
"batches": true,
"files": true,
"rerank": true

After:

"embeddings": false,
"batches": false,
// "files" removed entirely
"rerank": false

Please confirm whether this is an intentional correction or an accidental regression, and if intentional, separate it into its own PR with an explanation.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

False positive — verified programmatically. I compared every provider's endpoint values between main and this PR branch:

# Result: 146 providers in main, 147 in PR (only "futurmix" added)
# Zero value changes to any existing provider including vercel_ai_gateway

The diff only shows key reordering (alphabetical sort within each provider's endpoints object), not value changes. JSON key order has no semantic meaning.

vercel_ai_gateway values in both main and PR branch:

  • embeddings: false, batches: false, rerank: false — unchanged
  • chat_completions: true, messages: true, responses: true — unchanged

The Greptile bot misread the alphabetical reorder as a value change.

@Gzhao-redpoint

Copy link
Copy Markdown
Author

Friendly ping — this PR is ready for review. All CI checks pass, CLA is signed, and I've addressed the three Greptile review comments (two were false positives from JSON key reordering, one a2a flag fix was pushed in 93c8462).

The change is minimal: adds FuturMix as a new provider entry in provider_endpoints_support.json with no modifications to existing providers.

@Gzhao-redpoint
Gzhao-redpoint force-pushed the feat/add-futurmix-provider branch from 93c8462 to 6d67213 Compare April 28, 2026 04:32
@Gzhao-redpoint

Copy link
Copy Markdown
Author

recheck

@FuturMix

Copy link
Copy Markdown

All CI checks are passing and the Greptile review found it safe to merge. Would a maintainer be able to review this when convenient? Happy to address any feedback. Thanks!

@FuturMix

Copy link
Copy Markdown

Closing this PR and re-submitting from a rebased branch to resolve merge conflicts with litellm_internal_staging. The new PR will include the same changes plus the provider_endpoints_support.json update.

@Gzhao-redpoint
Gzhao-redpoint deleted the feat/add-futurmix-provider branch April 29, 2026 10:40
@Gzhao-redpoint

Copy link
Copy Markdown
Author

This PR has been superseded by #26769, which is rebased on the latest litellm_internal_staging to resolve merge conflicts. Please review the new PR instead.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants