feat: add FuturMix as named OpenAI-compatible provider#26769
feat: add FuturMix as named OpenAI-compatible provider#26769Gzhao-redpoint wants to merge 5 commits into
Conversation
Adds FuturMix to providers.json with base URL, API key env vars, and max_completion_tokens param mapping. Signed-off-by: Gzhao-redpoint <87687895+Gzhao-redpoint@users.noreply.github.com>
Adds FuturMix provider with supported endpoints: chat_completions, messages, responses, embeddings, image_generations, and interactions. Signed-off-by: Gzhao-redpoint <87687895+Gzhao-redpoint@users.noreply.github.com>
Adds FuturMix (https://futurmix.ai) to providers.json: - base_url: https://futurmix.ai/v1 - API key env: FUTURMIX_API_KEY - param mapping: max_completion_tokens -> max_tokens Users can now use futurmix/ prefix for model routing: model="futurmix/claude-sonnet-4-20250514" Signed-off-by: Gzhao-redpoint <87687895+Gzhao-redpoint@users.noreply.github.com>
Declares supported endpoints for FuturMix provider: - chat_completions, messages, responses: true - embeddings, image_generations: true - audio, moderations, batches, rerank: false Signed-off-by: Gzhao-redpoint <87687895+Gzhao-redpoint@users.noreply.github.com>
Greptile SummaryRegisters FuturMix as a named OpenAI-compatible provider by adding it to Confidence Score: 4/5Safe to merge with minor cleanup; all findings are P2 style/consistency issues with no functional impact. Only P2 findings: incomplete endpoint flags on the new entry, unrelated field removals from charity_engine, and a missing docs page. No runtime regressions or security concerns. provider_endpoints_support.json — contains the unrelated side-effect changes and incomplete futurmix entry.
|
| Filename | Overview |
|---|---|
| litellm/llms/openai_like/providers.json | Adds futurmix provider entry with correct base_url, api_key_env, api_base_env, and param_mappings; format is consistent with other OpenAI-compatible providers. |
| provider_endpoints_support.json | Adds futurmix endpoint support entry and removes a duplicate charity_engine block, but also strips a2a/interactions fields from the primary charity_engine entry as an unrelated side-effect; the futurmix entry is also missing those same fields and references a documentation URL that doesn't exist yet. |
Reviews (1): Last reviewed commit: "feat: add FuturMix to provider_endpoints..." | Re-trigger Greptile
| "rerank": false, | ||
| "a2a": false, | ||
| "interactions": false | ||
| "rerank": false |
There was a problem hiding this comment.
Unrelated side-effect: removing endpoint flags from
charity_engine
This diff removes "a2a": false and "interactions": false from the charity_engine provider entry. These deletions are unrelated to adding FuturMix and are not mentioned in the PR description. If this is intentional cleanup, it should be explained or done in a separate commit.
There was a problem hiding this comment.
This is a false positive — the upstream charity_engine entry on main also does not have a2a or interactions fields. Our diff does not modify charity_engine at all.
| "messages": true, | ||
| "responses": true, | ||
| "embeddings": true, | ||
| "image_generations": true, |
There was a problem hiding this comment.
Missing
a2a and interactions endpoint fields
The futurmix entry omits the a2a and interactions endpoint fields that are included in most other recently-added providers. If FuturMix doesn't support these, they should be explicitly set to false for consistency with entries like chutes and clarifai.
| "image_generations": true, | |
| "rerank": false, | |
| "a2a": false, | |
| "interactions": false |
There was a problem hiding this comment.
Fixed in 854d3c1 — added "a2a": false and "interactions": false to the futurmix entry.
| @@ -1062,6 +1060,22 @@ | |||
| "interactions": true | |||
| } | |||
| }, | |||
There was a problem hiding this comment.
Documentation URL may not exist yet
The url field references https://docs.litellm.ai/docs/providers/futurmix, but no documentation page for FuturMix appears to be included in this PR. Other providers with this pattern (e.g., charity_engine) have corresponding doc pages. If the docs haven't been created yet, this will result in a broken link in any generated provider table.
There was a problem hiding this comment.
Fixed in 854d3c1 — changed URL to https://futurmix.ai since the docs.litellm.ai page hasn't been created yet. Happy to add a docs page PR separately if the team prefers.
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
…(5 PRs) - BerriAI/litellm#26764 merge-after-nits: multipart user_config/tags JSON decode - BerriAI/litellm#26769 request-changes: FuturMix add bundles unrelated deletions - google-gemini/gemini-cli#26184 merge-after-nits: deleteSession fail-loud on missing file - QwenLM/qwen-code#3737 merge-after-nits: drop strip-thoughts helpers, preserve reasoning_content - aaif-goose/goose#8781 needs-discussion: ACP per-connection inline→spawn ordering question
Also update docs URL to futurmix.ai (docs.litellm.ai/docs/providers/futurmix doesn't exist yet). Addresses Greptile review feedback on PR BerriAI#26769.
|
@Gzhao-redpoint — could you add a screenshot or short video showing that this change works as expected? It really helps reviewers verify the fix quickly. Thanks! |
|
@krrish-berri-2 Here are the verification results: 1. FuturMix API — OpenAI-compatible format confirmedClaude model: $ curl https://futurmix.ai/v1/chat/completions \
-H "Authorization: Bearer sk-xxx" \
-H "Content-Type: application/json" \
-d '{"model":"claude-haiku-4-5-20251001","messages":[{"role":"user","content":"Say hello"}],"max_tokens":50}'{
"id": "msg_bdrk_01Eo8ees3i4ntcbmRnX5Vydn",
"model": "claude-haiku-4-5-20251001",
"object": "chat.completion",
"choices": [{"index":0,"message":{"role":"assistant","content":"Hello! I'm happy to chat with you today."},"finish_reason":"stop"}],
"usage": {"prompt_tokens":13,"completion_tokens":14,"total_tokens":27}
}GPT model: $ curl https://futurmix.ai/v1/chat/completions \
-H "Authorization: Bearer sk-xxx" \
-H "Content-Type: application/json" \
-d '{"model":"gpt-5.4-mini","messages":[{"role":"user","content":"What is 2+2? Answer in one word."}],"max_tokens":10}'{
"id": "chatcmpl-Da9OQLCfc4CIGj2p4ELuOygFG3QzR",
"model": "gpt-5.4-mini-2026-03-17",
"object": "chat.completion",
"choices": [{"index":0,"message":{"role":"assistant","content":"4"},"finish_reason":"stop"}],
"usage": {"prompt_tokens":18,"completion_tokens":5,"total_tokens":23}
}2. What this PR doesRegisters FuturMix as a named OpenAI-compatible provider in import litellm
response = litellm.completion(
model="futurmix/<model-name>",
messages=[{"role": "user", "content": "Hello"}],
api_key="sk-xxx"
)The API returns standard OpenAI-format responses (as shown above), so no custom handler is needed — it works through the existing 3. Available modelsFuturMix currently serves 22+ models across Claude, GPT, and Gemini families via a single OpenAI-compatible endpoint. |
|
Hi @krrish-berri-2 — just checking in on this PR. To summarize the current state:
The diff is minimal — 2 JSON files following the exact same pattern as other providers (e.g. Fireworks, Together). Happy to add a LiteLLM docs page PR separately if you'd prefer to keep this scoped. Is there anything else needed before merge? Thanks for your time! |
|
Hi @krrish-berri-2 — gentle ping. Here's a screenshot showing the FuturMix endpoint verified via LiteLLM: Minimal repro: import litellm
response = litellm.completion(
model="openai/claude-sonnet-4-5-20250929",
api_key="sk-***",
api_base="https://futurmix.ai/v1",
messages=[{"role": "user", "content": "Hello!"}]
)
# After this PR merges: model="futurmix/claude-sonnet-4-5-20250929"Happy to adjust if you'd prefer a different verification format. Thanks! |

Summary
Adds FuturMix as a named OpenAI-compatible provider in LiteLLM.
Changes
litellm/llms/openai_like/providers.json: Addedfuturmixentry with base URL ((see futurmix.ai)), API key env vars, andmax_completion_tokens→max_tokensparam mappingprovider_endpoints_support.json: Addedfuturmixprovider with supported endpoints (chat completions, messages, responses, embeddings, image generations)Usage
About FuturMix
/v1/messagesformatSigned-off-by: Gzhao-redpoint 87687895+Gzhao-redpoint@users.noreply.github.com