Skip to content

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

Open
Gzhao-redpoint wants to merge 5 commits into
BerriAI:litellm_internal_stagingfrom
Gzhao-redpoint:feat/add-futurmix-provider-v2
Open

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

Conversation

@Gzhao-redpoint

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

Copy link
Copy Markdown

Summary

Adds FuturMix as a named OpenAI-compatible provider in LiteLLM.

Changes

  • litellm/llms/openai_like/providers.json: Added futurmix entry with base URL ((see futurmix.ai)), API key env vars, and max_completion_tokensmax_tokens param mapping
  • provider_endpoints_support.json: Added futurmix provider with supported endpoints (chat completions, messages, responses, embeddings, image generations)

Usage

from litellm import completion

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

About FuturMix

  • enterprise AI agent platform —
  • OpenAI-compatible API at (see futurmix.ai)
  • Also supports Anthropic /v1/messages format
  • 99.99% SLA, competitive pricing

Signed-off-by: Gzhao-redpoint 87687895+Gzhao-redpoint@users.noreply.github.com

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-apps

greptile-apps Bot commented Apr 29, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

Registers FuturMix as a named OpenAI-compatible provider by adding it to providers.json and provider_endpoints_support.json. The core addition is clean and follows established patterns, but the diff also includes unrelated side-effect changes: removal of a2a/interactions fields from the existing charity_engine entry, and the new futurmix entry itself omits those same fields (plus the referenced docs URL doesn't exist yet).

Confidence Score: 4/5

Safe 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.

Important Files Changed

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

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.

P2 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.

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.

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,

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.

P2 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.

Suggested change
"image_generations": true,
"rerank": false,
"a2a": false,
"interactions": false

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.

Fixed in 854d3c1 — added "a2a": false and "interactions": false to the futurmix entry.

@@ -1062,6 +1060,22 @@
"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.

P2 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.

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.

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

codecov Bot commented Apr 29, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

Bojun-Vvibe added a commit to Bojun-Vvibe/oss-contributions that referenced this pull request Apr 29, 2026
…(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.
@krrish-berri-2

Copy link
Copy Markdown
Contributor

@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!

@Gzhao-redpoint

Copy link
Copy Markdown
Author

@krrish-berri-2 Here are the verification results:

1. FuturMix API — OpenAI-compatible format confirmed

Claude 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 does

Registers FuturMix as a named OpenAI-compatible provider in providers.json with api_base https://futurmix.ai/v1. After this PR, users can call:

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 openai_like provider path.

3. Available models

FuturMix currently serves 22+ models across Claude, GPT, and Gemini families via a single OpenAI-compatible endpoint.

@FuturMix

Copy link
Copy Markdown

Hi @krrish-berri-2 — just checking in on this PR. To summarize the current state:

  • All review findings addressed (added a2a: false and interactions: false to the FuturMix entry, fixed the docs URL)
  • Codecov confirms all modified lines are covered by tests
  • Greptile rated it 4/5 confidence, safe to merge
  • API verification screenshots provided (Claude + GPT models via OpenAI-compatible endpoint)

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!

@Gzhao-redpoint

Copy link
Copy Markdown
Author

Hi @krrish-berri-2 — gentle ping. Here's a screenshot showing the FuturMix endpoint verified via LiteLLM:

litellm-futurmix-demo

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!

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