diff --git a/.flake8 b/.flake8 index c923419b923..87a59981f49 100644 --- a/.flake8 +++ b/.flake8 @@ -1,3 +1,4 @@ [flake8] ignore = E203,W503 max-line-length = 120 +exclude = *.md,*.markdown diff --git a/cecli/coders/agent_coder.py b/cecli/coders/agent_coder.py index a3cf00ccb1d..4384283dea3 100644 --- a/cecli/coders/agent_coder.py +++ b/cecli/coders/agent_coder.py @@ -463,7 +463,6 @@ def _calculate_context_block_tokens(self, force=False): "skills", "servers", "sub_agents", - "loaded_skills", "orchestration", ] for block_type in block_types: @@ -499,8 +498,6 @@ def _generate_context_block(self, block_name): content = self.get_skills_context() elif block_name == "servers": content = self.get_servers_context() - elif block_name == "loaded_skills": - content = self.get_skills_content() elif block_name == "orchestration": content = self.get_orchestration_context() elif block_name == "sub_agents" and ( @@ -643,6 +640,10 @@ def format_chat_chunks(self): # Add pre-message context blocks (priority 125 - between REPO and READONLY_FILES) ConversationService.get_chunks(self).add_pre_message_context_blocks() + ConversationService.get_chunks(self).add_active_skills_messages( + getattr(self, "skills_manager", None) + ) + ConversationService.get_chunks(self).add_readonly_files_messages() ConversationService.get_chunks(self).add_chat_files_messages() diff --git a/cecli/coders/base_coder.py b/cecli/coders/base_coder.py index 173e6dd1875..bf52fff2d51 100755 --- a/cecli/coders/base_coder.py +++ b/cecli/coders/base_coder.py @@ -2919,6 +2919,17 @@ async def format_in_executor(): edited = await self.apply_updates() + # Run tests before committing so failing tests abort the commit and + # reflect the errors back for the model to fix first. + if edited and self.auto_test and self.test_cmd: + test_errors = await self.commands.execute("test", self.test_cmd) + self.test_outcome = not test_errors + if test_errors: + ok = await self.io.confirm_ask("Attempt to fix test errors?") + if ok: + self.reflected_message = test_errors + return + if edited: self.coder_edited_files.update(edited) saved_message = await self.auto_commit(edited) @@ -2991,15 +3002,6 @@ async def format_in_executor(): mark_for_demotion=1, ) - if edited and self.auto_test and self.test_cmd: - test_errors = await self.commands.execute("test", self.test_cmd) - self.test_outcome = not test_errors - if test_errors: - ok = await self.io.confirm_ask("Attempt to fix test errors?") - if ok: - self.reflected_message = test_errors - return - # Turn complete: drop the per-turn LLM stream buffers. They are reset at # the start of the next send(), so holding on to them while idle only # wastes memory (chunks can be large for long streaming responses). diff --git a/cecli/commands/__init__.py b/cecli/commands/__init__.py index 9f240a549ba..0905610dc01 100644 --- a/cecli/commands/__init__.py +++ b/cecli/commands/__init__.py @@ -55,7 +55,6 @@ from .model import ModelCommand from .models import ModelsCommand from .multiline_mode import MultilineModeCommand -from .open import OpenCommand from .paste import PasteCommand from .queue import QueueCommand from .quit import QuitCommand @@ -152,7 +151,6 @@ CommandRegistry.register(ModelCommand) CommandRegistry.register(ModelsCommand) CommandRegistry.register(MultilineModeCommand) -CommandRegistry.register(OpenCommand) CommandRegistry.register(PasteCommand) CommandRegistry.register(QueueCommand) CommandRegistry.register(QuitCommand) @@ -242,7 +240,6 @@ "ModelCommand", "ModelsCommand", "MultilineModeCommand", - "OpenCommand", "parse_quoted_filenames", "PasteCommand", "quote_filename", diff --git a/cecli/commands/load_mcp.py b/cecli/commands/load_mcp.py index 55e244fa8ef..686682d5ae6 100644 --- a/cecli/commands/load_mcp.py +++ b/cecli/commands/load_mcp.py @@ -119,6 +119,7 @@ def get_completions(cls, io, coder, args) -> List[str]: server.name for server in coder.mcp_manager if server not in coder.mcp_manager.connected_servers + and server.name != "unnamed-server" ] return server_names except Exception: diff --git a/cecli/commands/open.py b/cecli/commands/open.py deleted file mode 100644 index ee0db6c2523..00000000000 --- a/cecli/commands/open.py +++ /dev/null @@ -1,76 +0,0 @@ -"""Open command - register and open a workspace sub-agent rooted at a path.""" - -from pathlib import Path - -from cecli.helpers.agents.service import AgentService -from cecli.helpers.workspaces.subagents import register_workspace_subagents - -from .utils.base_command import BaseCommand - - -class OpenCommand(BaseCommand): - NORM_NAME = "open" - DESCRIPTION = "Open a workspace sub-agent rooted at a given path" - - @classmethod - async def execute(cls, io, coder, args, **kwargs): - """Open a workspace sub-agent rooted at the given path. - - Syntax: - /open — register and open a ``ws:{name}`` sub-agent rooted at ```` - """ - parts = args.strip().split(maxsplit=1) - if len(parts) < 2: - io.tool_error("Usage: /open ") - return - - name = parts[0] - path_arg = parts[1].strip() - - project_name = name[3:] if name.startswith("ws:") else name - agent_name = f"ws:{project_name}" - path = Path(path_arg).expanduser() - - config = { - "name": project_name, - "projects": [{"name": project_name, "path": str(path)}], - } - registered = register_workspace_subagents(config) - if agent_name not in registered: - io.tool_error(f"Error: '{path}' is not a valid git repository or does not exist.") - return - - root = AgentService.get_registry()[agent_name].metadata.get("root") - - try: - agent_service = AgentService.get_instance(coder) - new_coder, info = await agent_service.spawn( - agent_name, prompt=None, parent=coder, auto_reap=False, independent=True - ) - - agent_service.foreground_uuid = info.coder.uuid - - if coder.tui and coder.tui(): - tui = coder.tui() - switch_key = tui.get_keys_for("next_agent") - io.tool_output( - f"Opened workspace sub-agent '{agent_name}' rooted at {root}. Switch with {switch_key}" - ) - - try: - tui.call_from_thread(tui._switch_to_container, info.coder.uuid) - except Exception: - pass - else: - io.tool_output(f"Opened workspace sub-agent '{agent_name}' rooted at {root}.") - except Exception as e: - io.tool_error(f"Error opening workspace sub-agent '{agent_name}': {e}") - - @classmethod - def get_help(cls) -> str: - return "Open a workspace sub-agent rooted at a path (/open )" - - @classmethod - def get_completions(cls, io, coder, args) -> list[str]: - """Return registered workspace sub-agent names for tab-completion.""" - return [name for name in AgentService.get_registry().keys() if name.startswith("ws:")] diff --git a/cecli/commands/run.py b/cecli/commands/run.py index d5568f9e9d2..1b7b52f98b7 100644 --- a/cecli/commands/run.py +++ b/cecli/commands/run.py @@ -85,7 +85,7 @@ async def execute(cls, io, coder, args, **kwargs): io.placeholder = "What's wrong? Fix" if add_on_nonzero_exit and not exit_status: - return "" # No test failures + return "Test command ran by user. All tests passed." # No test failures # Return None if output wasn't added or command succeeded return format_command_result(io, "run", "Command executed successfully") diff --git a/cecli/commands/workspace.py b/cecli/commands/workspace.py index 4fe1aa4fb22..0f85c6c8049 100644 --- a/cecli/commands/workspace.py +++ b/cecli/commands/workspace.py @@ -3,12 +3,66 @@ class WorkspaceCommand(BaseCommand): NORM_NAME = "workspace" - DESCRIPTION = "Print information about the active workspace sub-agents" + DESCRIPTION = "List, open or register workspace sub-agents" show_completion_notification = True @classmethod async def execute(cls, io, coder, args, **kwargs): - """Show the registered ws:{name} workspace sub-agents and their roots.""" + """List active workspace sub-agents, or open / register one. + + Syntax: + /workspace — List active workspace sub-agents + /workspace — Open an already-registered ``ws:name`` sub-agent (like /spawn-agent) + /workspace — Register and open a ``ws:{name}`` sub-agent rooted at ```` + """ + parts = args.strip().split(maxsplit=1) + + if not parts: + cls._list_workspace_subagents(io) + return + + name = parts[0] + path_arg = parts[1].strip() if len(parts) > 1 else None + + if path_arg is None: + await cls._open_existing(io, coder, name) + return + + await cls._register_and_open(io, coder, name, path_arg) + + @classmethod + def get_help(cls) -> str: + """Get help text for the workspace command.""" + help_text = super().get_help() + help_text += "\nUsage:\n" + help_text += " /workspace # List active workspace sub-agents\n" + help_text += " /workspace # Open an already-registered ws: sub-agent (like /spawn-agent)\n" + help_text += " /workspace # Register and open a ws:{name} sub-agent rooted at \n" + return help_text + + @classmethod + def get_completions(cls, io, coder, args) -> list[str]: + """Return tab-completions for the workspace command. + + - The first argument (the ``ws:{name}`` sub-agent name) is completed from + the active workspace sub-agent names, including the ``ws:`` prefix. + - The second argument (the project path) is completed by browsing the + folders at the typed path, independent of the coder's file completion + index. The folder list is ranked with rapidfuzz + ngram so prefix + matches surface first. + """ + from cecli.helpers.agents.service import AgentService + + partial = (args or "").strip() + + if not partial or partial.startswith("ws:"): + return [name for name in AgentService.get_registry() if name.startswith("ws:")] + + return cls._get_path_completions(partial) + + @classmethod + def _list_workspace_subagents(cls, io) -> None: + """Print the registered ``ws:{name}`` workspace sub-agents and their roots.""" from cecli.helpers.agents.service import AgentService registry = AgentService.get_registry() @@ -27,9 +81,158 @@ async def execute(cls, io, coder, args, **kwargs): io.print("") @classmethod - def get_help(cls) -> str: - """Get help text for the workspace command.""" - help_text = super().get_help() - help_text += "\nUsage:\n" - help_text += " /workspace # List active workspace sub-agents\n" - return help_text + async def _open_existing(cls, io, coder, name) -> None: + """Open an already-registered workspace sub-agent, mirroring /spawn-agent.""" + from cecli.helpers.agents.service import AgentService + + if not name.startswith("ws:"): + io.tool_error(f"Error: '{name}' is not a registered workspace sub-agent.") + return + + if name not in AgentService.get_registry(): + io.tool_error(f"Error: workspace sub-agent '{name}' is not registered.") + return + + try: + agent_service = AgentService.get_instance(coder) + new_coder, info = await agent_service.spawn( + name, prompt=None, parent=coder, auto_reap=False, independent=True + ) + + agent_service.foreground_uuid = info.coder.uuid + + if coder.tui and coder.tui(): + tui = coder.tui() + switch_key = tui.get_keys_for("next_agent") + io.tool_output(f"Sub-agent '{name}' spawned and active. Switch with {switch_key}") + + try: + tui.call_from_thread(tui._switch_to_container, info.coder.uuid) + except Exception: + pass + else: + io.tool_output(f"Opened workspace sub-agent '{name}'.") + except ValueError as e: + io.tool_error(f"Error: {e}") + except RuntimeError as e: + io.tool_error(f"Error: {e}") + except Exception as e: + io.tool_error(f"Error spawning sub-agent '{name}': {e}") + + @classmethod + async def _register_and_open(cls, io, coder, name, path_arg) -> None: + """Register a ``ws:{name}`` sub-agent rooted at ```` and open it.""" + from pathlib import Path + + from cecli.helpers.agents.service import AgentService + from cecli.helpers.workspaces.subagents import register_workspace_subagents + + project_name = name[3:] if name.startswith("ws:") else name + agent_name = f"ws:{project_name}" + path = Path(path_arg).expanduser() + + config = { + "name": project_name, + "projects": [{"name": project_name, "path": str(path)}], + } + registered = register_workspace_subagents(config) + if agent_name not in registered: + io.tool_error(f"Error: '{path}' is not a valid git repository or does not exist.") + return + + root = AgentService.get_registry()[agent_name].metadata.get("root") + + try: + agent_service = AgentService.get_instance(coder) + new_coder, info = await agent_service.spawn( + agent_name, prompt=None, parent=coder, auto_reap=False, independent=True + ) + + agent_service.foreground_uuid = info.coder.uuid + + if coder.tui and coder.tui(): + tui = coder.tui() + switch_key = tui.get_keys_for("next_agent") + io.tool_output( + f"Opened workspace sub-agent '{agent_name}' rooted at {root}. Switch with {switch_key}" + ) + + try: + tui.call_from_thread(tui._switch_to_container, info.coder.uuid) + except Exception: + pass + else: + io.tool_output(f"Opened workspace sub-agent '{agent_name}' rooted at {root}.") + except Exception as e: + io.tool_error(f"Error opening workspace sub-agent '{agent_name}': {e}") + + @classmethod + def _get_path_completions(cls, partial: str) -> list[str]: + """Browse the filesystem for folders matching the typed path prefix.""" + from pathlib import Path + + path = Path(partial) + if partial.endswith("/"): + search_dir = path + name_prefix = "" + else: + search_dir = path.parent + name_prefix = path.name + + if not search_dir.is_dir(): + return [] + + if search_dir == Path("."): + path_prefix = "" + else: + path_prefix = str(search_dir).rstrip("/") + "/" + + folders: list[str] = [] + try: + for entry in search_dir.iterdir(): + if entry.is_dir(): + folders.append(path_prefix + entry.name + "/") + except (PermissionError, OSError): + return [] + + if name_prefix: + prefix_lower = name_prefix.lower() + folders = [f for f in folders if Path(f).name.lower().startswith(prefix_lower)] + + return cls._rank_paths(partial, folders) + + @staticmethod + def _rank_paths(query: str, candidates: list[str]) -> list[str]: + """Order path candidates with rapidfuzz + ngram so prefix matches surface first.""" + if not candidates: + return [] + + query_lower = query.lower() + + try: + from ngram import NGram + from rapidfuzz import fuzz, process + except ImportError: + return sorted( + candidates, + key=lambda c: (not c.lower().startswith(query_lower), c.lower()), + ) + + lower_candidates = [c.lower() for c in candidates] + results = process.extract( + query_lower, + lower_candidates, + scorer=fuzz.partial_ratio, + limit=min(len(candidates), 20), + score_cutoff=0, + ) + + matched = [candidates[idx] for _, _, idx in results] + + if len(matched) < 100: + ng = NGram([c.lower() for c in matched], N=3) + reranked = ng.search(query_lower, threshold=0.0) + original_by_lower = {c.lower(): c for c in matched} + matched = [original_by_lower.get(item.lower(), item) for item, _ in reranked] + + return matched diff --git a/cecli/helpers/conversation/files.py b/cecli/helpers/conversation/files.py index ae5721b96e6..cd14a60825e 100644 --- a/cecli/helpers/conversation/files.py +++ b/cecli/helpers/conversation/files.py @@ -39,6 +39,9 @@ def __init__(self, coder): self._image_files: Dict[str, bool] = {} self._numbered_contexts: Dict[str, List[Tuple[int, int]]] = {} self._last_merged_ranges: Dict[str, List[Tuple[int, int]]] = {} + self._emitted_contexts: Dict[str, List[Tuple[int, int]]] = ( + {} + ) # intervals already delivered as FILE_CONTEXTS self._initialized = True @classmethod @@ -388,6 +391,7 @@ def clear_file_cache(self, fname: Optional[str] = None, clear_contexts=True) -> self._file_stub_contents.clear() self._file_json_contents.clear() self._file_to_message_id.clear() + self._emitted_contexts.clear() if clear_contexts: self._numbered_contexts.clear() else: @@ -402,6 +406,7 @@ def clear_file_cache(self, fname: Optional[str] = None, clear_contexts=True) -> self._file_json_contents.pop(abs_fname, None) self._file_to_message_id.pop(abs_fname, None) self._image_files.pop(abs_fname, None) + self._emitted_contexts.pop(abs_fname, None) if clear_contexts: self._numbered_contexts.pop(abs_fname, None) @@ -463,7 +468,9 @@ def update_file_context( if diff_version != context_version: self._file_context_versions[abs_fname] = diff_version - # auto clear on edit + # Content changed: force re-emission of context (stale blocks won't + # refresh otherwise). + self._emitted_contexts.pop(abs_fname, None) # existing_ranges = [] # Add new range @@ -642,6 +649,73 @@ def get_file_context(self, file_path: str, all_ranges=False, check_versions=True return None + def get_new_file_context(self, file_path: str) -> str: + """Return hashline content for ranges NOT yet emitted as FILE_CONTEXTS. + + Append-only delta: only genuinely-new line ranges are emitted against + the previously-emitted intervals, so overlapping reads don't re-send + content already in the conversation. Nothing is removed, so the + conversation stays an append-only log. + """ + abs_fname = os.path.abspath(file_path) + current = sorted(self._numbered_contexts.get(abs_fname, [])) + if not current: + return "" + emitted = sorted(self._emitted_contexts.get(abs_fname, [])) + delta = _subtract_intervals(current, emitted) + if not delta: + return "" + rendered = self._render_context_ranges(abs_fname, delta) + if not rendered: + return "" + # Mark everything currently requested as emitted so future reads only + # emit the overlap-free remainder. + self._emitted_contexts[abs_fname] = current + return rendered + + def _render_context_ranges(self, abs_fname: str, ranges: List[Tuple[int, int]]) -> str: + """Render hashline content for the given 1-based line ranges. Returns JSON or ''.""" + coder = self.get_coder() + if not coder: + return "" + try: + content = coder.io.read_text(abs_fname, silent=True) + if not content: + return "" + except Exception: + return "" + content_lines = content.splitlines() + results = [] + for start_line, end_line in ranges: + start_line_adj = max(1, start_line) + end_line_adj = min(len(content_lines), end_line) + if start_line_adj > end_line_adj: + continue + # Hash the full file so adjacent-line hashes are consistent with ReadFile. + full_prefixed, _ = hashline_formatted( + content, + file_name=abs_fname, + total_lines=len(content_lines), + start_line=1, + ) + prefixed_lines = full_prefixed.splitlines() + range_prefixed_lines = prefixed_lines[start_line_adj - 1 : end_line_adj] + range_prefixed_content = "\n".join(range_prefixed_lines) + json_str = json.dumps( + { + "file_name": abs_fname, + "start_line": start_line_adj, + "end_line": end_line_adj, + "total_lines": len(content_lines), + "prefixed_contents": range_prefixed_content, + }, + ensure_ascii=False, + ) + results.append(json.loads(json_str)) + if results: + return json.dumps({"file_path": abs_fname, "results": results}, ensure_ascii=False) + return "" + def remove_file_context(self, file_path: str) -> None: """ Remove all cached context for a file. @@ -738,3 +812,30 @@ def debug_get_cache_info(self) -> Dict[str, Any]: "diff_count": len(self._file_diffs), "message_mappings": len(self._file_to_message_id), } + + +def _subtract_intervals( + base: List[Tuple[int, int]], remove: List[Tuple[int, int]] +) -> List[Tuple[int, int]]: + """Return the portions of ``base`` not covered by ``remove``. + + Both inputs are lists of inclusive, disjoint, 1-based ``(start, end)`` + intervals already sorted by start line. Used to compute the append-only + FILE_CONTEXTS delta (only genuinely-new ranges are emitted). + """ + remaining = [] + for a, b in base: + parts = [(a, b)] + for r0, r1 in remove: + new_parts = [] + for s, e in parts: + if e < r0 or s > r1: + new_parts.append((s, e)) + else: + if s < r0: + new_parts.append((s, r0 - 1)) + if e > r1: + new_parts.append((r1 + 1, e)) + parts = new_parts + remaining.extend(parts) + return remaining diff --git a/cecli/helpers/conversation/integration.py b/cecli/helpers/conversation/integration.py index 6bb59fa5261..ae99c2b1019 100644 --- a/cecli/helpers/conversation/integration.py +++ b/cecli/helpers/conversation/integration.py @@ -762,8 +762,8 @@ def add_file_context_messages(self, promote_messages=True) -> None: if not ranges: continue - # Generate context content - context_content = ConversationService.get_files(coder).get_file_context(file_path) + # Generate context content (append-only delta: only new ranges are emitted) + context_content = ConversationService.get_files(coder).get_new_file_context(file_path) if not context_content: continue @@ -775,6 +775,9 @@ def add_file_context_messages(self, promote_messages=True) -> None: "content": f"ID-Prefixed Context For:\n{rel_fname}\n\n{context_content}", } + # Append-only: new FILE_CONTEXTS blocks are added, never removed, so + # the conversation message stream stays a log (no prefix rewrite). + # Add to conversation manager content_hash = xxhash.xxh3_128_hexdigest(context_content.encode("utf-8")) ConversationService.get_manager(coder).queue_message( @@ -850,8 +853,7 @@ def add_pre_message_context_blocks(self) -> None: """ Add pre-message context blocks to conversation (priority 125). - Pre-message blocks include: symbol_outline, git_status, todo_list, - loaded_skills, context_summary + Pre-message blocks include: symbol_outline, git_status, todo_list, context_summary """ coder = self.get_coder() if not coder: @@ -875,10 +877,6 @@ def add_pre_message_context_blocks(self) -> None: block = coder.get_cached_context_block("git_status") if block: message_blocks["git_status"] = block - if "skills" in coder.allowed_context_blocks: - block = coder._generate_context_block("loaded_skills") - if block: - message_blocks["loaded_skills"] = block # Process other blocks for block_type, block_content in message_blocks.items(): @@ -890,6 +888,58 @@ def add_pre_message_context_blocks(self) -> None: force=True, ) + def add_active_skills_messages(self, skills_manager) -> None: + """Add a distinct message per active (loaded) skill. + + Unlike the prior single ``loaded_skills`` context block, this emits one + message per loaded skill so the model can see each skill's content in + isolation. Replacement is driven by a stable per-skill hash key, and any + message for a skill that is no longer loaded is pruned. + + Args: + skills_manager: The SkillsManager instance from which to source + active skills. + """ + coder = self.get_coder() + if not coder: + return + + if not skills_manager: + return + + if not hasattr(coder, "use_enhanced_context") or not coder.use_enhanced_context: + return + + loaded_skills = getattr(skills_manager, "_loaded_skills", set()) + + # Prune messages for skills that are no longer loaded. + def is_stale_skill(hash_key) -> bool: + if not hash_key or hash_key[0] != "active_skill": + return False + return hash_key[1] not in loaded_skills + + ConversationService.get_manager(coder).remove_messages_by_hash_key_pattern(is_stale_skill) + + if not loaded_skills: + return + + for skill_name in sorted(loaded_skills): + skill_content = skills_manager.get_skill_content(skill_name) + if not skill_content: + continue + + block = skills_manager.format_active_skill_message(skill_content) + if not block: + continue + + ConversationService.get_manager(coder).add_message( + message_dict={"role": "user", "content": block}, + tag=MessageTag.ACTIVE_SKILLS, + hash_key=("active_skill", skill_name), + force=True, + update_timestamp=False, + ) + def add_post_message_context_blocks(self) -> None: """ Add post-message context blocks to conversation (priority 250). diff --git a/cecli/helpers/conversation/tags.py b/cecli/helpers/conversation/tags.py index 58ccbf86e25..20626e7cbb8 100644 --- a/cecli/helpers/conversation/tags.py +++ b/cecli/helpers/conversation/tags.py @@ -21,6 +21,7 @@ class MessageTag(str, Enum): DIFFS = "diffs" LINT = "lint" FILE_CONTEXTS = "file_contexts" + ACTIVE_SKILLS = "active_skills" CUR = "cur" DONE = "done" REMINDER = "reminder" @@ -42,6 +43,7 @@ class MessageTag(str, Enum): MessageTag.FILE_CONTEXTS: 200, MessageTag.DONE: 200, MessageTag.CUR: 200, + MessageTag.ACTIVE_SKILLS: 200, MessageTag.REMINDER: 300, } @@ -62,6 +64,7 @@ class MessageTag(str, Enum): MessageTag.FILE_CONTEXTS: 0, MessageTag.DONE: 0, MessageTag.CUR: 0, + MessageTag.ACTIVE_SKILLS: 0, MessageTag.REMINDER: 0, } diff --git a/cecli/helpers/llms/config.py b/cecli/helpers/llms/config.py index eafe632ca7f..27060b07fbd 100644 --- a/cecli/helpers/llms/config.py +++ b/cecli/helpers/llms/config.py @@ -159,6 +159,7 @@ def resolve_model_config(model: str) -> Dict[str, Any]: "extra_headers": extra_headers, "extra_body": extra_body, "extra_query": dict(pcfg.get("extra_query") or {}), + "session_header": mpm.get_provider_session_header(provider), "api_block": api_block, "llm_block": llm_block, "agent_block": agent_block, diff --git a/cecli/helpers/llms/pipeline.py b/cecli/helpers/llms/pipeline.py index 116a0a5de2b..f773a09cd73 100644 --- a/cecli/helpers/llms/pipeline.py +++ b/cecli/helpers/llms/pipeline.py @@ -58,6 +58,17 @@ async def acompletion( headers = dict(resolved.get("extra_headers") or {}) headers.update(extra_headers or {}) + + # Some providers expose a ``session_header`` that carries the per-session + # prompt cache key (unique per agent session). + session_header = resolved.get("session_header") + + if session_header: + prompt_cache_key = kwargs.get("prompt_cache_key") + + if prompt_cache_key: + headers[session_header] = prompt_cache_key + headers = provider.build_headers(resolved, key, family, headers) if stream: diff --git a/cecli/helpers/model_config/api.py b/cecli/helpers/model_config/api.py index 93327de73a2..61b0dbb8ed5 100644 --- a/cecli/helpers/model_config/api.py +++ b/cecli/helpers/model_config/api.py @@ -3,27 +3,41 @@ The api block holds request-level parameters. :mod:`cecli.models` merges each of these keys into ``extra_params`` the same way the ``api`` section of a ``model-overrides`` entry is applied. + +The default reasoning effort and thinking budget are read from the config +registry (per model) so they can be set explicitly or by the pipeline; a +missing registry value falls back to the built-in defaults. """ from __future__ import annotations from typing import Dict, Optional -from .identifiers import is_anthropic, is_claude_5_plus, is_gemini_2_5 +from .identifiers import is_anthropic, is_claude_5_plus, is_gemini_2_5, is_glm, is_kimi +from .registry import get_default from .utils import supports_reasoning _THINKING_BUDGET_TOKENS = 2048 #: Default thinking budget for Gemini 2.5 models (Gemini 2.5 Pro's default). _GEMINI_THINKING_BUDGET_TOKENS = 8192 +#: Default reasoning effort for reasoning-capable models. +_DEFAULT_REASONING_EFFORT = "medium" +#: Default reasoning effort for some newer models, which use ``low``/``high``/ +#: ``max`` levels instead of the ``low``/``medium``/``high`` ladder. +_DEFAULT_HIGH_REASONING_EFFORT = "high" -def derive_api_config(provider: Optional[str], route: str, record: Optional[Dict]) -> Dict: +def derive_api_config( + provider: Optional[str], route: str, record: Optional[Dict], model_name: Optional[str] = None +) -> Dict: """Return the ``api`` config block for a model. Args: provider: Provider portion of the model name (may be ``None``). route: Model route (name after the provider prefix). record: The matched model metadata record, or ``None`` for unknown models. + model_name: Fully qualified model name used to look up the config + registry; when ``None`` the built-in defaults are used. Returns: A dict of request-level params (reasoning format, thinking, tool calls). @@ -32,9 +46,15 @@ def derive_api_config(provider: Optional[str], route: str, record: Optional[Dict record = record or {} gemini_2_5 = is_gemini_2_5(provider, route, record) api: Dict = {} + defaults = get_default(model_name) if model_name else {} if reasoning and not gemini_2_5: - effort = _default_reasoning_effort(record) + default_effort = _DEFAULT_REASONING_EFFORT + + if is_glm(provider, route, record) or is_kimi(provider, route, record): + default_effort = _DEFAULT_HIGH_REASONING_EFFORT + + effort = _resolve_reasoning_effort(defaults.get("reasoning"), default_effort) if effort: api["reasoning_effort"] = effort @@ -42,11 +62,17 @@ def derive_api_config(provider: Optional[str], route: str, record: Optional[Dict if is_anthropic(provider, route, record) and not is_claude_5_plus(provider, route, record): # Claude 5+ uses adaptive thinking via ``reasoning_effort`` instead of # the ``thinking.type.enabled`` budget block. - api["thinking"] = {"type": "enabled", "budget_tokens": _THINKING_BUDGET_TOKENS} + budget = _resolve_thinking_budget(defaults.get("thinking"), _THINKING_BUDGET_TOKENS) + + if budget: + api["thinking"] = {"type": "enabled", "budget_tokens": budget} elif gemini_2_5: # Gemini 2.5 configures thinking via a token budget; litellm maps the # generic ``thinking`` param onto ``thinkingBudget`` + ``includeThoughts``. - api["thinking"] = {"type": "enabled", "budget_tokens": _GEMINI_THINKING_BUDGET_TOKENS} + budget = _resolve_thinking_budget(defaults.get("thinking"), _GEMINI_THINKING_BUDGET_TOKENS) + + if budget: + api["thinking"] = {"type": "enabled", "budget_tokens": budget} if record.get("supports_parallel_function_calling", True): api["parallel_tool_calls"] = True @@ -54,9 +80,31 @@ def derive_api_config(provider: Optional[str], route: str, record: Optional[Dict return api -def _default_reasoning_effort(record): - """Default reasoning effort for a reasoning-capable model. +def _resolve_reasoning_effort(registered, default=_DEFAULT_REASONING_EFFORT): + """Return the default reasoning effort for a model. - Always ``medium``; the metadata effort flags are intentionally not used. + ``"none"`` opts out (no default), a missing/empty registered value keeps + ``default``, and any other value is used verbatim. """ - return "medium" + if registered is None or registered == "": + return default + + if registered == "none": + return None + + return registered + + +def _resolve_thinking_budget(registered, default): + """Return the default thinking budget for a model. + + ``0`` opts out of a thinking level, a missing/empty registered value keeps + ``default``, and any other value is used verbatim. + """ + if registered is None or registered == "": + return default + + if registered == 0 or registered == "0": + return None + + return registered diff --git a/cecli/helpers/model_config/identifiers.py b/cecli/helpers/model_config/identifiers.py index 911ca31a517..8fe9b36ed09 100644 --- a/cecli/helpers/model_config/identifiers.py +++ b/cecli/helpers/model_config/identifiers.py @@ -64,6 +64,16 @@ def is_meta(provider, route, record): return provider == "meta" or record_provider == "meta" +def is_glm(provider, route, record): + """True when the model is a GLM-series model (Zhipu AI / Z.ai).""" + return "glm" in _haystack(provider, route, record) + + +def is_kimi(provider, route, record): + """True when the model is a Kimi-series model (Moonshot AI).""" + return "kimi" in _haystack(provider, route, record) + + def gpt_version(route): """Return the leading ``gpt-`` model version, or 0 when not a gpt model. diff --git a/cecli/helpers/model_config/pipeline.py b/cecli/helpers/model_config/pipeline.py index 720dd0e273d..8e3105723b5 100644 --- a/cecli/helpers/model_config/pipeline.py +++ b/cecli/helpers/model_config/pipeline.py @@ -133,7 +133,7 @@ def _build_config(context): route = context["route"] record = context["record"] llm = derive_llm_config(provider, route, record) - api = derive_api_config(provider, route, record) + api = derive_api_config(provider, route, record, context["model_name"]) agent = derive_agent_config(provider, route, record) if llm.get("mode") == "responses": diff --git a/cecli/helpers/model_config/registry.py b/cecli/helpers/model_config/registry.py new file mode 100644 index 00000000000..95cf74ea843 --- /dev/null +++ b/cecli/helpers/model_config/registry.py @@ -0,0 +1,43 @@ +"""Process-wide registry of per-model reasoning/thinking defaults. + +The model config pipeline writes a ``{reasoning, thinking}`` entry per model +name so :func:`derive_api_config` and :mod:`cecli.models` agree on the default +effort/budget, even after a user overrides it with ``set_reasoning_effort`` / +``set_thinking_tokens``. +""" + +from __future__ import annotations + +from typing import Any, Dict + +#: Sentinel for "leave this key unchanged" so an explicit ``None`` can be stored. +_UNSET = object() + +#: Singleton registry: ``{model_name: {"reasoning": ..., "thinking": ...}}``. +default_registry: Dict[str, Dict[str, Any]] = {} + + +def register_default(model_name: str, reasoning: Any = _UNSET, thinking: Any = _UNSET) -> None: + """Record the default reasoning/thinking config for ``model_name``. + + Omitting ``reasoning`` or ``thinking`` leaves that key unchanged; passing an + explicit ``None`` stores ``None`` so the api derivation falls back to its + built-in default (``"medium"`` / the provider default budget). + """ + entry = default_registry.setdefault(model_name, {}) + + if reasoning is not _UNSET: + entry["reasoning"] = reasoning + + if thinking is not _UNSET: + entry["thinking"] = thinking + + +def get_default(model_name: str) -> Dict[str, Any]: + """Return the registered ``{reasoning, thinking}`` defaults for ``model_name``.""" + return default_registry.get(model_name, {}) + + +def clear_default_registry() -> None: + """Reset the registry (mainly for tests).""" + default_registry.clear() diff --git a/cecli/helpers/model_providers.py b/cecli/helpers/model_providers.py index 46ae7243ba3..675436c0dec 100644 --- a/cecli/helpers/model_providers.py +++ b/cecli/helpers/model_providers.py @@ -136,6 +136,15 @@ def get_required_api_keys(self, provider: Optional[str]) -> list[str]: return [] return list(config.get("api_key_env", [])) + def get_provider_session_header(self, provider: Optional[str]) -> Optional[str]: + """Return the configured session header name (if any) for a provider.""" + config = self.get_provider_config(provider) + + if not config: + return None + + return config.get("session_header") + def get_model_info(self, model: str) -> Dict: provider, route = self._split_model(model) if not provider or not self._ensure_provider_state(provider): diff --git a/cecli/helpers/skills.py b/cecli/helpers/skills.py index 2c8d11e9897..d328f7fad0f 100644 --- a/cecli/helpers/skills.py +++ b/cecli/helpers/skills.py @@ -987,6 +987,53 @@ def get_skills_content(self) -> Optional[str]: # The caller should handle the exception raise + def format_active_skill_message(self, skill_content: SkillContent) -> str: + """Format a single skill's content as a context block message.""" + metadata = skill_content.metadata + result = '\n' + result += f"### Skill: {metadata.name}\n\n" + result += f"**Description**: {metadata.description}\n\n" + + if metadata.license: + result += f"**License**: {metadata.license}\n\n" + + if metadata.allowed_tools: + result += f"**Allowed Tools**: {', '.join(metadata.allowed_tools)}\n\n" + + result += "#### Instructions\n\n" + result += f"{skill_content.instructions}\n\n" + + if skill_content.references: + result += "#### References\n\n" + result += f"Available reference files ({len(skill_content.references)}):\n\n" + for ref_name, ref_path in skill_content.references.items(): + result += f"- **{ref_name}**: `{ref_path}`\n" + result += "\n" + + if skill_content.scripts: + result += "#### Scripts\n\n" + result += f"Available script files ({len(skill_content.scripts)}):\n\n" + for script_name, script_path in skill_content.scripts.items(): + result += f"- **{script_name}**: `{script_path}`\n" + result += "\n" + + if skill_content.assets: + result += f"#### Assets ({len(skill_content.assets)} file(s))\n\n" + result += "Available asset files:\n\n" + for asset_name, asset_path in skill_content.assets.items(): + result += f"- **{asset_name}**: `{asset_path}`\n" + result += "\n" + + if skill_content.evals: + result += f"#### Evals ({len(skill_content.evals)} file(s))\n\n" + result += "Available eval files:\n\n" + for eval_name, eval_path in skill_content.evals.items(): + result += f"- **{eval_name}**: `{eval_path}`\n" + result += "\n" + + result += "" + return result + def get_skills_context(self) -> Optional[str]: """ Generate a context block for available skills. diff --git a/cecli/main.py b/cecli/main.py index a422e8a4754..8f103b754af 100644 --- a/cecli/main.py +++ b/cecli/main.py @@ -1120,36 +1120,21 @@ def get_io(pretty): "Model setting 'remove_reasoning' is deprecated, please use 'reasoning_tag' instead." ) if args.reasoning_effort is not None: - if ( - not args.check_model_accepts_settings - or main_model.accepts_settings - and "reasoning_effort" in main_model.accepts_settings - ): - main_model.set_reasoning_effort(args.reasoning_effort) + main_model.set_reasoning_effort(args.reasoning_effort) + if agent_model_obj: + agent_model_obj.set_reasoning_effort(args.reasoning_effort) + if weak_model_obj: + weak_model_obj.set_reasoning_effort(args.reasoning_effort) + if editor_model_obj: + editor_model_obj.set_reasoning_effort(args.reasoning_effort) if args.thinking_tokens is not None: - if ( - not args.check_model_accepts_settings - or main_model.accepts_settings - and "thinking_tokens" in main_model.accepts_settings - ): - main_model.set_thinking_tokens(args.thinking_tokens) - if args.check_model_accepts_settings: - settings_to_check = [ - {"arg": args.reasoning_effort, "name": "reasoning_effort"}, - {"arg": args.thinking_tokens, "name": "thinking_tokens"}, - ] - for setting in settings_to_check: - if setting["arg"] is not None and ( - not main_model.accepts_settings - or setting["name"] not in main_model.accepts_settings - ): - io.tool_warning( - f"Warning: {main_model.name} does not support '{setting['name']}', ignoring." - ) - io.tool_output( - f"Use --no-check-model-accepts-settings to force the '{setting['name']}'" - " setting." - ) + main_model.set_thinking_tokens(args.thinking_tokens) + if agent_model_obj: + agent_model_obj.set_thinking_tokens(args.thinking_tokens) + if weak_model_obj: + weak_model_obj.set_thinking_tokens(args.thinking_tokens) + if editor_model_obj: + editor_model_obj.set_thinking_tokens(args.thinking_tokens) if args.copy_paste and args.edit_format is None: if main_model.edit_format in ("diff", "whole", "diff-fenced"): main_model.edit_format = "editor-" + main_model.edit_format @@ -1374,8 +1359,7 @@ def get_io(pretty): if args.copy_paste: ClipboardWatcher(coder.io, verbose=args.verbose) if args.show_prompts: - coder.cur_messages += [dict(role="user", content="Hello!")] - messages = coder.format_messages().all_messages() + messages = coder.format_messages() utils.show_messages(messages) return await graceful_exit(coder) if args.lint: diff --git a/cecli/mcp/server.py b/cecli/mcp/server.py index c1c29918f97..75fbf9aa374 100644 --- a/cecli/mcp/server.py +++ b/cecli/mcp/server.py @@ -288,7 +288,8 @@ async def _run_session(self): # retrieved" warning. self._session_ready.cancel() else: - logging.error(f"Error initializing server {self.name}: {exc}") + if self.name != "unnamed-server": + logging.error(f"Error initializing server {self.name}: {exc}") self._session_ready.set_exception(exc) return @@ -305,14 +306,16 @@ async def _run_session(self): except asyncio.CancelledError: pass except Exception as e: - logging.error(f"Error during cleanup of server {self.name}: {e}") + if self.name != "unnamed-server": + logging.error(f"Error during cleanup of server {self.name}: {e}") try: await exit_stack.aclose() except (asyncio.CancelledError, RuntimeError, GeneratorExit): pass except Exception as e: - logging.error(f"Error during cleanup of server {self.name}: {e}") + if self.name != "unnamed-server": + logging.error(f"Error during cleanup of server {self.name}: {e}") # Only the current owner may clear shared state; if a newer session # has taken over, leave its session/loop fields alone. @@ -590,20 +593,16 @@ def _create_transport(self, url, http_client): return streamable_http_client(url, http_client=http_client) -class SseServer(McpServer): - """SSE (Server-Sent Events) MCP server using mcp.client.sse_client.""" +class SseServer(HttpBasedMcpServer): + """SSE (Server-Sent Events) MCP server using mcp.client.sse_client. - async def _open_session(self): - url = self.config.get("url") - headers = self.config.get("headers", {}) - - sse_transport = await self.exit_stack.enter_async_context(sse_client(url, headers=headers)) - read, write = sse_transport - session = await self.exit_stack.enter_async_context(ClientSession(read, write)) - await session.initialize() - self.session = session + Inherits keepalive pings and exponential-backoff auto-reconnect from + HttpBasedMcpServer so dropped SSE connections recover automatically. + """ - return session + def _create_transport(self, url, http_client): + """Create the SSE transport. The shared http_client is used for keepalive pings.""" + return sse_client(url, headers=self.config.get("headers", {})) class LocalServer(McpServer): diff --git a/cecli/models.py b/cecli/models.py index f3a8cea62a6..0e2809fe1a9 100644 --- a/cecli/models.py +++ b/cecli/models.py @@ -22,6 +22,7 @@ handle_core_files, ) from cecli.helpers.model_config import get_default_config +from cecli.helpers.model_config.registry import register_default from cecli.helpers.model_config.utils import get_entry_from_raw from cecli.helpers.model_providers import ModelProviderManager from cecli.helpers.nested import deep_merge @@ -980,15 +981,23 @@ def _apply_provider_defaults(self): def _apply_reasoning_defaults(self): """Apply the default thinking/reasoning configuration at init time. - The model config pipeline's ``api`` block decides which mechanism a - model uses: anthropic-family models configure ``thinking`` tokens while - everything else uses a reasoning effort. ``override_kwargs`` applied - later in ``_apply_structured_kwargs`` win over these defaults. + The model config pipeline's ``api`` block carries the reasoning effort + and/or thinking budget the model uses; the config registry records the + defaults so they initialize from the api block or an explicit user + override. ``override_kwargs`` applied later in + ``_apply_structured_kwargs`` win over these defaults. """ + register_default( + self.name, + reasoning=self._default_reasoning_effort, + thinking=self._default_thinking_budget, + ) + + if self._default_reasoning_effort is not None: + self.set_reasoning_effort(self._default_reasoning_effort) + if self._default_thinking_budget is not None: self.set_thinking_tokens(self._default_thinking_budget) - elif self._default_reasoning_effort is not None: - self.set_reasoning_effort(self._default_reasoning_effort) def tokenizer(self, text): return litellm.encode(model=self.name, text=text) @@ -1140,6 +1149,8 @@ def set_reasoning_effort(self, effort): the effort onto the provider's own field (e.g. Gemini's ``thinking_level``). """ + register_default(self.name, reasoning=effort) + if not self.extra_params: self.extra_params = {} @@ -1221,6 +1232,7 @@ def set_thinking_tokens(self, value): """ if value is not None: num_tokens = self.parse_token_value(value) + register_default(self.name, thinking=num_tokens) self.use_temperature = False if not self.extra_params: self.extra_params = {} diff --git a/cecli/prompts/agent.yml b/cecli/prompts/agent.yml index ae40a12e71b..a1a637369a7 100644 --- a/cecli/prompts/agent.yml +++ b/cecli/prompts/agent.yml @@ -26,9 +26,9 @@ main_system: | **Be Persistent**: Do not take short cuts. Work through your task until completion. No task takes too long as long as you are making progress towards the goal. ## FILE FORMAT - File contents are presented with virtual prefix identifiers to help you target edits accurately. These are generated on-the-fly when reading the file. + File contents are presented with virtual prefix identifiers to help you target edits accurately. These are generated on-the-fly when reading the file. They do not exist as bytes in the literal file on disk. - - **Unique Lines (`——`):** Lines that appear only once in the file are prefixed with `——`. To target these lines for edits, you can simply reference the exact literal text of the line, excluding the prefix. + - **Unique Lines (`——`):** Lines that appear only once in the file are prefixed with `——`. To target these lines for edits, you can simply reference the exact literal text of the line. - **Duplicate Lines (e.g., `—“0车加—`):** Lines that appear multiple times are prefixed with an opaque identifier. You MUST include this exact identifier when targeting these lines to disambiguate which specific instance you want to edit. **Example File** diff --git a/cecli/prompts/subagent.yml b/cecli/prompts/subagent.yml index f9258c1362a..5bc1b1763cf 100644 --- a/cecli/prompts/subagent.yml +++ b/cecli/prompts/subagent.yml @@ -11,9 +11,9 @@ main_system: | **Be Persistent**: Do not take short cuts. Work through your task until completion. No task takes too long as long as you are making progress towards the goal. ## FILE FORMAT - File contents are presented with virtual prefix identifiers to help you target edits accurately. These are generated on-the-fly when reading the file. + File contents are presented with virtual prefix identifiers to help you target edits accurately. These are generated on-the-fly when reading the file. They do not exist as bytes in the literal file on disk. - - **Unique Lines (`——`):** Lines that appear only once in the file are prefixed with `——`. To target these lines for edits, you can simply reference the exact literal text of the line, excluding the prefix. + - **Unique Lines (`——`):** Lines that appear only once in the file are prefixed with `——`. To target these lines for edits, you can simply reference the exact literal text of the line. - **Duplicate Lines (e.g., `—“0车加—`):** Lines that appear multiple times are prefixed with an opaque identifier. You MUST include this exact identifier when targeting these lines to disambiguate which specific instance you want to edit. **Example File** diff --git a/cecli/resources/model-metadata.json b/cecli/resources/model-metadata.json index 3e62cce8416..59f05dcaa75 100644 --- a/cecli/resources/model-metadata.json +++ b/cecli/resources/model-metadata.json @@ -371,6 +371,7 @@ "search_context_size_medium": 0.01 }, "supports_adaptive_thinking": true, + "thinking_always_on": true, "supports_mid_conversation_system": true, "supports_assistant_prefill": false, "supports_computer_use": true, @@ -388,7 +389,45 @@ "supports_output_config": true, "bedrock_output_config_effort_ceiling": "xhigh", "supports_parallel_tool_use_config": true, - "prompt_cache_min_tokens": 1024 + "prompt_cache_min_tokens": 512 + }, + "anthropic.claude-fable-5-1": { + "cache_creation_input_token_cost": 0.0000125, + "cache_creation_input_token_cost_above_1hr": 0.00002, + "cache_read_input_token_cost": 2.5e-7, + "input_cost_per_token": 0.00001, + "litellm_provider": "bedrock_converse", + "max_input_tokens": 1000000, + "max_output_tokens": 128000, + "max_tokens": 128000, + "mode": "chat", + "output_cost_per_token": 0.00005, + "search_context_cost_per_query": { + "search_context_size_high": 0.01, + "search_context_size_low": 0.01, + "search_context_size_medium": 0.01 + }, + "supports_adaptive_thinking": true, + "thinking_always_on": true, + "supports_mid_conversation_system": true, + "supports_assistant_prefill": false, + "supports_computer_use": true, + "supports_forced_tool_use": false, + "supports_function_calling": true, + "supports_pdf_input": true, + "supports_prompt_caching": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_sampling_params": false, + "supports_tool_choice": true, + "supports_vision": true, + "supports_xhigh_reasoning_effort": true, + "supports_native_structured_output": false, + "supports_max_reasoning_effort": true, + "supports_output_config": true, + "bedrock_output_config_effort_ceiling": "xhigh", + "supports_parallel_tool_use_config": true, + "prompt_cache_min_tokens": 512 }, "anthropic.claude-haiku-4-5-20251001-v1:0": { "cache_creation_input_token_cost": 0.00000125, @@ -414,7 +453,9 @@ "supports_vision": true, "supports_native_structured_output": true, "supports_parallel_tool_use_config": true, - "prompt_cache_min_tokens": 4096 + "prompt_cache_min_tokens": 4096, + "input_cost_per_token_batches": 5e-7, + "output_cost_per_token_batches": 0.0000025 }, "anthropic.claude-haiku-4-5@20251001": { "cache_creation_input_token_cost": 0.00000125, @@ -461,6 +502,7 @@ "max_output_tokens": 128000, "max_tokens": 128000, "mode": "chat", + "thinking_always_on": true, "supports_function_calling": true, "supports_vision": true, "supports_prompt_caching": false, @@ -555,6 +597,7 @@ }, "anthropic.claude-opus-4-6-v1": { "supports_adaptive_thinking": true, + "supports_legacy_thinking": true, "cache_creation_input_token_cost": 0.00000625, "cache_creation_input_token_cost_above_1hr": 0.00001, "cache_read_input_token_cost": 5e-7, @@ -691,7 +734,7 @@ "supports_tool_choice": true, "supports_vision": true, "supports_xhigh_reasoning_effort": true, - "supports_native_structured_output": true, + "supports_native_structured_output": false, "supports_max_reasoning_effort": true, "supports_output_config": true, "supports_parallel_tool_use_config": true, @@ -762,10 +805,13 @@ "supports_vision": true, "supports_native_structured_output": true, "supports_parallel_tool_use_config": true, - "prompt_cache_min_tokens": 1024 + "prompt_cache_min_tokens": 1024, + "input_cost_per_token_batches": 0.0000015, + "output_cost_per_token_batches": 0.0000075 }, "anthropic.claude-sonnet-4-6": { "supports_adaptive_thinking": true, + "supports_legacy_thinking": true, "cache_creation_input_token_cost": 0.00000375, "cache_creation_input_token_cost_above_1hr": 0.000006, "cache_read_input_token_cost": 3e-7, @@ -827,7 +873,7 @@ "supports_tool_choice": true, "supports_vision": true, "supports_xhigh_reasoning_effort": true, - "supports_native_structured_output": true, + "supports_native_structured_output": false, "supports_max_reasoning_effort": true, "supports_output_config": true, "bedrock_output_config_effort_ceiling": "xhigh", @@ -1141,7 +1187,9 @@ "supports_vision": true, "supports_native_structured_output": true, "supports_parallel_tool_use_config": true, - "prompt_cache_min_tokens": 4096 + "prompt_cache_min_tokens": 4096, + "input_cost_per_token_batches": 5.5e-7, + "output_cost_per_token_batches": 0.00000275 }, "apac.anthropic.claude-sonnet-4-20250514-v1:0": { "cache_creation_input_token_cost": 0.00000375, @@ -1198,10 +1246,13 @@ "supports_vision": true, "supports_native_structured_output": true, "supports_parallel_tool_use_config": true, - "prompt_cache_min_tokens": 4096 + "prompt_cache_min_tokens": 4096, + "input_cost_per_token_batches": 5.5e-7, + "output_cost_per_token_batches": 0.00000275 }, "au.anthropic.claude-opus-4-6-v1": { "supports_adaptive_thinking": true, + "supports_legacy_thinking": true, "cache_creation_input_token_cost": 0.000006875, "cache_creation_input_token_cost_above_1hr": 0.000011, "cache_read_input_token_cost": 5.5e-7, @@ -1338,7 +1389,7 @@ "supports_tool_choice": true, "supports_vision": true, "supports_xhigh_reasoning_effort": true, - "supports_native_structured_output": true, + "supports_native_structured_output": false, "supports_max_reasoning_effort": true, "supports_output_config": true, "supports_parallel_tool_use_config": true, @@ -1377,10 +1428,13 @@ "supports_vision": true, "supports_native_structured_output": true, "supports_parallel_tool_use_config": true, - "prompt_cache_min_tokens": 1024 + "prompt_cache_min_tokens": 1024, + "input_cost_per_token_batches": 0.00000165, + "output_cost_per_token_batches": 0.00000825 }, "au.anthropic.claude-sonnet-4-6": { "supports_adaptive_thinking": true, + "supports_legacy_thinking": true, "cache_creation_input_token_cost": 0.000004125, "cache_creation_input_token_cost_above_1hr": 0.0000066, "cache_read_input_token_cost": 3.3e-7, @@ -1442,7 +1496,7 @@ "supports_tool_choice": true, "supports_vision": true, "supports_xhigh_reasoning_effort": true, - "supports_native_structured_output": true, + "supports_native_structured_output": false, "supports_max_reasoning_effort": true, "supports_output_config": true, "bedrock_output_config_effort_ceiling": "xhigh", @@ -1673,7 +1727,8 @@ "supports_system_messages": true, "supports_tool_choice": true, "supports_vision": true, - "supports_none_reasoning_effort": true + "supports_none_reasoning_effort": true, + "default_reasoning_effort": "none" }, "azure/eu/gpt-5.1-chat": { "cache_read_input_token_cost": 1.4e-7, @@ -1708,7 +1763,8 @@ "supports_system_messages": true, "supports_tool_choice": true, "supports_vision": true, - "supports_none_reasoning_effort": true + "supports_none_reasoning_effort": true, + "default_reasoning_effort": "none" }, "azure/eu/gpt-5.4": { "deprecation_date": "2027-09-02", @@ -1746,6 +1802,7 @@ "supports_tool_choice": true, "supports_vision": true, "supports_none_reasoning_effort": true, + "default_reasoning_effort": "none", "supports_xhigh_reasoning_effort": true, "supports_minimal_reasoning_effort": true }, @@ -1785,6 +1842,7 @@ "supports_tool_choice": true, "supports_vision": true, "supports_none_reasoning_effort": true, + "default_reasoning_effort": "none", "supports_xhigh_reasoning_effort": true, "supports_minimal_reasoning_effort": true }, @@ -1881,20 +1939,27 @@ "supports_web_search": true }, "azure/eu/gpt-5.6": { + "cache_creation_input_token_cost": 0.000006875, + "cache_creation_input_token_cost_above_272k_tokens": 0.00001375, + "cache_creation_input_token_cost_above_272k_tokens_priority": 0.0000275, + "cache_creation_input_token_cost_priority": 0.00001375, "cache_read_input_token_cost": 5.5e-7, "cache_read_input_token_cost_above_272k_tokens": 0.0000011, - "cache_read_input_token_cost_priority": 0.000001375, + "cache_read_input_token_cost_above_272k_tokens_priority": 0.0000022, + "cache_read_input_token_cost_priority": 0.0000011, "input_cost_per_token": 0.0000055, "input_cost_per_token_above_272k_tokens": 0.000011, - "input_cost_per_token_priority": 0.00001375, + "input_cost_per_token_above_272k_tokens_priority": 0.000022, + "input_cost_per_token_priority": 0.000011, "litellm_provider": "azure", - "max_input_tokens": 1050000, + "max_input_tokens": 922000, "max_output_tokens": 128000, "max_tokens": 128000, "mode": "chat", "output_cost_per_token": 0.000033, "output_cost_per_token_above_272k_tokens": 0.0000495, - "output_cost_per_token_priority": 0.0000825, + "output_cost_per_token_above_272k_tokens_priority": 0.000099, + "output_cost_per_token_priority": 0.000066, "search_context_cost_per_query": { "search_context_size_high": 0.01, "search_context_size_low": 0.01, @@ -1928,21 +1993,28 @@ "supports_minimal_reasoning_effort": false }, "azure/eu/gpt-5.6-luna": { + "cache_creation_input_token_cost": 2.75e-7, + "cache_creation_input_token_cost_above_272k_tokens": 5.5e-7, + "cache_creation_input_token_cost_above_272k_tokens_priority": 0.0000011, + "cache_creation_input_token_cost_priority": 5.5e-7, "cache_read_input_token_cost": 2.2e-8, "cache_read_input_token_cost_above_272k_tokens": 4.4e-8, - "cache_read_input_token_cost_priority": 5.5e-8, + "cache_read_input_token_cost_above_272k_tokens_priority": 8.8e-8, + "cache_read_input_token_cost_priority": 4.4e-8, "deprecation_date": "2028-01-11", "input_cost_per_token": 2.2e-7, "input_cost_per_token_above_272k_tokens": 4.4e-7, - "input_cost_per_token_priority": 5.5e-7, + "input_cost_per_token_above_272k_tokens_priority": 8.8e-7, + "input_cost_per_token_priority": 4.4e-7, "litellm_provider": "azure", - "max_input_tokens": 1050000, + "max_input_tokens": 922000, "max_output_tokens": 128000, "max_tokens": 128000, "mode": "chat", "output_cost_per_token": 0.00000132, "output_cost_per_token_above_272k_tokens": 0.00000198, - "output_cost_per_token_priority": 0.0000033, + "output_cost_per_token_above_272k_tokens_priority": 0.00000396, + "output_cost_per_token_priority": 0.00000264, "search_context_cost_per_query": { "search_context_size_high": 0.01, "search_context_size_low": 0.01, @@ -1976,21 +2048,28 @@ "supports_minimal_reasoning_effort": false }, "azure/eu/gpt-5.6-sol": { + "cache_creation_input_token_cost": 0.000006875, + "cache_creation_input_token_cost_above_272k_tokens": 0.00001375, + "cache_creation_input_token_cost_above_272k_tokens_priority": 0.0000275, + "cache_creation_input_token_cost_priority": 0.00001375, "cache_read_input_token_cost": 5.5e-7, "cache_read_input_token_cost_above_272k_tokens": 0.0000011, - "cache_read_input_token_cost_priority": 0.000001375, + "cache_read_input_token_cost_above_272k_tokens_priority": 0.0000022, + "cache_read_input_token_cost_priority": 0.0000011, "deprecation_date": "2028-01-11", "input_cost_per_token": 0.0000055, "input_cost_per_token_above_272k_tokens": 0.000011, - "input_cost_per_token_priority": 0.00001375, + "input_cost_per_token_above_272k_tokens_priority": 0.000022, + "input_cost_per_token_priority": 0.000011, "litellm_provider": "azure", - "max_input_tokens": 1050000, + "max_input_tokens": 922000, "max_output_tokens": 128000, "max_tokens": 128000, "mode": "chat", "output_cost_per_token": 0.000033, "output_cost_per_token_above_272k_tokens": 0.0000495, - "output_cost_per_token_priority": 0.0000825, + "output_cost_per_token_above_272k_tokens_priority": 0.000099, + "output_cost_per_token_priority": 0.000066, "search_context_cost_per_query": { "search_context_size_high": 0.01, "search_context_size_low": 0.01, @@ -2024,21 +2103,28 @@ "supports_minimal_reasoning_effort": false }, "azure/eu/gpt-5.6-terra": { + "cache_creation_input_token_cost": 0.00000275, + "cache_creation_input_token_cost_above_272k_tokens": 0.0000055, + "cache_creation_input_token_cost_above_272k_tokens_priority": 0.000011, + "cache_creation_input_token_cost_priority": 0.0000055, "cache_read_input_token_cost": 2.2e-7, "cache_read_input_token_cost_above_272k_tokens": 4.4e-7, - "cache_read_input_token_cost_priority": 5.5e-7, + "cache_read_input_token_cost_above_272k_tokens_priority": 8.8e-7, + "cache_read_input_token_cost_priority": 4.4e-7, "deprecation_date": "2028-01-11", "input_cost_per_token": 0.0000022, "input_cost_per_token_above_272k_tokens": 0.0000044, - "input_cost_per_token_priority": 0.0000055, + "input_cost_per_token_above_272k_tokens_priority": 0.0000088, + "input_cost_per_token_priority": 0.0000044, "litellm_provider": "azure", - "max_input_tokens": 1050000, + "max_input_tokens": 922000, "max_output_tokens": 128000, "max_tokens": 128000, "mode": "chat", "output_cost_per_token": 0.0000132, "output_cost_per_token_above_272k_tokens": 0.0000198, - "output_cost_per_token_priority": 0.000033, + "output_cost_per_token_above_272k_tokens_priority": 0.0000396, + "output_cost_per_token_priority": 0.0000264, "search_context_cost_per_query": { "search_context_size_high": 0.01, "search_context_size_low": 0.01, @@ -2249,7 +2335,8 @@ "supports_system_messages": true, "supports_tool_choice": true, "supports_vision": true, - "supports_none_reasoning_effort": true + "supports_none_reasoning_effort": true, + "default_reasoning_effort": "none" }, "azure/global/gpt-5.1-chat": { "cache_read_input_token_cost": 1.25e-7, @@ -2284,7 +2371,8 @@ "supports_system_messages": true, "supports_tool_choice": true, "supports_vision": true, - "supports_none_reasoning_effort": true + "supports_none_reasoning_effort": true, + "default_reasoning_effort": "none" }, "azure/gpt-3.5-turbo": { "input_cost_per_token": 5e-7, @@ -2607,7 +2695,7 @@ "supports_web_search": false }, "azure/gpt-4.1-nano": { - "deprecation_date": "2026-10-14", + "deprecation_date": "2027-04-14", "cache_read_input_token_cost": 2.5e-8, "input_cost_per_token": 1e-7, "input_cost_per_token_batches": 5e-8, @@ -2640,7 +2728,7 @@ "supports_vision": true }, "azure/gpt-4.1-nano-2025-04-14": { - "deprecation_date": "2026-10-14", + "deprecation_date": "2027-04-14", "cache_read_input_token_cost": 2.5e-8, "input_cost_per_token": 1e-7, "input_cost_per_token_batches": 5e-8, @@ -3150,7 +3238,8 @@ "supports_system_messages": true, "supports_tool_choice": true, "supports_vision": true, - "supports_none_reasoning_effort": true + "supports_none_reasoning_effort": true, + "default_reasoning_effort": "none" }, "azure/gpt-5.1-2025-11-13": { "cache_read_input_token_cost": 1.25e-7, @@ -3188,6 +3277,7 @@ "supports_tool_choice": true, "supports_vision": true, "supports_none_reasoning_effort": true, + "default_reasoning_effort": "none", "supports_minimal_reasoning_effort": true }, "azure/gpt-5.1-chat": { @@ -3223,7 +3313,8 @@ "supports_system_messages": true, "supports_tool_choice": true, "supports_vision": true, - "supports_none_reasoning_effort": true + "supports_none_reasoning_effort": true, + "default_reasoning_effort": "none" }, "azure/gpt-5.1-chat-2025-11-13": { "cache_read_input_token_cost": 1.25e-7, @@ -3260,7 +3351,8 @@ "supports_system_messages": true, "supports_tool_choice": false, "supports_vision": true, - "supports_none_reasoning_effort": true + "supports_none_reasoning_effort": true, + "default_reasoning_effort": "none" }, "azure/gpt-5.2": { "deprecation_date": "2027-06-08", @@ -3480,6 +3572,7 @@ "supports_tool_choice": true, "supports_vision": true, "supports_none_reasoning_effort": true, + "default_reasoning_effort": "none", "supports_xhigh_reasoning_effort": true, "supports_minimal_reasoning_effort": true }, @@ -3525,6 +3618,7 @@ "supports_tool_choice": true, "supports_vision": true, "supports_none_reasoning_effort": true, + "default_reasoning_effort": "none", "supports_xhigh_reasoning_effort": true, "supports_minimal_reasoning_effort": true }, @@ -3567,6 +3661,7 @@ "supports_vision": true, "supports_web_search": true, "supports_none_reasoning_effort": true, + "default_reasoning_effort": "none", "supports_xhigh_reasoning_effort": true }, "azure/gpt-5.4-mini-2026-03-17": { @@ -3608,6 +3703,7 @@ "supports_vision": true, "supports_web_search": true, "supports_none_reasoning_effort": true, + "default_reasoning_effort": "none", "supports_xhigh_reasoning_effort": true }, "azure/gpt-5.4-nano": { @@ -3649,6 +3745,7 @@ "supports_vision": true, "supports_web_search": true, "supports_none_reasoning_effort": true, + "default_reasoning_effort": "none", "supports_xhigh_reasoning_effort": true }, "azure/gpt-5.4-nano-2026-03-17": { @@ -3690,6 +3787,7 @@ "supports_vision": true, "supports_web_search": true, "supports_none_reasoning_effort": true, + "default_reasoning_effort": "none", "supports_xhigh_reasoning_effort": true }, "azure/gpt-5.5": { @@ -3791,6 +3889,10 @@ "supports_web_search": true }, "azure/gpt-5.6": { + "cache_creation_input_token_cost": 0.00000625, + "cache_creation_input_token_cost_above_272k_tokens": 0.0000125, + "cache_creation_input_token_cost_priority": 0.0000125, + "cache_creation_input_token_cost_above_272k_tokens_priority": 0.000025, "cache_read_input_token_cost": 5e-7, "cache_read_input_token_cost_above_272k_tokens": 0.000001, "cache_read_input_token_cost_priority": 0.000001, @@ -3800,7 +3902,7 @@ "input_cost_per_token_priority": 0.00001, "input_cost_per_token_above_272k_tokens_priority": 0.00002, "litellm_provider": "azure", - "max_input_tokens": 1050000, + "max_input_tokens": 922000, "max_output_tokens": 128000, "max_tokens": 128000, "mode": "chat", @@ -3841,6 +3943,10 @@ "supports_minimal_reasoning_effort": false }, "azure/gpt-5.6-luna": { + "cache_creation_input_token_cost": 2.5e-7, + "cache_creation_input_token_cost_above_272k_tokens": 5e-7, + "cache_creation_input_token_cost_priority": 5e-7, + "cache_creation_input_token_cost_above_272k_tokens_priority": 0.000001, "cache_read_input_token_cost": 2e-8, "cache_read_input_token_cost_above_272k_tokens": 4e-8, "cache_read_input_token_cost_priority": 4e-8, @@ -3851,7 +3957,7 @@ "input_cost_per_token_priority": 4e-7, "input_cost_per_token_above_272k_tokens_priority": 8e-7, "litellm_provider": "azure", - "max_input_tokens": 1050000, + "max_input_tokens": 922000, "max_output_tokens": 128000, "max_tokens": 128000, "mode": "chat", @@ -3892,6 +3998,10 @@ "supports_minimal_reasoning_effort": false }, "azure/gpt-5.6-sol": { + "cache_creation_input_token_cost": 0.00000625, + "cache_creation_input_token_cost_above_272k_tokens": 0.0000125, + "cache_creation_input_token_cost_priority": 0.0000125, + "cache_creation_input_token_cost_above_272k_tokens_priority": 0.000025, "cache_read_input_token_cost": 5e-7, "cache_read_input_token_cost_above_272k_tokens": 0.000001, "cache_read_input_token_cost_priority": 0.000001, @@ -3902,7 +4012,7 @@ "input_cost_per_token_priority": 0.00001, "input_cost_per_token_above_272k_tokens_priority": 0.00002, "litellm_provider": "azure", - "max_input_tokens": 1050000, + "max_input_tokens": 922000, "max_output_tokens": 128000, "max_tokens": 128000, "mode": "chat", @@ -3943,6 +4053,10 @@ "supports_minimal_reasoning_effort": false }, "azure/gpt-5.6-terra": { + "cache_creation_input_token_cost": 0.0000025, + "cache_creation_input_token_cost_above_272k_tokens": 0.000005, + "cache_creation_input_token_cost_priority": 0.000005, + "cache_creation_input_token_cost_above_272k_tokens_priority": 0.00001, "cache_read_input_token_cost": 2e-7, "cache_read_input_token_cost_above_272k_tokens": 4e-7, "cache_read_input_token_cost_priority": 4e-7, @@ -3953,7 +4067,7 @@ "input_cost_per_token_priority": 0.000004, "input_cost_per_token_above_272k_tokens_priority": 0.000008, "litellm_provider": "azure", - "max_input_tokens": 1050000, + "max_input_tokens": 922000, "max_output_tokens": 128000, "max_tokens": 128000, "mode": "chat", @@ -4057,6 +4171,38 @@ "supports_tool_choice": true, "supports_vision": false }, + "azure/gpt-audio-mini": { + "deprecation_date": "2027-04-06", + "input_cost_per_audio_token": 0.00001, + "input_cost_per_token": 6e-7, + "litellm_provider": "azure", + "max_input_tokens": 128000, + "max_output_tokens": 16384, + "max_tokens": 16384, + "mode": "chat", + "output_cost_per_audio_token": 0.00002, + "output_cost_per_token": 0.0000024, + "supported_endpoints": [ + "/v1/chat/completions" + ], + "supported_modalities": [ + "text", + "audio" + ], + "supported_output_modalities": [ + "text", + "audio" + ], + "supports_function_calling": true, + "supports_native_streaming": true, + "supports_parallel_function_calling": true, + "supports_prompt_caching": false, + "supports_reasoning": false, + "supports_response_schema": false, + "supports_system_messages": true, + "supports_tool_choice": true, + "supports_vision": false + }, "azure/gpt-audio-mini-2025-10-06": { "deprecation_date": "2027-04-06", "input_cost_per_audio_token": 0.00001, @@ -4724,7 +4870,8 @@ "supports_system_messages": true, "supports_tool_choice": true, "supports_vision": true, - "supports_none_reasoning_effort": true + "supports_none_reasoning_effort": true, + "default_reasoning_effort": "none" }, "azure/us/gpt-5.1-chat": { "cache_read_input_token_cost": 1.4e-7, @@ -4759,7 +4906,8 @@ "supports_system_messages": true, "supports_tool_choice": true, "supports_vision": true, - "supports_none_reasoning_effort": true + "supports_none_reasoning_effort": true, + "default_reasoning_effort": "none" }, "azure/us/gpt-5.4": { "deprecation_date": "2027-09-02", @@ -4797,6 +4945,7 @@ "supports_tool_choice": true, "supports_vision": true, "supports_none_reasoning_effort": true, + "default_reasoning_effort": "none", "supports_xhigh_reasoning_effort": true, "supports_minimal_reasoning_effort": true }, @@ -4836,6 +4985,7 @@ "supports_tool_choice": true, "supports_vision": true, "supports_none_reasoning_effort": true, + "default_reasoning_effort": "none", "supports_xhigh_reasoning_effort": true, "supports_minimal_reasoning_effort": true }, @@ -4932,20 +5082,27 @@ "supports_web_search": true }, "azure/us/gpt-5.6": { + "cache_creation_input_token_cost": 0.000006875, + "cache_creation_input_token_cost_above_272k_tokens": 0.00001375, + "cache_creation_input_token_cost_above_272k_tokens_priority": 0.0000275, + "cache_creation_input_token_cost_priority": 0.00001375, "cache_read_input_token_cost": 5.5e-7, "cache_read_input_token_cost_above_272k_tokens": 0.0000011, - "cache_read_input_token_cost_priority": 0.000001375, + "cache_read_input_token_cost_above_272k_tokens_priority": 0.0000022, + "cache_read_input_token_cost_priority": 0.0000011, "input_cost_per_token": 0.0000055, "input_cost_per_token_above_272k_tokens": 0.000011, - "input_cost_per_token_priority": 0.00001375, + "input_cost_per_token_above_272k_tokens_priority": 0.000022, + "input_cost_per_token_priority": 0.000011, "litellm_provider": "azure", - "max_input_tokens": 1050000, + "max_input_tokens": 922000, "max_output_tokens": 128000, "max_tokens": 128000, "mode": "chat", "output_cost_per_token": 0.000033, "output_cost_per_token_above_272k_tokens": 0.0000495, - "output_cost_per_token_priority": 0.0000825, + "output_cost_per_token_above_272k_tokens_priority": 0.000099, + "output_cost_per_token_priority": 0.000066, "search_context_cost_per_query": { "search_context_size_high": 0.01, "search_context_size_low": 0.01, @@ -4979,21 +5136,28 @@ "supports_minimal_reasoning_effort": false }, "azure/us/gpt-5.6-luna": { + "cache_creation_input_token_cost": 2.75e-7, + "cache_creation_input_token_cost_above_272k_tokens": 5.5e-7, + "cache_creation_input_token_cost_above_272k_tokens_priority": 0.0000011, + "cache_creation_input_token_cost_priority": 5.5e-7, "cache_read_input_token_cost": 2.2e-8, "cache_read_input_token_cost_above_272k_tokens": 4.4e-8, - "cache_read_input_token_cost_priority": 5.5e-8, + "cache_read_input_token_cost_above_272k_tokens_priority": 8.8e-8, + "cache_read_input_token_cost_priority": 4.4e-8, "deprecation_date": "2028-01-11", "input_cost_per_token": 2.2e-7, "input_cost_per_token_above_272k_tokens": 4.4e-7, - "input_cost_per_token_priority": 5.5e-7, + "input_cost_per_token_above_272k_tokens_priority": 8.8e-7, + "input_cost_per_token_priority": 4.4e-7, "litellm_provider": "azure", - "max_input_tokens": 1050000, + "max_input_tokens": 922000, "max_output_tokens": 128000, "max_tokens": 128000, "mode": "chat", "output_cost_per_token": 0.00000132, "output_cost_per_token_above_272k_tokens": 0.00000198, - "output_cost_per_token_priority": 0.0000033, + "output_cost_per_token_above_272k_tokens_priority": 0.00000396, + "output_cost_per_token_priority": 0.00000264, "search_context_cost_per_query": { "search_context_size_high": 0.01, "search_context_size_low": 0.01, @@ -5027,21 +5191,28 @@ "supports_minimal_reasoning_effort": false }, "azure/us/gpt-5.6-sol": { + "cache_creation_input_token_cost": 0.000006875, + "cache_creation_input_token_cost_above_272k_tokens": 0.00001375, + "cache_creation_input_token_cost_above_272k_tokens_priority": 0.0000275, + "cache_creation_input_token_cost_priority": 0.00001375, "cache_read_input_token_cost": 5.5e-7, "cache_read_input_token_cost_above_272k_tokens": 0.0000011, - "cache_read_input_token_cost_priority": 0.000001375, + "cache_read_input_token_cost_above_272k_tokens_priority": 0.0000022, + "cache_read_input_token_cost_priority": 0.0000011, "deprecation_date": "2028-01-11", "input_cost_per_token": 0.0000055, "input_cost_per_token_above_272k_tokens": 0.000011, - "input_cost_per_token_priority": 0.00001375, + "input_cost_per_token_above_272k_tokens_priority": 0.000022, + "input_cost_per_token_priority": 0.000011, "litellm_provider": "azure", - "max_input_tokens": 1050000, + "max_input_tokens": 922000, "max_output_tokens": 128000, "max_tokens": 128000, "mode": "chat", "output_cost_per_token": 0.000033, "output_cost_per_token_above_272k_tokens": 0.0000495, - "output_cost_per_token_priority": 0.0000825, + "output_cost_per_token_above_272k_tokens_priority": 0.000099, + "output_cost_per_token_priority": 0.000066, "search_context_cost_per_query": { "search_context_size_high": 0.01, "search_context_size_low": 0.01, @@ -5075,21 +5246,28 @@ "supports_minimal_reasoning_effort": false }, "azure/us/gpt-5.6-terra": { + "cache_creation_input_token_cost": 0.00000275, + "cache_creation_input_token_cost_above_272k_tokens": 0.0000055, + "cache_creation_input_token_cost_above_272k_tokens_priority": 0.000011, + "cache_creation_input_token_cost_priority": 0.0000055, "cache_read_input_token_cost": 2.2e-7, "cache_read_input_token_cost_above_272k_tokens": 4.4e-7, - "cache_read_input_token_cost_priority": 5.5e-7, + "cache_read_input_token_cost_above_272k_tokens_priority": 8.8e-7, + "cache_read_input_token_cost_priority": 4.4e-7, "deprecation_date": "2028-01-11", "input_cost_per_token": 0.0000022, "input_cost_per_token_above_272k_tokens": 0.0000044, - "input_cost_per_token_priority": 0.0000055, + "input_cost_per_token_above_272k_tokens_priority": 0.0000088, + "input_cost_per_token_priority": 0.0000044, "litellm_provider": "azure", - "max_input_tokens": 1050000, + "max_input_tokens": 922000, "max_output_tokens": 128000, "max_tokens": 128000, "mode": "chat", "output_cost_per_token": 0.0000132, "output_cost_per_token_above_272k_tokens": 0.0000198, - "output_cost_per_token_priority": 0.000033, + "output_cost_per_token_above_272k_tokens_priority": 0.0000396, + "output_cost_per_token_priority": 0.0000264, "search_context_cost_per_query": { "search_context_size_high": 0.01, "search_context_size_low": 0.01, @@ -5426,6 +5604,11 @@ "max_tokens": 131072, "mode": "chat", "output_cost_per_token": 0.0000165, + "reasoning_effort_levels": [ + "low", + "high", + "max" + ], "source": "https://techcommunity.microsoft.com/blog/azure-ai-foundry-blog/introducing-kimi-k3-through-fireworks-ai-on-microsoft-foundry/4540187", "supported_modalities": [ "text", @@ -5509,7 +5692,7 @@ "max_tokens": 2048, "mode": "chat", "output_cost_per_token": 3.7e-7, - "source": "https://azuremarketplace.microsoft.com/en/marketplace/apps/metagenai.meta-llama-3-2-11b-vision-instruct-offer?tab=Overview", + "source": "https://marketplace.microsoft.com/en/marketplace/apps/metagenai.meta-llama-3-2-11b-vision-instruct-offer?tab=Overview", "supports_function_calling": true, "supports_tool_choice": true, "supports_vision": true @@ -5523,7 +5706,7 @@ "max_tokens": 2048, "mode": "chat", "output_cost_per_token": 0.00000204, - "source": "https://azuremarketplace.microsoft.com/en/marketplace/apps/metagenai.meta-llama-3-2-90b-vision-instruct-offer?tab=Overview", + "source": "https://marketplace.microsoft.com/en/marketplace/apps/metagenai.meta-llama-3-2-90b-vision-instruct-offer?tab=Overview", "supports_function_calling": true, "supports_tool_choice": true, "supports_vision": true @@ -5536,7 +5719,7 @@ "max_tokens": 2048, "mode": "chat", "output_cost_per_token": 7.1e-7, - "source": "https://azuremarketplace.microsoft.com/en/marketplace/apps/metagenai.llama-3-3-70b-instruct-offer?tab=Overview", + "source": "https://marketplace.microsoft.com/en/marketplace/apps/metagenai.llama-3-3-70b-instruct-offer?tab=Overview", "supports_function_calling": true, "supports_tool_choice": true }, @@ -5597,7 +5780,7 @@ "max_tokens": 2048, "mode": "chat", "output_cost_per_token": 0.000016, - "source": "https://azuremarketplace.microsoft.com/en-us/marketplace/apps/metagenai.meta-llama-3-1-405b-instruct-offer?tab=PlansAndPrice", + "source": "https://marketplace.microsoft.com/en-us/marketplace/apps/metagenai.meta-llama-3-1-405b-instruct-offer?tab=PlansAndPrice", "supports_tool_choice": true }, "azure_ai/Meta-Llama-3.1-70B-Instruct": { @@ -5608,7 +5791,7 @@ "max_tokens": 2048, "mode": "chat", "output_cost_per_token": 0.00000354, - "source": "https://azuremarketplace.microsoft.com/en-us/marketplace/apps/metagenai.meta-llama-3-1-70b-instruct-offer?tab=PlansAndPrice", + "source": "https://marketplace.microsoft.com/en-us/marketplace/apps/metagenai.meta-llama-3-1-70b-instruct-offer?tab=PlansAndPrice", "supports_tool_choice": true }, "azure_ai/Meta-Llama-3.1-8B-Instruct": { @@ -5620,7 +5803,7 @@ "max_tokens": 2048, "mode": "chat", "output_cost_per_token": 6.1e-7, - "source": "https://azuremarketplace.microsoft.com/en-us/marketplace/apps/metagenai.meta-llama-3-1-8b-instruct-offer?tab=PlansAndPrice", + "source": "https://marketplace.microsoft.com/en-us/marketplace/apps/metagenai.meta-llama-3-1-8b-instruct-offer?tab=PlansAndPrice", "supports_tool_choice": true }, "azure_ai/Phi-3-medium-128k-instruct": { @@ -5794,6 +5977,7 @@ "supports_reasoning": true }, "azure_ai/claude-fable-5": { + "deprecation_date": "2027-12-05", "supports_mid_conversation_system": true, "input_cost_per_token": 0.00001, "output_cost_per_token": 0.00005, @@ -5811,9 +5995,45 @@ "cache_creation_input_token_cost_above_1hr": 0.00002, "cache_read_input_token_cost": 0.000001, "supports_adaptive_thinking": true, + "thinking_always_on": true, + "supports_assistant_prefill": false, + "supports_computer_use": true, + "supports_function_calling": true, + "supports_pdf_input": true, + "supports_prompt_caching": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_sampling_params": false, + "supports_tool_choice": true, + "supports_vision": true, + "supports_xhigh_reasoning_effort": true, + "supports_max_reasoning_effort": true, + "prompt_cache_min_tokens": 512 + }, + "azure_ai/claude-fable-5-1": { + "supports_mid_conversation_system": true, + "input_cost_per_token": 0.00001, + "output_cost_per_token": 0.00005, + "litellm_provider": "azure_ai", + "max_input_tokens": 1000000, + "max_output_tokens": 128000, + "max_tokens": 128000, + "mode": "chat", + "search_context_cost_per_query": { + "search_context_size_high": 0.01, + "search_context_size_low": 0.01, + "search_context_size_medium": 0.01 + }, + "cache_creation_input_token_cost": 0.0000125, + "cache_creation_input_token_cost_above_1hr": 0.00002, + "cache_read_input_token_cost": 2.5e-7, + "supports_adaptive_thinking": true, + "thinking_always_on": true, "supports_assistant_prefill": false, "supports_computer_use": true, + "supports_forced_tool_use": false, "supports_function_calling": true, + "supports_native_structured_output": true, "supports_pdf_input": true, "supports_prompt_caching": true, "supports_reasoning": true, @@ -5822,7 +6042,8 @@ "supports_tool_choice": true, "supports_vision": true, "supports_xhigh_reasoning_effort": true, - "supports_max_reasoning_effort": true + "supports_max_reasoning_effort": true, + "prompt_cache_min_tokens": 512 }, "azure_ai/claude-haiku-4-5": { "deprecation_date": "2026-10-19", @@ -5844,7 +6065,8 @@ "supports_reasoning": true, "supports_response_schema": true, "supports_tool_choice": true, - "supports_vision": true + "supports_vision": true, + "prompt_cache_min_tokens": 4096 }, "azure_ai/claude-opus-4-1": { "deprecation_date": "2026-08-05", @@ -5866,7 +6088,8 @@ "supports_reasoning": true, "supports_response_schema": true, "supports_tool_choice": true, - "supports_vision": true + "supports_vision": true, + "prompt_cache_min_tokens": 1024 }, "azure_ai/claude-opus-4-5": { "deprecation_date": "2026-10-19", @@ -5889,11 +6112,13 @@ "supports_response_schema": true, "supports_tool_choice": true, "supports_vision": true, - "supports_output_config": true + "supports_output_config": true, + "prompt_cache_min_tokens": 4096 }, "azure_ai/claude-opus-4-6": { "deprecation_date": "2027-02-02", "supports_adaptive_thinking": true, + "supports_legacy_thinking": true, "input_cost_per_token": 0.000005, "output_cost_per_token": 0.000025, "litellm_provider": "azure_ai", @@ -5919,7 +6144,8 @@ "supports_tool_choice": true, "supports_vision": true, "supports_output_config": true, - "supports_max_reasoning_effort": true + "supports_max_reasoning_effort": true, + "prompt_cache_min_tokens": 4096 }, "azure_ai/claude-opus-4-7": { "deprecation_date": "2027-04-06", @@ -5950,9 +6176,11 @@ "supports_tool_choice": true, "supports_vision": true, "supports_xhigh_reasoning_effort": true, - "supports_max_reasoning_effort": true + "supports_max_reasoning_effort": true, + "prompt_cache_min_tokens": 2048 }, "azure_ai/claude-opus-4-8": { + "deprecation_date": "2027-09-01", "supports_mid_conversation_system": true, "supports_adaptive_thinking": true, "input_cost_per_token": 0.000005, @@ -5981,9 +6209,11 @@ "supports_tool_choice": true, "supports_vision": true, "supports_xhigh_reasoning_effort": true, - "supports_max_reasoning_effort": true + "supports_max_reasoning_effort": true, + "prompt_cache_min_tokens": 1024 }, "azure_ai/claude-opus-5": { + "deprecation_date": "2027-07-08", "supports_mid_conversation_system": true, "supports_adaptive_thinking": true, "input_cost_per_token": 0.000005, @@ -6035,11 +6265,13 @@ "supports_reasoning": true, "supports_response_schema": true, "supports_tool_choice": true, - "supports_vision": true + "supports_vision": true, + "prompt_cache_min_tokens": 1024 }, "azure_ai/claude-sonnet-4-6": { "deprecation_date": "2027-02-10", "supports_adaptive_thinking": true, + "supports_legacy_thinking": true, "cache_creation_input_token_cost": 0.00000375, "cache_creation_input_token_cost_above_1hr": 0.000006, "cache_read_input_token_cost": 3e-7, @@ -6060,9 +6292,11 @@ "supports_max_reasoning_effort": true, "supports_tool_choice": true, "supports_vision": true, - "supports_output_config": true + "supports_output_config": true, + "prompt_cache_min_tokens": 1024 }, "azure_ai/claude-sonnet-5": { + "deprecation_date": "2027-06-30", "supports_mid_conversation_system": true, "cache_creation_input_token_cost": 0.0000025, "cache_creation_input_token_cost_above_1hr": 0.000004, @@ -6091,7 +6325,8 @@ "supports_tool_choice": true, "supports_vision": true, "supports_xhigh_reasoning_effort": true, - "supports_max_reasoning_effort": true + "supports_max_reasoning_effort": true, + "prompt_cache_min_tokens": 1024 }, "azure_ai/deepseek-r1": { "deprecation_date": "2026-08-13", @@ -6188,6 +6423,22 @@ "supports_reasoning": true, "supports_tool_choice": true }, + "azure_ai/deepseek-v4-flash-0731": { + "cache_read_input_token_cost": 2.8e-8, + "deprecation_date": "2026-12-03", + "input_cost_per_token": 1.9e-7, + "litellm_provider": "azure_ai", + "max_input_tokens": 1000000, + "max_output_tokens": 128000, + "max_tokens": 128000, + "mode": "chat", + "output_cost_per_token": 5.1e-7, + "source": "https://azure.microsoft.com/en-us/pricing/details/ai-foundry-models/deepseek/", + "supports_function_calling": true, + "supports_prompt_caching": true, + "supports_reasoning": true, + "supports_tool_choice": true + }, "azure_ai/deepseek-v4-pro": { "deprecation_date": "2028-02-20", "input_cost_per_token": 0.00000174, @@ -6277,6 +6528,7 @@ "supports_vision": true, "supports_web_search": true, "supports_none_reasoning_effort": true, + "default_reasoning_effort": "none", "supports_xhigh_reasoning_effort": true, "supports_minimal_reasoning_effort": true }, @@ -6324,6 +6576,7 @@ "supports_vision": true, "supports_web_search": true, "supports_none_reasoning_effort": true, + "default_reasoning_effort": "none", "supports_xhigh_reasoning_effort": true, "supports_minimal_reasoning_effort": true }, @@ -6365,6 +6618,7 @@ "supports_vision": true, "supports_web_search": true, "supports_none_reasoning_effort": true, + "default_reasoning_effort": "none", "supports_xhigh_reasoning_effort": true, "supports_minimal_reasoning_effort": false }, @@ -6406,6 +6660,7 @@ "supports_vision": true, "supports_web_search": true, "supports_none_reasoning_effort": true, + "default_reasoning_effort": "none", "supports_xhigh_reasoning_effort": true, "supports_minimal_reasoning_effort": false }, @@ -6447,6 +6702,7 @@ "supports_vision": true, "supports_web_search": true, "supports_none_reasoning_effort": true, + "default_reasoning_effort": "none", "supports_xhigh_reasoning_effort": true, "supports_minimal_reasoning_effort": false }, @@ -6488,6 +6744,7 @@ "supports_vision": true, "supports_web_search": true, "supports_none_reasoning_effort": true, + "default_reasoning_effort": "none", "supports_xhigh_reasoning_effort": true, "supports_minimal_reasoning_effort": false }, @@ -6741,7 +6998,7 @@ "max_tokens": 8192, "mode": "chat", "output_cost_per_token": 0.00971, - "source": "https://azure.microsoft.com/en-us/products/ai-services/ai-foundry/models/jais-30b-chat" + "source": "https://ai.azure.com/catalog/models/jais-30b-chat" }, "azure_ai/jamba-instruct": { "input_cost_per_token": 5e-7, @@ -6798,7 +7055,7 @@ "max_tokens": 4096, "mode": "chat", "output_cost_per_token": 4e-8, - "source": "https://azuremarketplace.microsoft.com/en/marketplace/apps/000-000.ministral-3b-2410-offer?tab=Overview", + "source": "https://marketplace.microsoft.com/en/marketplace/apps/000-000.ministral-3b-2410-offer?tab=Overview", "supports_function_calling": true, "supports_tool_choice": true }, @@ -6821,7 +7078,7 @@ "max_tokens": 4096, "mode": "chat", "output_cost_per_token": 0.000006, - "source": "https://azuremarketplace.microsoft.com/en/marketplace/apps/000-000.mistral-ai-large-2407-offer?tab=Overview", + "source": "https://marketplace.microsoft.com/en/marketplace/apps/000-000.mistral-ai-large-2407-offer?tab=Overview", "supports_function_calling": true, "supports_tool_choice": true }, @@ -6846,7 +7103,7 @@ "max_tokens": 4096, "mode": "chat", "output_cost_per_token": 0.000006, - "source": "https://azuremarketplace.microsoft.com/en/marketplace/apps/000-000.mistral-ai-large-2407-offer?tab=Overview", + "source": "https://marketplace.microsoft.com/en/marketplace/apps/000-000.mistral-ai-large-2407-offer?tab=Overview", "supports_function_calling": true, "supports_tool_choice": true }, @@ -6870,7 +7127,7 @@ "max_tokens": 4096, "mode": "chat", "output_cost_per_token": 1.5e-7, - "source": "https://azuremarketplace.microsoft.com/en/marketplace/apps/000-000.mistral-nemo-12b-2407?tab=PlansAndPrice", + "source": "https://marketplace.microsoft.com/en/marketplace/apps/000-000.mistral-nemo-12b-2407?tab=PlansAndPrice", "supports_function_calling": true }, "azure_ai/mistral-small": { @@ -6901,7 +7158,7 @@ "output_cost_per_token": 0, "litellm_provider": "azure_ai", "mode": "chat", - "source": "https://azure.microsoft.com/en-us/pricing/details/ai-services/", + "source": "https://azure.microsoft.com/en-us/pricing/details/ai-foundry-models/aoai/", "comment": "Flat cost of $0.14 per M input tokens for Azure AI Foundry Model Router infrastructure. Use pattern: azure_ai/model_router/ where deployment-name is your Azure deployment (e.g., azure-model-router)" }, "baseten/MiniMaxAI/MiniMax-M2.5": { @@ -8859,6 +9116,105 @@ "supports_tool_choice": true, "supports_vision": true }, + "bedrock_mantle/openai.gpt-5.6-luna": { + "input_cost_per_token": 2.2e-7, + "input_cost_per_token_above_272k_tokens": 4.4e-7, + "cache_creation_input_token_cost": 2.75e-7, + "cache_creation_input_token_cost_above_272k_tokens": 5.5e-7, + "cache_read_input_token_cost": 2.2e-8, + "cache_read_input_token_cost_above_272k_tokens": 4.4e-8, + "output_cost_per_token": 0.00000132, + "output_cost_per_token_above_272k_tokens": 0.00000198, + "litellm_provider": "bedrock_mantle", + "max_input_tokens": 1050000, + "max_output_tokens": 128000, + "max_tokens": 128000, + "mode": "responses", + "use_openai_responses_path": true, + "supported_endpoints": [ + "/v1/chat/completions", + "/v1/responses" + ], + "supported_modalities": [ + "text", + "image" + ], + "supported_output_modalities": [ + "text" + ], + "supports_function_calling": true, + "supports_prompt_caching": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_tool_choice": true, + "supports_vision": true + }, + "bedrock_mantle/openai.gpt-5.6-sol": { + "input_cost_per_token": 0.0000055, + "input_cost_per_token_above_272k_tokens": 0.000011, + "cache_creation_input_token_cost": 0.000006875, + "cache_creation_input_token_cost_above_272k_tokens": 0.00001375, + "cache_read_input_token_cost": 5.5e-7, + "cache_read_input_token_cost_above_272k_tokens": 0.0000011, + "output_cost_per_token": 0.000033, + "output_cost_per_token_above_272k_tokens": 0.0000495, + "litellm_provider": "bedrock_mantle", + "max_input_tokens": 1050000, + "max_output_tokens": 128000, + "max_tokens": 128000, + "mode": "responses", + "use_openai_responses_path": true, + "supported_endpoints": [ + "/v1/chat/completions", + "/v1/responses" + ], + "supported_modalities": [ + "text", + "image" + ], + "supported_output_modalities": [ + "text" + ], + "supports_function_calling": true, + "supports_prompt_caching": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_tool_choice": true, + "supports_vision": true + }, + "bedrock_mantle/openai.gpt-5.6-terra": { + "input_cost_per_token": 0.0000022, + "input_cost_per_token_above_272k_tokens": 0.0000044, + "cache_creation_input_token_cost": 0.00000275, + "cache_creation_input_token_cost_above_272k_tokens": 0.0000055, + "cache_read_input_token_cost": 2.2e-7, + "cache_read_input_token_cost_above_272k_tokens": 4.4e-7, + "output_cost_per_token": 0.0000132, + "output_cost_per_token_above_272k_tokens": 0.0000198, + "litellm_provider": "bedrock_mantle", + "max_input_tokens": 1050000, + "max_output_tokens": 128000, + "max_tokens": 128000, + "mode": "responses", + "use_openai_responses_path": true, + "supported_endpoints": [ + "/v1/chat/completions", + "/v1/responses" + ], + "supported_modalities": [ + "text", + "image" + ], + "supported_output_modalities": [ + "text" + ], + "supports_function_calling": true, + "supports_prompt_caching": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_tool_choice": true, + "supports_vision": true + }, "bedrock_mantle/openai.gpt-oss-120b": { "input_cost_per_token": 1.5e-7, "output_cost_per_token": 6e-7, @@ -8969,6 +9325,22 @@ "supports_tool_choice": true, "supports_vision": true }, + "cerebras/gemma-4-31b": { + "input_cost_per_token": 9.9e-7, + "litellm_provider": "cerebras", + "max_input_tokens": 131072, + "max_output_tokens": 40960, + "max_tokens": 40960, + "mode": "chat", + "output_cost_per_token": 0.00000149, + "source": "https://api.cerebras.ai/public/v1/models/gemma-4-31b", + "supports_function_calling": true, + "supports_parallel_function_calling": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_tool_choice": true, + "supports_vision": true + }, "cerebras/gpt-oss-120b": { "input_cost_per_token": 3.5e-7, "litellm_provider": "cerebras", @@ -9045,6 +9417,7 @@ "supports_tool_choice": true }, "cerebras/zai-glm-4.7": { + "deprecation_date": "2026-08-17", "input_cost_per_token": 0.00000225, "litellm_provider": "cerebras", "max_input_tokens": 128000, @@ -9057,6 +9430,38 @@ "supports_reasoning": true, "supports_tool_choice": true }, + "chat-latest": { + "cache_read_input_token_cost": 5e-7, + "input_cost_per_token": 0.000005, + "litellm_provider": "openai", + "max_input_tokens": 400000, + "max_output_tokens": 128000, + "max_tokens": 128000, + "mode": "chat", + "output_cost_per_token": 0.00003, + "source": "https://developers.openai.com/api/docs/models/chat-latest", + "supported_endpoints": [ + "/v1/chat/completions", + "/v1/responses" + ], + "supported_modalities": [ + "text", + "image" + ], + "supported_output_modalities": [ + "text" + ], + "supports_function_calling": true, + "supports_native_streaming": true, + "supports_parallel_function_calling": true, + "supports_pdf_input": true, + "supports_prompt_caching": true, + "supports_response_schema": true, + "supports_system_messages": true, + "supports_tool_choice": true, + "supports_vision": true, + "supports_web_search": true + }, "chatdolphin": { "input_cost_per_token": 5e-7, "litellm_provider": "nlp_cloud", @@ -9173,7 +9578,7 @@ }, "claude-3-haiku-20240307": { "cache_creation_input_token_cost": 3e-7, - "cache_creation_input_token_cost_above_1hr": 0.000006, + "cache_creation_input_token_cost_above_1hr": 5e-7, "cache_read_input_token_cost": 3e-8, "deprecation_date": "2026-04-20", "input_cost_per_token": 2.5e-7, @@ -9192,7 +9597,7 @@ }, "claude-3-opus-20240229": { "cache_creation_input_token_cost": 0.00001875, - "cache_creation_input_token_cost_above_1hr": 0.000006, + "cache_creation_input_token_cost_above_1hr": 0.00003, "cache_read_input_token_cost": 0.0000015, "deprecation_date": "2026-01-05", "input_cost_per_token": 0.000015, @@ -9286,6 +9691,7 @@ "search_context_size_medium": 0.01 }, "supports_adaptive_thinking": true, + "thinking_always_on": true, "supports_mid_conversation_system": true, "supports_assistant_prefill": false, "supports_computer_use": true, @@ -9303,7 +9709,50 @@ "us": 1.1 }, "supports_output_config": true, - "prompt_cache_min_tokens": 512 + "prompt_cache_min_tokens": 512, + "supports_native_structured_output": true, + "source": "https://docs.anthropic.com/en/docs/about-claude/models/overview" + }, + "claude-fable-5-1": { + "deprecation_date": "2027-09-01", + "cache_creation_input_token_cost": 0.0000125, + "cache_creation_input_token_cost_above_1hr": 0.00002, + "cache_read_input_token_cost": 2.5e-7, + "input_cost_per_token": 0.00001, + "litellm_provider": "anthropic", + "max_input_tokens": 1000000, + "max_output_tokens": 128000, + "max_tokens": 128000, + "mode": "chat", + "output_cost_per_token": 0.00005, + "search_context_cost_per_query": { + "search_context_size_high": 0.01, + "search_context_size_low": 0.01, + "search_context_size_medium": 0.01 + }, + "supports_adaptive_thinking": true, + "thinking_always_on": true, + "supports_mid_conversation_system": true, + "supports_assistant_prefill": false, + "supports_computer_use": true, + "supports_forced_tool_use": false, + "supports_function_calling": true, + "supports_pdf_input": true, + "supports_prompt_caching": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_sampling_params": false, + "supports_tool_choice": true, + "supports_vision": true, + "supports_xhigh_reasoning_effort": true, + "supports_max_reasoning_effort": true, + "provider_specific_entry": { + "us": 1.1 + }, + "supports_output_config": true, + "prompt_cache_min_tokens": 512, + "supports_native_structured_output": true, + "source": "https://platform.claude.com/docs/en/models/fable-5-1/overview" }, "claude-haiku-4-5": { "deprecation_date": "2026-10-15", @@ -9370,8 +9819,9 @@ "search_context_size_low": 0.01, "search_context_size_medium": 0.01 }, - "source": "https://docs.claude.com/en/docs/about-claude/models/overview", + "source": "https://platform.claude.com/docs/en/about-claude/models/overview", "supports_adaptive_thinking": true, + "thinking_always_on": true, "supports_mid_conversation_system": true, "supports_assistant_prefill": false, "supports_computer_use": true, @@ -9385,7 +9835,11 @@ "supports_sampling_params": false, "supports_tool_choice": true, "supports_vision": true, - "supports_xhigh_reasoning_effort": true + "supports_xhigh_reasoning_effort": true, + "supports_native_structured_output": true, + "provider_specific_entry": { + "us": 1.1 + } }, "claude-mythos-preview": { "cache_creation_input_token_cost": 0.0000125, @@ -9404,8 +9858,9 @@ "search_context_size_low": 0.01, "search_context_size_medium": 0.01 }, - "source": "https://docs.claude.com/en/docs/about-claude/models/overview", + "source": "https://platform.claude.com/docs/en/about-claude/models/overview", "supports_adaptive_thinking": true, + "thinking_always_on": true, "supports_assistant_prefill": false, "supports_computer_use": true, "supports_function_calling": true, @@ -9418,7 +9873,11 @@ "supports_sampling_params": false, "supports_tool_choice": true, "supports_vision": true, - "supports_xhigh_reasoning_effort": true + "supports_xhigh_reasoning_effort": true, + "supports_native_structured_output": true, + "provider_specific_entry": { + "us": 1.1 + } }, "claude-opus-4-1": { "cache_creation_input_token_cost": 0.00001875, @@ -9584,6 +10043,7 @@ "search_context_size_medium": 0.01 }, "supports_adaptive_thinking": true, + "supports_legacy_thinking": true, "supports_assistant_prefill": false, "supports_computer_use": true, "supports_function_calling": true, @@ -9595,8 +10055,7 @@ "supports_tool_choice": true, "supports_vision": true, "provider_specific_entry": { - "us": 1.1, - "fast": 6 + "us": 1.1 }, "supports_output_config": true, "supports_max_reasoning_effort": true, @@ -9621,6 +10080,7 @@ "search_context_size_medium": 0.01 }, "supports_adaptive_thinking": true, + "supports_legacy_thinking": true, "supports_assistant_prefill": false, "supports_computer_use": true, "supports_function_calling": true, @@ -9632,8 +10092,7 @@ "supports_tool_choice": true, "supports_vision": true, "provider_specific_entry": { - "us": 1.1, - "fast": 6 + "us": 1.1 }, "supports_max_reasoning_effort": true, "supports_output_config": true, @@ -9672,8 +10131,7 @@ "supports_xhigh_reasoning_effort": true, "supports_max_reasoning_effort": true, "provider_specific_entry": { - "us": 1.1, - "fast": 6 + "us": 1.1 }, "supports_output_config": true, "supports_speed": true, @@ -9711,8 +10169,7 @@ "supports_xhigh_reasoning_effort": true, "supports_max_reasoning_effort": true, "provider_specific_entry": { - "us": 1.1, - "fast": 6 + "us": 1.1 }, "supports_output_config": true, "supports_speed": true, @@ -9796,7 +10253,8 @@ }, "supports_output_config": true, "supports_speed": true, - "prompt_cache_min_tokens": 512 + "prompt_cache_min_tokens": 512, + "source": "https://docs.anthropic.com/en/docs/about-claude/models/overview" }, "claude-sonnet-4-20250514": { "deprecation_date": "2026-06-15", @@ -9926,7 +10384,9 @@ "supports_tool_choice": true, "supports_vision": true, "supports_parallel_tool_use_config": true, - "prompt_cache_min_tokens": 1024 + "prompt_cache_min_tokens": 1024, + "input_cost_per_token_batches": 0.0000015, + "output_cost_per_token_batches": 0.0000075 }, "claude-sonnet-4-6": { "deprecation_date": "2027-02-17", @@ -9936,8 +10396,8 @@ "input_cost_per_token": 0.000003, "litellm_provider": "anthropic", "max_input_tokens": 1000000, - "max_output_tokens": 64000, - "max_tokens": 64000, + "max_output_tokens": 128000, + "max_tokens": 128000, "mode": "chat", "output_cost_per_token": 0.000015, "search_context_cost_per_query": { @@ -9946,6 +10406,7 @@ "search_context_size_medium": 0.01 }, "supports_adaptive_thinking": true, + "supports_legacy_thinking": true, "supports_assistant_prefill": true, "supports_computer_use": true, "supports_function_calling": true, @@ -9958,7 +10419,10 @@ "supports_tool_choice": true, "supports_vision": true, "supports_output_config": true, - "prompt_cache_min_tokens": 1024 + "prompt_cache_min_tokens": 1024, + "provider_specific_entry": { + "us": 1.1 + } }, "claude-sonnet-5": { "deprecation_date": "2027-06-30", @@ -9996,7 +10460,8 @@ "us": 1.1 }, "supports_output_config": true, - "prompt_cache_min_tokens": 1024 + "prompt_cache_min_tokens": 1024, + "source": "https://docs.anthropic.com/en/docs/about-claude/models/overview" }, "cloudflare/@cf/aisingapore/gemma-sea-lion-v4-27b-it": { "input_cost_per_token": 3.51e-7, @@ -10320,6 +10785,36 @@ "supports_assistant_prefill": true, "supports_tool_choice": true }, + "cognition/swe-1.6": { + "input_cost_per_token": 5e-7, + "output_cost_per_token": 0.0000025, + "cache_read_input_token_cost": 2e-7, + "litellm_provider": "cognition", + "mode": "chat", + "supports_function_calling": true, + "supports_prompt_caching": true, + "source": "https://docs.devin.ai/windsurf/plugins/cascade/models" + }, + "cognition/swe-1.7": { + "input_cost_per_token": 5e-7, + "output_cost_per_token": 0.0000025, + "cache_read_input_token_cost": 2e-7, + "litellm_provider": "cognition", + "mode": "chat", + "supports_function_calling": true, + "supports_prompt_caching": true, + "source": "https://docs.devin.ai/desktop/models" + }, + "cognition/swe-1.7-lightning": { + "input_cost_per_token": 0.0000025, + "output_cost_per_token": 0.0000125, + "cache_read_input_token_cost": 0.000001, + "litellm_provider": "cognition", + "mode": "chat", + "supports_function_calling": true, + "supports_prompt_caching": true, + "source": "https://docs.devin.ai/desktop/models" + }, "cohere.command-light-text-v14": { "input_cost_per_token": 3e-7, "litellm_provider": "bedrock", @@ -10381,7 +10876,8 @@ "max_tokens": 4096, "mode": "chat", "output_cost_per_token": 6e-7, - "supports_tool_choice": true + "supports_tool_choice": true, + "deprecation_date": "2025-09-15" }, "command-r": { "input_cost_per_token": 1.5e-7, @@ -10392,7 +10888,8 @@ "mode": "chat", "output_cost_per_token": 6e-7, "supports_function_calling": true, - "supports_tool_choice": true + "supports_tool_choice": true, + "deprecation_date": "2025-09-15" }, "command-r-08-2024": { "input_cost_per_token": 1.5e-7, @@ -10414,7 +10911,8 @@ "mode": "chat", "output_cost_per_token": 0.00001, "supports_function_calling": true, - "supports_tool_choice": true + "supports_tool_choice": true, + "deprecation_date": "2025-09-15" }, "command-r-plus-08-2024": { "input_cost_per_token": 0.0000025, @@ -11513,6 +12011,8 @@ "supports_tool_choice": true }, "databricks/databricks-claude-3-7-sonnet": { + "cache_creation_input_token_cost": 0.00000374997, + "cache_read_input_token_cost": 3.0002e-7, "input_cost_per_token": 0.0000029999900000000002, "input_dbu_cost_per_token": 0.000042857, "litellm_provider": "databricks", @@ -11528,10 +12028,41 @@ "source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving", "supports_assistant_prefill": true, "supports_function_calling": true, + "supports_prompt_caching": true, "supports_reasoning": true, "supports_tool_choice": true }, + "databricks/databricks-claude-fable-5": { + "cache_creation_input_token_cost": 0.00001250004, + "cache_read_input_token_cost": 0.00000100002, + "input_cost_per_token": 0.00001000006, + "input_dbu_cost_per_token": 0.000142858, + "litellm_provider": "databricks", + "max_input_tokens": 1000000, + "max_output_tokens": 128000, + "max_tokens": 128000, + "metadata": { + "notes": "Costs per token are the published Global DBU rates times $0.070 per DBU. The '*_dbu_cost_per_token' fields are provided for reference; cost calculation reads the dollar '*_cost_per_token' fields." + }, + "mode": "chat", + "output_cost_per_token": 0.00005000002, + "output_dbu_cost_per_token": 0.000714286, + "prompt_cache_min_tokens": 512, + "source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving", + "supports_adaptive_thinking": true, + "supports_assistant_prefill": false, + "supports_function_calling": true, + "supports_mid_conversation_system": true, + "supports_prompt_caching": true, + "supports_reasoning": true, + "supports_sampling_params": false, + "supports_tool_choice": true, + "supports_vision": false, + "thinking_always_on": true + }, "databricks/databricks-claude-haiku-4-5": { + "cache_creation_input_token_cost": 0.00000124999, + "cache_read_input_token_cost": 1.0003e-7, "input_cost_per_token": 0.00000100002, "input_dbu_cost_per_token": 0.000014286, "litellm_provider": "databricks", @@ -11547,10 +12078,14 @@ "source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving", "supports_assistant_prefill": true, "supports_function_calling": true, + "supports_prompt_caching": true, "supports_reasoning": true, - "supports_tool_choice": true + "supports_tool_choice": true, + "prompt_cache_min_tokens": 4096 }, "databricks/databricks-claude-opus-4": { + "cache_creation_input_token_cost": 0.00001874999, + "cache_read_input_token_cost": 0.00000150003, "input_cost_per_token": 0.000015000020000000002, "input_dbu_cost_per_token": 0.000214286, "litellm_provider": "databricks", @@ -11566,10 +12101,14 @@ "source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving", "supports_assistant_prefill": true, "supports_function_calling": true, + "supports_prompt_caching": true, "supports_reasoning": true, - "supports_tool_choice": true + "supports_tool_choice": true, + "prompt_cache_min_tokens": 1024 }, "databricks/databricks-claude-opus-4-1": { + "cache_creation_input_token_cost": 0.00001874999, + "cache_read_input_token_cost": 0.00000150003, "input_cost_per_token": 0.000015000020000000002, "input_dbu_cost_per_token": 0.000214286, "litellm_provider": "databricks", @@ -11585,10 +12124,14 @@ "source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving", "supports_assistant_prefill": true, "supports_function_calling": true, + "supports_prompt_caching": true, "supports_reasoning": true, - "supports_tool_choice": true + "supports_tool_choice": true, + "prompt_cache_min_tokens": 1024 }, "databricks/databricks-claude-opus-4-5": { + "cache_creation_input_token_cost": 0.00000625002, + "cache_read_input_token_cost": 5.0001e-7, "input_cost_per_token": 0.00000500003, "input_dbu_cost_per_token": 0.000071429, "litellm_provider": "databricks", @@ -11604,11 +12147,15 @@ "source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving", "supports_assistant_prefill": true, "supports_function_calling": true, + "supports_prompt_caching": true, "supports_reasoning": true, "supports_tool_choice": true, - "supports_output_config": true + "supports_output_config": true, + "prompt_cache_min_tokens": 4096 }, "databricks/databricks-claude-opus-4-6": { + "cache_creation_input_token_cost": 0.00000625002, + "cache_read_input_token_cost": 5.0001e-7, "input_cost_per_token": 0.00000500003, "input_dbu_cost_per_token": 0.000071429, "litellm_provider": "databricks", @@ -11624,10 +12171,95 @@ "source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving", "supports_assistant_prefill": true, "supports_function_calling": true, + "supports_legacy_thinking": true, + "supports_prompt_caching": true, "supports_reasoning": true, - "supports_tool_choice": true + "supports_tool_choice": true, + "prompt_cache_min_tokens": 4096 + }, + "databricks/databricks-claude-opus-4-7": { + "cache_creation_input_token_cost": 0.00000625002, + "cache_read_input_token_cost": 5.0001e-7, + "input_cost_per_token": 0.00000500003, + "input_dbu_cost_per_token": 0.000071429, + "litellm_provider": "databricks", + "max_input_tokens": 1000000, + "max_output_tokens": 128000, + "max_tokens": 128000, + "metadata": { + "notes": "Costs per token are the published Global DBU rates times $0.070 per DBU. The '*_dbu_cost_per_token' fields are provided for reference; cost calculation reads the dollar '*_cost_per_token' fields." + }, + "mode": "chat", + "output_cost_per_token": 0.00002500001, + "output_dbu_cost_per_token": 0.000357143, + "prompt_cache_min_tokens": 2048, + "source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving", + "supports_adaptive_thinking": true, + "supports_assistant_prefill": false, + "supports_function_calling": true, + "supports_prompt_caching": true, + "supports_reasoning": true, + "supports_sampling_params": false, + "supports_tool_choice": true, + "supports_vision": true + }, + "databricks/databricks-claude-opus-4-8": { + "cache_creation_input_token_cost": 0.00000625002, + "cache_read_input_token_cost": 5.0001e-7, + "input_cost_per_token": 0.00000500003, + "input_dbu_cost_per_token": 0.000071429, + "litellm_provider": "databricks", + "max_input_tokens": 1000000, + "max_output_tokens": 128000, + "max_tokens": 128000, + "metadata": { + "notes": "Costs per token are the published Global DBU rates times $0.070 per DBU. The '*_dbu_cost_per_token' fields are provided for reference; cost calculation reads the dollar '*_cost_per_token' fields." + }, + "mode": "chat", + "output_cost_per_token": 0.00002500001, + "output_dbu_cost_per_token": 0.000357143, + "prompt_cache_min_tokens": 1024, + "source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving", + "supports_adaptive_thinking": true, + "supports_assistant_prefill": false, + "supports_function_calling": true, + "supports_mid_conversation_system": true, + "supports_prompt_caching": true, + "supports_reasoning": true, + "supports_sampling_params": false, + "supports_tool_choice": true, + "supports_vision": true + }, + "databricks/databricks-claude-opus-5": { + "cache_creation_input_token_cost": 0.00000625002, + "cache_read_input_token_cost": 5.0001e-7, + "input_cost_per_token": 0.00000500003, + "input_dbu_cost_per_token": 0.000071429, + "litellm_provider": "databricks", + "max_input_tokens": 1000000, + "max_output_tokens": 128000, + "max_tokens": 128000, + "metadata": { + "notes": "Costs per token are the published Global DBU rates times $0.070 per DBU. The '*_dbu_cost_per_token' fields are provided for reference; cost calculation reads the dollar '*_cost_per_token' fields." + }, + "mode": "chat", + "output_cost_per_token": 0.00002500001, + "output_dbu_cost_per_token": 0.000357143, + "prompt_cache_min_tokens": 512, + "source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving", + "supports_adaptive_thinking": true, + "supports_assistant_prefill": false, + "supports_function_calling": true, + "supports_mid_conversation_system": true, + "supports_prompt_caching": true, + "supports_reasoning": true, + "supports_sampling_params": false, + "supports_tool_choice": true, + "supports_vision": true }, "databricks/databricks-claude-sonnet-4": { + "cache_creation_input_token_cost": 0.00000374997, + "cache_read_input_token_cost": 3.0002e-7, "input_cost_per_token": 0.0000029999900000000002, "input_dbu_cost_per_token": 0.000042857, "litellm_provider": "databricks", @@ -11643,10 +12275,14 @@ "source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving", "supports_assistant_prefill": true, "supports_function_calling": true, + "supports_prompt_caching": true, "supports_reasoning": true, - "supports_tool_choice": true + "supports_tool_choice": true, + "prompt_cache_min_tokens": 1024 }, "databricks/databricks-claude-sonnet-4-1": { + "cache_creation_input_token_cost": 0.00000374997, + "cache_read_input_token_cost": 3.0002e-7, "input_cost_per_token": 0.0000029999900000000002, "input_dbu_cost_per_token": 0.000042857, "litellm_provider": "databricks", @@ -11662,10 +12298,13 @@ "source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving", "supports_assistant_prefill": true, "supports_function_calling": true, + "supports_prompt_caching": true, "supports_reasoning": true, "supports_tool_choice": true }, "databricks/databricks-claude-sonnet-4-5": { + "cache_creation_input_token_cost": 0.00000374997, + "cache_read_input_token_cost": 3.0002e-7, "input_cost_per_token": 0.0000029999900000000002, "input_dbu_cost_per_token": 0.000042857, "litellm_provider": "databricks", @@ -11681,10 +12320,14 @@ "source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving", "supports_assistant_prefill": true, "supports_function_calling": true, + "supports_prompt_caching": true, "supports_reasoning": true, - "supports_tool_choice": true + "supports_tool_choice": true, + "prompt_cache_min_tokens": 1024 }, "databricks/databricks-claude-sonnet-4-6": { + "cache_creation_input_token_cost": 0.00000374997, + "cache_read_input_token_cost": 3.0002e-7, "input_cost_per_token": 0.0000029999900000000002, "input_dbu_cost_per_token": 0.000042857, "litellm_provider": "databricks", @@ -11700,10 +12343,98 @@ "source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving", "supports_assistant_prefill": true, "supports_function_calling": true, + "supports_legacy_thinking": true, + "supports_prompt_caching": true, "supports_reasoning": true, - "supports_tool_choice": true + "supports_tool_choice": true, + "prompt_cache_min_tokens": 1024 + }, + "databricks/databricks-claude-sonnet-5": { + "cache_creation_input_token_cost": 0.00000374997, + "cache_read_input_token_cost": 3.0002e-7, + "input_cost_per_token": 0.00000299999, + "input_dbu_cost_per_token": 0.000042857, + "litellm_provider": "databricks", + "max_input_tokens": 1000000, + "max_output_tokens": 128000, + "max_tokens": 128000, + "metadata": { + "notes": "Costs per token are the published Global DBU rates times $0.070 per DBU. The '*_dbu_cost_per_token' fields are provided for reference; cost calculation reads the dollar '*_cost_per_token' fields. Introductory launch rates of 28.571 input / 142.857 output / 35.714 cache write / 2.857 cache read DBU run through 2026-08-31; the standard rates are listed here because entries carry no expiry date." + }, + "mode": "chat", + "output_cost_per_token": 0.00001500002, + "output_dbu_cost_per_token": 0.000214286, + "prompt_cache_min_tokens": 1024, + "source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving", + "supports_adaptive_thinking": true, + "supports_assistant_prefill": false, + "supports_function_calling": true, + "supports_mid_conversation_system": true, + "supports_prompt_caching": true, + "supports_reasoning": true, + "supports_sampling_params": false, + "supports_tool_choice": true, + "supports_vision": true + }, + "databricks/databricks-deepseek-v4-flash-0731": { + "cache_creation_input_token_cost": 1.4e-7, + "cache_read_input_token_cost": 2.8e-8, + "input_cost_per_token": 1.4e-7, + "input_dbu_cost_per_token": 0.000002, + "litellm_provider": "databricks", + "max_input_tokens": 1000000, + "max_output_tokens": 393216, + "max_tokens": 393216, + "metadata": { + "notes": "Input/output cost per token is dbu cost * $0.070. Billing reads the per-token dollar fields; the '*_dbu_cost_per_token' fields are the published Databricks rates, kept for reference. Context/max output are the DeepSeek-published model limits (1M context, 384K max output)." + }, + "mode": "chat", + "output_cost_per_token": 2.8e-7, + "output_dbu_cost_per_token": 0.000004, + "source": "https://www.databricks.com/product/pricing/foundation-model-serving", + "supported_modalities": [ + "text" + ], + "supported_output_modalities": [ + "text" + ], + "supports_function_calling": true, + "supports_prompt_caching": true, + "supports_reasoning": true, + "supports_tool_choice": true, + "supports_vision": false + }, + "databricks/databricks-deepseek-v4-pro-0813": { + "cache_creation_input_token_cost": 0.00000131999, + "cache_read_input_token_cost": 1.3202e-7, + "input_cost_per_token": 0.00000131999, + "input_dbu_cost_per_token": 0.000018857, + "litellm_provider": "databricks", + "max_input_tokens": 1000000, + "max_output_tokens": 393216, + "max_tokens": 393216, + "metadata": { + "notes": "Input/output cost per token is dbu cost * $0.070. Billing reads the per-token dollar fields; the '*_dbu_cost_per_token' fields are the published Databricks rates, kept for reference. Context/max output are the DeepSeek-published model limits (1M context, 384K max output)." + }, + "mode": "chat", + "output_cost_per_token": 0.00000395997, + "output_dbu_cost_per_token": 0.000056571, + "source": "https://www.databricks.com/product/pricing/foundation-model-serving", + "supported_modalities": [ + "text" + ], + "supported_output_modalities": [ + "text" + ], + "supports_function_calling": true, + "supports_prompt_caching": true, + "supports_reasoning": true, + "supports_tool_choice": true, + "supports_vision": false }, "databricks/databricks-gemini-2-5-flash": { + "cache_creation_input_token_cost": 3.0002e-7, + "cache_read_input_token_cost": 3.0002e-8, "input_cost_per_token": 3.0001999999999996e-7, "input_dbu_cost_per_token": 0.000004285999999999999, "litellm_provider": "databricks", @@ -11718,9 +12449,12 @@ "output_dbu_cost_per_token": 0.000035714, "source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving", "supports_function_calling": true, + "supports_prompt_caching": true, "supports_tool_choice": true }, "databricks/databricks-gemini-2-5-pro": { + "cache_creation_input_token_cost": 0.00000124999, + "cache_read_input_token_cost": 1.24999e-7, "input_cost_per_token": 0.00000124999, "input_dbu_cost_per_token": 0.000017857, "litellm_provider": "databricks", @@ -11735,9 +12469,12 @@ "output_dbu_cost_per_token": 0.000142857, "source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving", "supports_function_calling": true, + "supports_prompt_caching": true, "supports_tool_choice": true }, "databricks/databricks-gemini-3-1-flash-lite": { + "cache_creation_input_token_cost": 3.1248e-7, + "cache_read_input_token_cost": 3.122e-8, "input_cost_per_token": 3.1248e-7, "input_dbu_cost_per_token": 0.000004464, "litellm_provider": "databricks", @@ -11752,9 +12489,12 @@ "output_dbu_cost_per_token": 0.000026786, "source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving", "supports_function_calling": true, + "supports_prompt_caching": true, "supports_tool_choice": true }, "databricks/databricks-gemini-3-1-pro": { + "cache_creation_input_token_cost": 0.00000249998, + "cache_read_input_token_cost": 2.4997e-7, "input_cost_per_token": 0.00000249998, "input_dbu_cost_per_token": 0.000035714, "litellm_provider": "databricks", @@ -11769,9 +12509,12 @@ "output_dbu_cost_per_token": 0.000214286, "source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving", "supports_function_calling": true, + "supports_prompt_caching": true, "supports_tool_choice": true }, "databricks/databricks-gemini-3-flash": { + "cache_creation_input_token_cost": 6.2503e-7, + "cache_read_input_token_cost": 6.251e-8, "input_cost_per_token": 6.2503e-7, "input_dbu_cost_per_token": 0.000008929, "litellm_provider": "databricks", @@ -11786,9 +12529,12 @@ "output_dbu_cost_per_token": 0.000053571, "source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving", "supports_function_calling": true, + "supports_prompt_caching": true, "supports_tool_choice": true }, "databricks/databricks-gemini-3-pro": { + "cache_creation_input_token_cost": 0.00000249998, + "cache_read_input_token_cost": 2.4997e-7, "input_cost_per_token": 0.00000249998, "input_dbu_cost_per_token": 0.000035714, "litellm_provider": "databricks", @@ -11803,9 +12549,12 @@ "output_dbu_cost_per_token": 0.000214286, "source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving", "supports_function_calling": true, + "supports_prompt_caching": true, "supports_tool_choice": true }, "databricks/databricks-gemma-3-12b": { + "cache_creation_input_token_cost": 1.5001e-7, + "cache_read_input_token_cost": 1.5001e-7, "input_cost_per_token": 1.5000999999999998e-7, "input_dbu_cost_per_token": 0.0000021429999999999996, "litellm_provider": "databricks", @@ -11820,7 +12569,60 @@ "output_dbu_cost_per_token": 0.000007143, "source": "https://www.databricks.com/product/pricing/foundation-model-serving" }, + "databricks/databricks-glm-5-2": { + "cache_creation_input_token_cost": 0.0000014, + "cache_read_input_token_cost": 2.5998e-7, + "input_cost_per_token": 0.0000014, + "input_dbu_cost_per_token": 0.00002, + "litellm_provider": "databricks", + "max_input_tokens": 1000000, + "max_output_tokens": 131072, + "max_tokens": 131072, + "metadata": { + "notes": "Input/output cost per token is dbu cost * $0.070. Billing reads the per-token dollar fields; the '*_dbu_cost_per_token' fields are the published Databricks rates, kept for reference." + }, + "mode": "chat", + "output_cost_per_token": 0.00000439999, + "output_dbu_cost_per_token": 0.000062857, + "source": "https://www.databricks.com/product/pricing/foundation-model-serving", + "supported_modalities": [ + "text" + ], + "supported_output_modalities": [ + "text" + ], + "supports_function_calling": true, + "supports_prompt_caching": true, + "supports_reasoning": true, + "supports_tool_choice": true, + "supports_vision": false + }, + "databricks/databricks-glm-5-3-flash": { + "litellm_provider": "databricks", + "max_input_tokens": 1048576, + "max_output_tokens": 131072, + "max_tokens": 131072, + "metadata": { + "notes": "Databricks has not published pay-per-token DBU rates for this model yet (not on the foundation-model-serving pricing page as of 2026-08-27), so cost fields are omitted until rates are published." + }, + "mode": "chat", + "source": "https://docs.databricks.com/aws/en/machine-learning/foundation-model-apis/supported-models", + "supported_modalities": [ + "text", + "image" + ], + "supported_output_modalities": [ + "text" + ], + "supports_function_calling": true, + "supports_prompt_caching": true, + "supports_reasoning": true, + "supports_tool_choice": true, + "supports_vision": true + }, "databricks/databricks-gpt-5": { + "cache_creation_input_token_cost": 0.00000124999, + "cache_read_input_token_cost": 1.2502e-7, "input_cost_per_token": 0.00000124999, "input_dbu_cost_per_token": 0.000017857, "litellm_provider": "databricks", @@ -11833,9 +12635,12 @@ "mode": "chat", "output_cost_per_token": 0.000009999990000000002, "output_dbu_cost_per_token": 0.000142857, - "source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving" + "source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving", + "supports_prompt_caching": true }, "databricks/databricks-gpt-5-1": { + "cache_creation_input_token_cost": 0.00000124999, + "cache_read_input_token_cost": 1.2502e-7, "input_cost_per_token": 0.00000124999, "input_dbu_cost_per_token": 0.000017857, "litellm_provider": "databricks", @@ -11848,9 +12653,12 @@ "mode": "chat", "output_cost_per_token": 0.000009999990000000002, "output_dbu_cost_per_token": 0.000142857, - "source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving" + "source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving", + "supports_prompt_caching": true }, "databricks/databricks-gpt-5-1-codex-max": { + "cache_creation_input_token_cost": 0.00000124999, + "cache_read_input_token_cost": 1.2502e-7, "input_cost_per_token": 0.00000124999, "input_dbu_cost_per_token": 0.000017857, "litellm_provider": "databricks", @@ -11863,9 +12671,12 @@ "mode": "chat", "output_cost_per_token": 0.000009999990000000002, "output_dbu_cost_per_token": 0.000142857, - "source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving" + "source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving", + "supports_prompt_caching": true }, "databricks/databricks-gpt-5-1-codex-mini": { + "cache_creation_input_token_cost": 2.4997e-7, + "cache_read_input_token_cost": 2.499e-8, "input_cost_per_token": 2.4997e-7, "input_dbu_cost_per_token": 0.000003571, "litellm_provider": "databricks", @@ -11878,9 +12689,12 @@ "mode": "chat", "output_cost_per_token": 0.00000199997, "output_dbu_cost_per_token": 0.000028571, - "source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving" + "source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving", + "supports_prompt_caching": true }, "databricks/databricks-gpt-5-2": { + "cache_creation_input_token_cost": 0.00000175, + "cache_read_input_token_cost": 1.75e-7, "input_cost_per_token": 0.00000175, "input_dbu_cost_per_token": 0.000025, "litellm_provider": "databricks", @@ -11893,9 +12707,12 @@ "mode": "chat", "output_cost_per_token": 0.000014, "output_dbu_cost_per_token": 0.0002, - "source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving" + "source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving", + "supports_prompt_caching": true }, "databricks/databricks-gpt-5-2-codex": { + "cache_creation_input_token_cost": 0.00000175, + "cache_read_input_token_cost": 1.75e-7, "input_cost_per_token": 0.00000175, "input_dbu_cost_per_token": 0.000025, "litellm_provider": "databricks", @@ -11908,9 +12725,12 @@ "mode": "chat", "output_cost_per_token": 0.000014, "output_dbu_cost_per_token": 0.0002, - "source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving" + "source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving", + "supports_prompt_caching": true }, "databricks/databricks-gpt-5-3-codex": { + "cache_creation_input_token_cost": 0.00000175, + "cache_read_input_token_cost": 1.75e-7, "input_cost_per_token": 0.00000175, "input_dbu_cost_per_token": 0.000025, "litellm_provider": "databricks", @@ -11923,9 +12743,12 @@ "mode": "chat", "output_cost_per_token": 0.000014, "output_dbu_cost_per_token": 0.0002, - "source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving" + "source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving", + "supports_prompt_caching": true }, "databricks/databricks-gpt-5-4": { + "cache_creation_input_token_cost": 0.00000249998, + "cache_read_input_token_cost": 2.4997e-7, "input_cost_per_token": 0.00000249998, "input_dbu_cost_per_token": 0.000035714, "litellm_provider": "databricks", @@ -11938,9 +12761,12 @@ "mode": "chat", "output_cost_per_token": 0.000015000020000000002, "output_dbu_cost_per_token": 0.000214286, - "source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving" + "source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving", + "supports_prompt_caching": true }, "databricks/databricks-gpt-5-4-mini": { + "cache_creation_input_token_cost": 7.4998e-7, + "cache_read_input_token_cost": 7.497e-8, "input_cost_per_token": 7.4998e-7, "input_dbu_cost_per_token": 0.000010714, "litellm_provider": "databricks", @@ -11953,9 +12779,12 @@ "mode": "chat", "output_cost_per_token": 0.00000450002, "output_dbu_cost_per_token": 0.000064286, - "source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving" + "source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving", + "supports_prompt_caching": true }, "databricks/databricks-gpt-5-4-nano": { + "cache_creation_input_token_cost": 1.9999e-7, + "cache_read_input_token_cost": 2.002e-8, "input_cost_per_token": 1.9999e-7, "input_dbu_cost_per_token": 0.000002857, "litellm_provider": "databricks", @@ -11968,9 +12797,12 @@ "mode": "chat", "output_cost_per_token": 0.00000124999, "output_dbu_cost_per_token": 0.000017857, - "source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving" + "source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving", + "supports_prompt_caching": true }, "databricks/databricks-gpt-5-mini": { + "cache_creation_input_token_cost": 2.4997e-7, + "cache_read_input_token_cost": 2.499e-8, "input_cost_per_token": 2.4997000000000006e-7, "input_dbu_cost_per_token": 0.000003571, "litellm_provider": "databricks", @@ -11983,9 +12815,12 @@ "mode": "chat", "output_cost_per_token": 0.0000019999700000000004, "output_dbu_cost_per_token": 0.000028571, - "source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving" + "source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving", + "supports_prompt_caching": true }, "databricks/databricks-gpt-5-nano": { + "cache_creation_input_token_cost": 4.998e-8, + "cache_read_input_token_cost": 4.97e-9, "input_cost_per_token": 4.998e-8, "input_dbu_cost_per_token": 7.14e-7, "litellm_provider": "databricks", @@ -11998,9 +12833,12 @@ "mode": "chat", "output_cost_per_token": 3.9998000000000007e-7, "output_dbu_cost_per_token": 0.000005714000000000001, - "source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving" + "source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving", + "supports_prompt_caching": true }, "databricks/databricks-gpt-oss-120b": { + "cache_creation_input_token_cost": 1.5001e-7, + "cache_read_input_token_cost": 1.5001e-7, "input_cost_per_token": 1.5000999999999998e-7, "input_dbu_cost_per_token": 0.0000021429999999999996, "litellm_provider": "databricks", @@ -12016,6 +12854,8 @@ "source": "https://www.databricks.com/product/pricing/foundation-model-serving" }, "databricks/databricks-gpt-oss-20b": { + "cache_creation_input_token_cost": 7e-8, + "cache_read_input_token_cost": 7e-8, "input_cost_per_token": 7e-8, "input_dbu_cost_per_token": 0.000001, "litellm_provider": "databricks", @@ -12030,7 +12870,38 @@ "output_dbu_cost_per_token": 0.000004285999999999999, "source": "https://www.databricks.com/product/pricing/foundation-model-serving" }, + "databricks/databricks-kimi-k3": { + "cache_creation_input_token_cost": 0.00000299999, + "cache_read_input_token_cost": 3.0002e-7, + "input_cost_per_token": 0.00000299999, + "input_dbu_cost_per_token": 0.000042857, + "litellm_provider": "databricks", + "max_input_tokens": 1000000, + "max_output_tokens": 1048576, + "max_tokens": 1048576, + "metadata": { + "notes": "Input/output cost per token is dbu cost * $0.070. Billing reads the per-token dollar fields; the '*_dbu_cost_per_token' fields are the published Databricks rates, kept for reference." + }, + "mode": "chat", + "output_cost_per_token": 0.00001500002, + "output_dbu_cost_per_token": 0.000214286, + "source": "https://www.databricks.com/product/pricing/foundation-model-serving", + "supported_modalities": [ + "text", + "image" + ], + "supported_output_modalities": [ + "text" + ], + "supports_function_calling": true, + "supports_prompt_caching": true, + "supports_reasoning": true, + "supports_tool_choice": true, + "supports_vision": true + }, "databricks/databricks-llama-2-70b-chat": { + "cache_creation_input_token_cost": 5.0001e-7, + "cache_read_input_token_cost": 5.0001e-7, "input_cost_per_token": 5.0001e-7, "input_dbu_cost_per_token": 0.000007143, "litellm_provider": "databricks", @@ -12047,6 +12918,8 @@ "supports_tool_choice": true }, "databricks/databricks-llama-4-maverick": { + "cache_creation_input_token_cost": 5.0001e-7, + "cache_read_input_token_cost": 5.0001e-7, "input_cost_per_token": 5.0001e-7, "input_dbu_cost_per_token": 0.000007143, "litellm_provider": "databricks", @@ -12063,6 +12936,8 @@ "supports_tool_choice": true }, "databricks/databricks-meta-llama-3-1-405b-instruct": { + "cache_creation_input_token_cost": 0.00000500003, + "cache_read_input_token_cost": 0.00000500003, "input_cost_per_token": 0.00000500003, "input_dbu_cost_per_token": 0.000071429, "litellm_provider": "databricks", @@ -12079,6 +12954,8 @@ "supports_tool_choice": true }, "databricks/databricks-meta-llama-3-1-8b-instruct": { + "cache_creation_input_token_cost": 1.5001e-7, + "cache_read_input_token_cost": 1.5001e-7, "input_cost_per_token": 1.5000999999999998e-7, "input_dbu_cost_per_token": 0.0000021429999999999996, "litellm_provider": "databricks", @@ -12094,6 +12971,8 @@ "source": "https://www.databricks.com/product/pricing/foundation-model-serving" }, "databricks/databricks-meta-llama-3-3-70b-instruct": { + "cache_creation_input_token_cost": 5.0001e-7, + "cache_read_input_token_cost": 5.0001e-7, "input_cost_per_token": 5.0001e-7, "input_dbu_cost_per_token": 0.000007143, "litellm_provider": "databricks", @@ -12110,6 +12989,8 @@ "supports_tool_choice": true }, "databricks/databricks-meta-llama-3-70b-instruct": { + "cache_creation_input_token_cost": 0.00000100002, + "cache_read_input_token_cost": 0.00000100002, "input_cost_per_token": 0.00000100002, "input_dbu_cost_per_token": 0.000014286, "litellm_provider": "databricks", @@ -12126,6 +13007,8 @@ "supports_tool_choice": true }, "databricks/databricks-mixtral-8x7b-instruct": { + "cache_creation_input_token_cost": 5.0001e-7, + "cache_read_input_token_cost": 5.0001e-7, "input_cost_per_token": 5.0001e-7, "input_dbu_cost_per_token": 0.000007143, "litellm_provider": "databricks", @@ -12142,6 +13025,8 @@ "supports_tool_choice": true }, "databricks/databricks-mpt-30b-instruct": { + "cache_creation_input_token_cost": 0.00000100002, + "cache_read_input_token_cost": 0.00000100002, "input_cost_per_token": 0.00000100002, "input_dbu_cost_per_token": 0.000014286, "litellm_provider": "databricks", @@ -12158,6 +13043,8 @@ "supports_tool_choice": true }, "databricks/databricks-mpt-7b-instruct": { + "cache_creation_input_token_cost": 5.0001e-7, + "cache_read_input_token_cost": 5.0001e-7, "input_cost_per_token": 5.0001e-7, "input_dbu_cost_per_token": 0.000007143, "litellm_provider": "databricks", @@ -12173,6 +13060,84 @@ "source": "https://www.databricks.com/product/pricing/foundation-model-serving", "supports_tool_choice": true }, + "daybreak-blue-latest": { + "cache_creation_input_token_cost": 0.000005, + "cache_creation_input_token_cost_above_272k_tokens": 0.00001, + "cache_read_input_token_cost": 4e-7, + "cache_read_input_token_cost_above_272k_tokens": 8e-7, + "input_cost_per_token": 0.000004, + "input_cost_per_token_above_272k_tokens": 0.000008, + "litellm_provider": "openai", + "max_input_tokens": 1050000, + "max_output_tokens": 128000, + "max_tokens": 128000, + "mode": "chat", + "output_cost_per_token": 0.00002, + "output_cost_per_token_above_272k_tokens": 0.00003, + "supported_endpoints": [ + "/v1/chat/completions", + "/v1/responses" + ], + "supported_modalities": [ + "text", + "image" + ], + "supported_output_modalities": [ + "text" + ], + "supports_computer_use": true, + "supports_function_calling": true, + "supports_native_streaming": true, + "supports_pdf_input": true, + "supports_prompt_caching": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_system_messages": true, + "supports_tool_choice": true, + "supports_vision": true, + "supports_web_search": true, + "source": "https://developers.openai.com/api/docs/models/daybreak-blue-latest", + "supports_parallel_function_calling": true + }, + "daybreak-red-latest": { + "cache_creation_input_token_cost": 0.000015625, + "cache_creation_input_token_cost_above_272k_tokens": 0.00003125, + "cache_read_input_token_cost": 0.00000125, + "cache_read_input_token_cost_above_272k_tokens": 0.0000025, + "input_cost_per_token": 0.0000125, + "input_cost_per_token_above_272k_tokens": 0.000025, + "litellm_provider": "openai", + "max_input_tokens": 400000, + "max_output_tokens": 128000, + "max_tokens": 128000, + "mode": "chat", + "output_cost_per_token": 0.000075, + "output_cost_per_token_above_272k_tokens": 0.0001125, + "supported_endpoints": [ + "/v1/chat/completions", + "/v1/responses" + ], + "supported_modalities": [ + "text", + "image" + ], + "supported_output_modalities": [ + "text" + ], + "supports_function_calling": true, + "supports_native_streaming": true, + "supports_pdf_input": true, + "supports_prompt_caching": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_system_messages": true, + "supports_tool_choice": true, + "supports_vision": true, + "supports_web_search": true, + "source": "https://developers.openai.com/api/docs/models/daybreak-red-latest", + "supports_computer_use": true, + "supports_parallel_function_calling": true + }, "deep-research-pro-preview-12-2025": { "input_cost_per_image": 0.0011, "input_cost_per_token": 0.000002, @@ -12207,16 +13172,129 @@ "supports_vision": true, "supports_web_search": true }, + "deepinfra/ByteDance/Seed-1.8": { + "max_tokens": 256000, + "max_input_tokens": 256000, + "input_cost_per_token": 2.5e-7, + "output_cost_per_token": 0.000002, + "cache_read_input_token_cost": 5e-8, + "supports_prompt_caching": true, + "litellm_provider": "deepinfra", + "mode": "chat", + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_vision": true, + "source": "https://deepinfra.com/pricing" + }, + "deepinfra/ByteDance/Seed-2.0-code": { + "max_tokens": 256000, + "max_input_tokens": 256000, + "input_cost_per_token": 5e-7, + "output_cost_per_token": 0.000003, + "cache_read_input_token_cost": 1e-7, + "supports_prompt_caching": true, + "litellm_provider": "deepinfra", + "mode": "chat", + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_vision": true, + "source": "https://deepinfra.com/pricing" + }, + "deepinfra/ByteDance/Seed-2.0-mini": { + "max_tokens": 256000, + "max_input_tokens": 256000, + "input_cost_per_token": 1e-7, + "output_cost_per_token": 4e-7, + "cache_read_input_token_cost": 2e-8, + "supports_prompt_caching": true, + "litellm_provider": "deepinfra", + "mode": "chat", + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_vision": true, + "source": "https://deepinfra.com/pricing" + }, + "deepinfra/ByteDance/Seed-2.0-pro": { + "max_tokens": 256000, + "max_input_tokens": 256000, + "input_cost_per_token": 5e-7, + "output_cost_per_token": 0.000003, + "cache_read_input_token_cost": 1e-7, + "supports_prompt_caching": true, + "litellm_provider": "deepinfra", + "mode": "chat", + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_vision": true, + "source": "https://deepinfra.com/pricing" + }, "deepinfra/Gryphe/MythoMax-L2-13b": { "max_tokens": 4096, "max_input_tokens": 4096, "max_output_tokens": 4096, - "input_cost_per_token": 8e-8, - "output_cost_per_token": 9e-8, + "input_cost_per_token": 4e-7, + "output_cost_per_token": 4e-7, "litellm_provider": "deepinfra", "mode": "chat", "supports_tool_choice": true, - "supports_function_calling": true + "supports_function_calling": true, + "source": "https://deepinfra.com/pricing" + }, + "deepinfra/MiniMaxAI/MiniMax-M2.7": { + "max_tokens": 196608, + "max_input_tokens": 196608, + "input_cost_per_token": 2.5e-7, + "output_cost_per_token": 0.000001, + "cache_read_input_token_cost": 5e-8, + "supports_prompt_caching": true, + "litellm_provider": "deepinfra", + "mode": "chat", + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_vision": false, + "source": "https://deepinfra.com/pricing" + }, + "deepinfra/MiniMaxAI/MiniMax-M2.7-Turbo": { + "max_tokens": 196608, + "max_input_tokens": 196608, + "input_cost_per_token": 3.8e-7, + "output_cost_per_token": 0.0000017, + "cache_read_input_token_cost": 7e-8, + "supports_prompt_caching": true, + "litellm_provider": "deepinfra", + "mode": "chat", + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_vision": false, + "source": "https://deepinfra.com/pricing" + }, + "deepinfra/MiniMaxAI/MiniMax-M3": { + "max_tokens": 524288, + "max_input_tokens": 524288, + "input_cost_per_token": 2.8e-7, + "output_cost_per_token": 0.0000011, + "cache_read_input_token_cost": 5.6e-8, + "supports_prompt_caching": true, + "litellm_provider": "deepinfra", + "mode": "chat", + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_vision": true, + "source": "https://deepinfra.com/pricing" }, "deepinfra/NousResearch/Hermes-3-Llama-3.1-405B": { "max_tokens": 131072, @@ -12233,11 +13311,12 @@ "max_tokens": 131072, "max_input_tokens": 131072, "max_output_tokens": 131072, - "input_cost_per_token": 3e-7, - "output_cost_per_token": 3e-7, + "input_cost_per_token": 7e-7, + "output_cost_per_token": 7e-7, "litellm_provider": "deepinfra", "mode": "chat", - "supports_tool_choice": false + "supports_tool_choice": false, + "source": "https://deepinfra.com/pricing" }, "deepinfra/Qwen/QwQ-32B": { "max_tokens": 131072, @@ -12254,12 +13333,13 @@ "max_tokens": 32768, "max_input_tokens": 32768, "max_output_tokens": 32768, - "input_cost_per_token": 1.2e-7, - "output_cost_per_token": 3.9e-7, + "input_cost_per_token": 3.6e-7, + "output_cost_per_token": 4e-7, "litellm_provider": "deepinfra", "mode": "chat", "supports_tool_choice": true, - "supports_function_calling": true + "supports_function_calling": true, + "source": "https://deepinfra.com/pricing" }, "deepinfra/Qwen/Qwen2.5-7B-Instruct": { "max_tokens": 32768, @@ -12287,12 +13367,13 @@ "max_tokens": 40960, "max_input_tokens": 40960, "max_output_tokens": 40960, - "input_cost_per_token": 6e-8, + "input_cost_per_token": 1.2e-7, "output_cost_per_token": 2.4e-7, "litellm_provider": "deepinfra", "mode": "chat", "supports_tool_choice": true, - "supports_function_calling": true + "supports_function_calling": true, + "source": "https://deepinfra.com/pricing" }, "deepinfra/Qwen/Qwen3-235B-A22B": { "max_tokens": 40960, @@ -12310,11 +13391,12 @@ "max_input_tokens": 262144, "max_output_tokens": 262144, "input_cost_per_token": 9e-8, - "output_cost_per_token": 6e-7, + "output_cost_per_token": 5.5e-7, "litellm_provider": "deepinfra", "mode": "chat", "supports_tool_choice": true, - "supports_function_calling": true + "supports_function_calling": true, + "source": "https://deepinfra.com/pricing" }, "deepinfra/Qwen/Qwen3-235B-A22B-Thinking-2507": { "max_tokens": 262144, @@ -12331,23 +13413,25 @@ "max_tokens": 40960, "max_input_tokens": 40960, "max_output_tokens": 40960, - "input_cost_per_token": 8e-8, - "output_cost_per_token": 2.9e-7, + "input_cost_per_token": 1.2e-7, + "output_cost_per_token": 5e-7, "litellm_provider": "deepinfra", "mode": "chat", "supports_tool_choice": true, - "supports_function_calling": true + "supports_function_calling": true, + "source": "https://deepinfra.com/pricing" }, "deepinfra/Qwen/Qwen3-32B": { "max_tokens": 40960, "max_input_tokens": 40960, "max_output_tokens": 40960, - "input_cost_per_token": 1e-7, + "input_cost_per_token": 8e-8, "output_cost_per_token": 2.8e-7, "litellm_provider": "deepinfra", "mode": "chat", "supports_tool_choice": true, - "supports_function_calling": true + "supports_function_calling": true, + "source": "https://deepinfra.com/pricing" }, "deepinfra/Qwen/Qwen3-Coder-480B-A35B-Instruct": { "max_tokens": 262144, @@ -12364,23 +13448,57 @@ "max_tokens": 262144, "max_input_tokens": 262144, "max_output_tokens": 262144, - "input_cost_per_token": 2.9e-7, - "output_cost_per_token": 0.0000012, + "input_cost_per_token": 3e-7, + "output_cost_per_token": 0.000001, "litellm_provider": "deepinfra", "mode": "chat", "supports_tool_choice": true, - "supports_function_calling": true + "supports_function_calling": true, + "cache_read_input_token_cost": 1e-7, + "supports_prompt_caching": true, + "source": "https://deepinfra.com/pricing" + }, + "deepinfra/Qwen/Qwen3-Max": { + "max_tokens": 256000, + "max_input_tokens": 256000, + "input_cost_per_token": 0.0000012, + "output_cost_per_token": 0.000006, + "cache_read_input_token_cost": 2.4e-7, + "supports_prompt_caching": true, + "litellm_provider": "deepinfra", + "mode": "chat", + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_vision": false, + "source": "https://deepinfra.com/pricing" + }, + "deepinfra/Qwen/Qwen3-Max-Thinking": { + "max_tokens": 256000, + "max_input_tokens": 256000, + "input_cost_per_token": 0.0000012, + "output_cost_per_token": 0.000006, + "cache_read_input_token_cost": 2.4e-7, + "supports_prompt_caching": true, + "litellm_provider": "deepinfra", + "mode": "chat", + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_vision": false, + "source": "https://deepinfra.com/pricing" }, "deepinfra/Qwen/Qwen3-Next-80B-A3B-Instruct": { "max_tokens": 262144, "max_input_tokens": 262144, "max_output_tokens": 262144, - "input_cost_per_token": 1.4e-7, - "output_cost_per_token": 0.0000014, + "input_cost_per_token": 9e-8, + "output_cost_per_token": 0.0000011, "litellm_provider": "deepinfra", "mode": "chat", "supports_tool_choice": true, - "supports_function_calling": true + "supports_function_calling": true, + "source": "https://deepinfra.com/pricing" }, "deepinfra/Qwen/Qwen3-Next-80B-A3B-Thinking": { "max_tokens": 262144, @@ -12393,6 +13511,197 @@ "supports_tool_choice": true, "supports_function_calling": true }, + "deepinfra/Qwen/Qwen3-VL-235B-A22B-Instruct": { + "max_tokens": 262144, + "max_input_tokens": 262144, + "input_cost_per_token": 2e-7, + "output_cost_per_token": 8.8e-7, + "cache_read_input_token_cost": 1.1e-7, + "supports_prompt_caching": true, + "litellm_provider": "deepinfra", + "mode": "chat", + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_vision": true, + "source": "https://deepinfra.com/pricing" + }, + "deepinfra/Qwen/Qwen3-VL-30B-A3B-Instruct": { + "max_tokens": 262144, + "max_input_tokens": 262144, + "input_cost_per_token": 1.5e-7, + "output_cost_per_token": 6e-7, + "litellm_provider": "deepinfra", + "mode": "chat", + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_vision": true, + "source": "https://deepinfra.com/pricing" + }, + "deepinfra/Qwen/Qwen3.5-122B-A10B": { + "max_tokens": 262144, + "max_input_tokens": 262144, + "input_cost_per_token": 2.9e-7, + "output_cost_per_token": 0.0000024, + "litellm_provider": "deepinfra", + "mode": "chat", + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_vision": true, + "source": "https://deepinfra.com/pricing" + }, + "deepinfra/Qwen/Qwen3.5-27B": { + "max_tokens": 262144, + "max_input_tokens": 262144, + "input_cost_per_token": 2.6e-7, + "output_cost_per_token": 0.0000026, + "litellm_provider": "deepinfra", + "mode": "chat", + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_vision": true, + "source": "https://deepinfra.com/pricing" + }, + "deepinfra/Qwen/Qwen3.5-35B-A3B": { + "max_tokens": 262144, + "max_input_tokens": 262144, + "input_cost_per_token": 1.4e-7, + "output_cost_per_token": 0.000001, + "cache_read_input_token_cost": 5e-8, + "supports_prompt_caching": true, + "litellm_provider": "deepinfra", + "mode": "chat", + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_vision": true, + "source": "https://deepinfra.com/pricing" + }, + "deepinfra/Qwen/Qwen3.5-397B-A17B": { + "max_tokens": 262144, + "max_input_tokens": 262144, + "input_cost_per_token": 4.5e-7, + "output_cost_per_token": 0.000003, + "cache_read_input_token_cost": 2.2e-7, + "supports_prompt_caching": true, + "litellm_provider": "deepinfra", + "mode": "chat", + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_vision": true, + "source": "https://deepinfra.com/pricing" + }, + "deepinfra/Qwen/Qwen3.5-9B": { + "max_tokens": 262144, + "max_input_tokens": 262144, + "input_cost_per_token": 1e-7, + "output_cost_per_token": 1.5e-7, + "litellm_provider": "deepinfra", + "mode": "chat", + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_vision": true, + "source": "https://deepinfra.com/pricing" + }, + "deepinfra/Qwen/Qwen3.6-27B": { + "max_tokens": 262144, + "max_input_tokens": 262144, + "input_cost_per_token": 3.2e-7, + "output_cost_per_token": 0.0000032, + "litellm_provider": "deepinfra", + "mode": "chat", + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_vision": true, + "source": "https://deepinfra.com/pricing" + }, + "deepinfra/Qwen/Qwen3.6-35B-A3B": { + "max_tokens": 262144, + "max_input_tokens": 262144, + "input_cost_per_token": 1e-7, + "output_cost_per_token": 9.5e-7, + "litellm_provider": "deepinfra", + "mode": "chat", + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_vision": true, + "source": "https://deepinfra.com/pricing" + }, + "deepinfra/Qwen/Qwen3.7-Max": { + "max_tokens": 256000, + "max_input_tokens": 256000, + "input_cost_per_token": 0.0000025, + "output_cost_per_token": 0.0000075, + "cache_read_input_token_cost": 5e-7, + "supports_prompt_caching": true, + "litellm_provider": "deepinfra", + "mode": "chat", + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_vision": false, + "source": "https://deepinfra.com/pricing" + }, + "deepinfra/Qwen/Qwen3.8-2.4T-A95B": { + "max_tokens": 262144, + "max_input_tokens": 262144, + "input_cost_per_token": 0.000002, + "output_cost_per_token": 0.000006, + "cache_read_input_token_cost": 2e-7, + "supports_prompt_caching": true, + "litellm_provider": "deepinfra", + "mode": "chat", + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_vision": false, + "source": "https://deepinfra.com/pricing" + }, + "deepinfra/Qwen/Qwen3.8-27B": { + "max_tokens": 262144, + "max_input_tokens": 262144, + "input_cost_per_token": 4e-7, + "output_cost_per_token": 0.000003, + "cache_read_input_token_cost": 4e-8, + "supports_prompt_caching": true, + "litellm_provider": "deepinfra", + "mode": "chat", + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_vision": true, + "source": "https://deepinfra.com/pricing" + }, + "deepinfra/Qwen/Qwen3.8-Max": { + "max_tokens": 256000, + "max_input_tokens": 256000, + "input_cost_per_token": 0.00000165, + "output_cost_per_token": 0.000004951, + "cache_read_input_token_cost": 2.06e-7, + "supports_prompt_caching": true, + "litellm_provider": "deepinfra", + "mode": "chat", + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_vision": false, + "source": "https://deepinfra.com/pricing" + }, "deepinfra/Sao10K/L3-8B-Lunaris-v1-Turbo": { "max_tokens": 8192, "max_input_tokens": 8192, @@ -12407,11 +13716,12 @@ "max_tokens": 131072, "max_input_tokens": 131072, "max_output_tokens": 131072, - "input_cost_per_token": 6.5e-7, - "output_cost_per_token": 7.5e-7, + "input_cost_per_token": 8.5e-7, + "output_cost_per_token": 8.5e-7, "litellm_provider": "deepinfra", "mode": "chat", - "supports_tool_choice": false + "supports_tool_choice": false, + "source": "https://deepinfra.com/pricing" }, "deepinfra/Sao10K/L3.3-70B-Euryale-v2.3": { "max_tokens": 131072, @@ -12423,6 +13733,38 @@ "mode": "chat", "supports_tool_choice": false }, + "deepinfra/XiaomiMiMo/MiMo-V2.5": { + "max_tokens": 262144, + "max_input_tokens": 262144, + "input_cost_per_token": 4e-7, + "output_cost_per_token": 0.000002, + "cache_read_input_token_cost": 8e-8, + "supports_prompt_caching": true, + "litellm_provider": "deepinfra", + "mode": "chat", + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_vision": true, + "source": "https://deepinfra.com/pricing" + }, + "deepinfra/XiaomiMiMo/MiMo-V2.5-Pro": { + "max_tokens": 1048576, + "max_input_tokens": 1048576, + "input_cost_per_token": 0.000001, + "output_cost_per_token": 0.000003, + "cache_read_input_token_cost": 2e-7, + "supports_prompt_caching": true, + "litellm_provider": "deepinfra", + "mode": "chat", + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_vision": false, + "source": "https://deepinfra.com/pricing" + }, "deepinfra/allenai/olmOCR-7B-0725-FP8": { "max_tokens": 16384, "max_input_tokens": 16384, @@ -12467,64 +13809,181 @@ "supports_tool_choice": true, "supports_function_calling": true }, - "deepinfra/deepseek-ai/DeepSeek-R1": { - "max_tokens": 163840, - "max_input_tokens": 163840, - "max_output_tokens": 163840, - "input_cost_per_token": 7e-7, - "output_cost_per_token": 0.0000024, + "deepinfra/anthropic/claude-fable-5": { + "input_cost_per_token": 0.00001, "litellm_provider": "deepinfra", + "max_input_tokens": 1000000, + "max_tokens": 1000000, "mode": "chat", + "output_cost_per_token": 0.00005, + "prompt_cache_min_tokens": 512, + "source": "https://deepinfra.com/pricing", + "supports_adaptive_thinking": true, + "supports_function_calling": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_sampling_params": false, "supports_tool_choice": true, - "supports_function_calling": true + "supports_vision": true, + "thinking_always_on": true }, - "deepinfra/deepseek-ai/DeepSeek-R1-0528": { - "max_tokens": 163840, - "max_input_tokens": 163840, - "max_output_tokens": 163840, - "input_cost_per_token": 5e-7, - "output_cost_per_token": 0.00000215, - "cache_read_input_token_cost": 4e-7, + "deepinfra/anthropic/claude-haiku-4-5": { + "max_tokens": 200000, + "max_input_tokens": 200000, + "input_cost_per_token": 0.000001, + "output_cost_per_token": 0.000005, "litellm_provider": "deepinfra", "mode": "chat", + "prompt_cache_min_tokens": 4096, + "supports_function_calling": true, "supports_tool_choice": true, - "supports_function_calling": true + "supports_response_schema": true, + "supports_reasoning": true, + "supports_vision": true, + "source": "https://deepinfra.com/pricing" }, - "deepinfra/deepseek-ai/DeepSeek-R1-0528-Turbo": { - "max_tokens": 32768, - "max_input_tokens": 32768, - "max_output_tokens": 32768, - "input_cost_per_token": 0.000001, - "output_cost_per_token": 0.000003, + "deepinfra/anthropic/claude-opus-4-7": { + "input_cost_per_token": 0.000005, "litellm_provider": "deepinfra", + "max_input_tokens": 1000000, + "max_tokens": 1000000, "mode": "chat", + "output_cost_per_token": 0.000025, + "prompt_cache_min_tokens": 2048, + "source": "https://deepinfra.com/pricing", + "supports_adaptive_thinking": true, + "supports_function_calling": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_sampling_params": false, "supports_tool_choice": true, - "supports_function_calling": true + "supports_vision": true }, - "deepinfra/deepseek-ai/DeepSeek-R1-Distill-Llama-70B": { - "max_tokens": 131072, - "max_input_tokens": 131072, - "max_output_tokens": 131072, - "input_cost_per_token": 2e-7, - "output_cost_per_token": 6e-7, + "deepinfra/anthropic/claude-opus-4-8": { + "input_cost_per_token": 0.000005, "litellm_provider": "deepinfra", + "max_input_tokens": 1000000, + "max_tokens": 1000000, "mode": "chat", - "supports_tool_choice": false + "output_cost_per_token": 0.000025, + "prompt_cache_min_tokens": 1024, + "source": "https://deepinfra.com/pricing", + "supports_adaptive_thinking": true, + "supports_function_calling": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_sampling_params": false, + "supports_tool_choice": true, + "supports_vision": true }, - "deepinfra/deepseek-ai/DeepSeek-R1-Distill-Qwen-32B": { - "max_tokens": 131072, - "max_input_tokens": 131072, - "max_output_tokens": 131072, - "input_cost_per_token": 2.7e-7, - "output_cost_per_token": 2.7e-7, + "deepinfra/anthropic/claude-opus-5": { + "input_cost_per_token": 0.000005, "litellm_provider": "deepinfra", + "max_input_tokens": 1000000, + "max_tokens": 1000000, "mode": "chat", - "supports_tool_choice": true, - "supports_function_calling": true - }, - "deepinfra/deepseek-ai/DeepSeek-R1-Turbo": { - "max_tokens": 40960, - "max_input_tokens": 40960, + "output_cost_per_token": 0.000025, + "prompt_cache_min_tokens": 512, + "source": "https://deepinfra.com/pricing", + "supports_adaptive_thinking": true, + "supports_function_calling": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_sampling_params": false, + "supports_tool_choice": true, + "supports_vision": true + }, + "deepinfra/anthropic/claude-sonnet-4-6": { + "max_tokens": 1000000, + "max_input_tokens": 1000000, + "input_cost_per_token": 0.000003, + "output_cost_per_token": 0.000015, + "litellm_provider": "deepinfra", + "mode": "chat", + "prompt_cache_min_tokens": 1024, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_adaptive_thinking": true, + "supports_vision": true, + "source": "https://deepinfra.com/pricing" + }, + "deepinfra/anthropic/claude-sonnet-5": { + "input_cost_per_token": 0.000002, + "litellm_provider": "deepinfra", + "max_input_tokens": 1000000, + "max_tokens": 1000000, + "mode": "chat", + "output_cost_per_token": 0.00001, + "prompt_cache_min_tokens": 1024, + "source": "https://deepinfra.com/pricing", + "supports_adaptive_thinking": true, + "supports_function_calling": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_sampling_params": false, + "supports_tool_choice": true, + "supports_vision": true + }, + "deepinfra/deepseek-ai/DeepSeek-R1": { + "max_tokens": 163840, + "max_input_tokens": 163840, + "max_output_tokens": 163840, + "input_cost_per_token": 7e-7, + "output_cost_per_token": 0.0000024, + "litellm_provider": "deepinfra", + "mode": "chat", + "supports_tool_choice": true, + "supports_function_calling": true + }, + "deepinfra/deepseek-ai/DeepSeek-R1-0528": { + "max_tokens": 163840, + "max_input_tokens": 163840, + "max_output_tokens": 163840, + "input_cost_per_token": 5e-7, + "output_cost_per_token": 0.00000215, + "cache_read_input_token_cost": 4e-7, + "litellm_provider": "deepinfra", + "mode": "chat", + "supports_tool_choice": true, + "supports_function_calling": true + }, + "deepinfra/deepseek-ai/DeepSeek-R1-0528-Turbo": { + "max_tokens": 32768, + "max_input_tokens": 32768, + "max_output_tokens": 32768, + "input_cost_per_token": 0.000001, + "output_cost_per_token": 0.000003, + "litellm_provider": "deepinfra", + "mode": "chat", + "supports_tool_choice": true, + "supports_function_calling": true + }, + "deepinfra/deepseek-ai/DeepSeek-R1-Distill-Llama-70B": { + "max_tokens": 131072, + "max_input_tokens": 131072, + "max_output_tokens": 131072, + "input_cost_per_token": 2e-7, + "output_cost_per_token": 6e-7, + "litellm_provider": "deepinfra", + "mode": "chat", + "supports_tool_choice": false + }, + "deepinfra/deepseek-ai/DeepSeek-R1-Distill-Qwen-32B": { + "max_tokens": 131072, + "max_input_tokens": 131072, + "max_output_tokens": 131072, + "input_cost_per_token": 2.7e-7, + "output_cost_per_token": 2.7e-7, + "litellm_provider": "deepinfra", + "mode": "chat", + "supports_tool_choice": true, + "supports_function_calling": true + }, + "deepinfra/deepseek-ai/DeepSeek-R1-Turbo": { + "max_tokens": 40960, + "max_input_tokens": 40960, "max_output_tokens": 40960, "input_cost_per_token": 0.000001, "output_cost_per_token": 0.000003, @@ -12537,36 +13996,41 @@ "max_tokens": 163840, "max_input_tokens": 163840, "max_output_tokens": 163840, - "input_cost_per_token": 3.8e-7, + "input_cost_per_token": 3.2e-7, "output_cost_per_token": 8.9e-7, "litellm_provider": "deepinfra", "mode": "chat", "supports_tool_choice": true, - "supports_function_calling": true + "supports_function_calling": true, + "source": "https://deepinfra.com/pricing" }, "deepinfra/deepseek-ai/DeepSeek-V3-0324": { "max_tokens": 163840, "max_input_tokens": 163840, "max_output_tokens": 163840, - "input_cost_per_token": 2.5e-7, - "output_cost_per_token": 8.8e-7, + "input_cost_per_token": 2.4e-7, + "output_cost_per_token": 9e-7, "litellm_provider": "deepinfra", "mode": "chat", "supports_tool_choice": true, - "supports_function_calling": true + "supports_function_calling": true, + "cache_read_input_token_cost": 1.35e-7, + "supports_prompt_caching": true, + "source": "https://deepinfra.com/pricing" }, "deepinfra/deepseek-ai/DeepSeek-V3.1": { "max_tokens": 163840, "max_input_tokens": 163840, "max_output_tokens": 163840, - "input_cost_per_token": 2.7e-7, - "output_cost_per_token": 0.000001, + "input_cost_per_token": 2.5e-7, + "output_cost_per_token": 9.5e-7, "cache_read_input_token_cost": 2.16e-7, "litellm_provider": "deepinfra", "mode": "chat", "supports_tool_choice": true, "supports_reasoning": true, - "supports_function_calling": true + "supports_function_calling": true, + "source": "https://deepinfra.com/pricing" }, "deepinfra/deepseek-ai/DeepSeek-V3.1-Terminus": { "max_tokens": 163840, @@ -12580,6 +14044,83 @@ "supports_tool_choice": true, "supports_function_calling": true }, + "deepinfra/deepseek-ai/DeepSeek-V3.2": { + "max_tokens": 163840, + "max_input_tokens": 163840, + "input_cost_per_token": 2.6e-7, + "output_cost_per_token": 3.8e-7, + "cache_read_input_token_cost": 1.3e-7, + "supports_prompt_caching": true, + "litellm_provider": "deepinfra", + "mode": "chat", + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_vision": false, + "source": "https://deepinfra.com/pricing" + }, + "deepinfra/deepseek-ai/DeepSeek-V4-Flash": { + "max_tokens": 1048576, + "max_input_tokens": 1048576, + "input_cost_per_token": 9e-8, + "output_cost_per_token": 1.8e-7, + "cache_read_input_token_cost": 1.8e-8, + "supports_prompt_caching": true, + "litellm_provider": "deepinfra", + "mode": "chat", + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_vision": false, + "source": "https://deepinfra.com/pricing" + }, + "deepinfra/deepseek-ai/DeepSeek-V4-Flash-0731": { + "max_tokens": 1048576, + "max_input_tokens": 1048576, + "input_cost_per_token": 8e-8, + "output_cost_per_token": 1.8e-7, + "cache_read_input_token_cost": 1.6e-8, + "supports_prompt_caching": true, + "litellm_provider": "deepinfra", + "mode": "chat", + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_vision": false, + "source": "https://deepinfra.com/pricing" + }, + "deepinfra/deepseek-ai/DeepSeek-V4-Pro": { + "max_tokens": 1048576, + "max_input_tokens": 1048576, + "input_cost_per_token": 0.0000013, + "output_cost_per_token": 0.0000026, + "cache_read_input_token_cost": 1e-7, + "supports_prompt_caching": true, + "litellm_provider": "deepinfra", + "mode": "chat", + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_vision": false, + "source": "https://deepinfra.com/pricing" + }, + "deepinfra/deepseek-ai/DeepSeek-V4-Pro-0813": { + "max_tokens": 1048576, + "max_input_tokens": 1048576, + "input_cost_per_token": 0.0000013, + "output_cost_per_token": 0.0000026, + "cache_read_input_token_cost": 1e-7, + "supports_prompt_caching": true, + "litellm_provider": "deepinfra", + "mode": "chat", + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_vision": false, + "source": "https://deepinfra.com/pricing" + }, "deepinfra/google/gemini-2.0-flash-001": { "deprecation_date": "2026-06-01", "max_tokens": 1000000, @@ -12615,38 +14156,183 @@ "supports_tool_choice": true, "supports_function_calling": true }, + "deepinfra/google/gemini-3.1-flash-lite": { + "max_tokens": 1000000, + "max_input_tokens": 1000000, + "input_cost_per_token": 2.5e-7, + "output_cost_per_token": 0.0000015, + "litellm_provider": "deepinfra", + "mode": "chat", + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_vision": true, + "source": "https://deepinfra.com/pricing" + }, + "deepinfra/google/gemini-3.1-pro": { + "max_tokens": 1000000, + "max_input_tokens": 1000000, + "input_cost_per_token": 0.000002, + "output_cost_per_token": 0.000012, + "litellm_provider": "deepinfra", + "mode": "chat", + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_vision": true, + "source": "https://deepinfra.com/pricing" + }, + "deepinfra/google/gemini-3.5-flash": { + "max_tokens": 1000000, + "max_input_tokens": 1000000, + "input_cost_per_token": 0.0000015, + "output_cost_per_token": 0.000009, + "litellm_provider": "deepinfra", + "mode": "chat", + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_vision": true, + "source": "https://deepinfra.com/pricing" + }, + "deepinfra/google/gemini-3.7-flash": { + "max_tokens": 1000000, + "max_input_tokens": 1000000, + "input_cost_per_token": 7.5e-7, + "output_cost_per_token": 0.00000375, + "litellm_provider": "deepinfra", + "mode": "chat", + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_vision": true, + "source": "https://deepinfra.com/pricing" + }, "deepinfra/google/gemma-3-12b-it": { "max_tokens": 131072, "max_input_tokens": 131072, "max_output_tokens": 131072, "input_cost_per_token": 5e-8, - "output_cost_per_token": 1e-7, + "output_cost_per_token": 1.5e-7, "litellm_provider": "deepinfra", "mode": "chat", "supports_tool_choice": true, - "supports_function_calling": true + "supports_function_calling": true, + "source": "https://deepinfra.com/pricing" }, "deepinfra/google/gemma-3-27b-it": { "max_tokens": 131072, "max_input_tokens": 131072, "max_output_tokens": 131072, - "input_cost_per_token": 9e-8, + "input_cost_per_token": 8e-8, "output_cost_per_token": 1.6e-7, "litellm_provider": "deepinfra", "mode": "chat", "supports_tool_choice": true, - "supports_function_calling": true + "supports_function_calling": true, + "source": "https://deepinfra.com/pricing" }, "deepinfra/google/gemma-3-4b-it": { "max_tokens": 131072, "max_input_tokens": 131072, "max_output_tokens": 131072, - "input_cost_per_token": 4e-8, - "output_cost_per_token": 8e-8, + "input_cost_per_token": 5e-8, + "output_cost_per_token": 1e-7, "litellm_provider": "deepinfra", "mode": "chat", "supports_tool_choice": true, - "supports_function_calling": true + "supports_function_calling": true, + "source": "https://deepinfra.com/pricing" + }, + "deepinfra/google/gemma-4-26B-A4B-it": { + "max_tokens": 262144, + "max_input_tokens": 262144, + "input_cost_per_token": 7e-8, + "output_cost_per_token": 3.4e-7, + "litellm_provider": "deepinfra", + "mode": "chat", + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_vision": true, + "source": "https://deepinfra.com/pricing" + }, + "deepinfra/google/gemma-4-31B-it": { + "max_tokens": 262144, + "max_input_tokens": 262144, + "input_cost_per_token": 1.3e-7, + "output_cost_per_token": 3.8e-7, + "litellm_provider": "deepinfra", + "mode": "chat", + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_vision": true, + "source": "https://deepinfra.com/pricing" + }, + "deepinfra/google/gemma-4-31B-it-Ultra": { + "max_tokens": 131072, + "max_input_tokens": 131072, + "input_cost_per_token": 2.7e-7, + "output_cost_per_token": 7.6e-7, + "litellm_provider": "deepinfra", + "mode": "chat", + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_vision": true, + "source": "https://deepinfra.com/pricing" + }, + "deepinfra/google/gemma-4-31B-it-turbo": { + "max_tokens": 262144, + "max_input_tokens": 262144, + "input_cost_per_token": 9e-8, + "output_cost_per_token": 3.4e-7, + "cache_read_input_token_cost": 5e-8, + "supports_prompt_caching": true, + "litellm_provider": "deepinfra", + "mode": "chat", + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_reasoning": true, + "supports_vision": true, + "source": "https://deepinfra.com/pricing" + }, + "deepinfra/google/gemma-4-E4B-it": { + "max_tokens": 131072, + "max_input_tokens": 131072, + "input_cost_per_token": 2e-8, + "output_cost_per_token": 1e-7, + "litellm_provider": "deepinfra", + "mode": "chat", + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_reasoning": true, + "supports_vision": false, + "source": "https://deepinfra.com/pricing" + }, + "deepinfra/inclusionAI/Ling-3.0-flash": { + "max_tokens": 131072, + "max_input_tokens": 131072, + "input_cost_per_token": 6e-8, + "output_cost_per_token": 1.8e-7, + "cache_read_input_token_cost": 1.2e-8, + "supports_prompt_caching": true, + "litellm_provider": "deepinfra", + "mode": "chat", + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_vision": false, + "source": "https://deepinfra.com/pricing" }, "deepinfra/meta-llama/Llama-3.2-11B-Vision-Instruct": { "max_tokens": 131072, @@ -12684,34 +14370,37 @@ "max_tokens": 131072, "max_input_tokens": 131072, "max_output_tokens": 131072, - "input_cost_per_token": 1.3e-7, - "output_cost_per_token": 3.9e-7, + "input_cost_per_token": 1e-7, + "output_cost_per_token": 3.2e-7, "litellm_provider": "deepinfra", "mode": "chat", "supports_function_calling": true, - "supports_tool_choice": true + "supports_tool_choice": true, + "source": "https://deepinfra.com/pricing" }, "deepinfra/meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8": { "max_tokens": 1048576, "max_input_tokens": 1048576, "max_output_tokens": 1048576, - "input_cost_per_token": 1.5e-7, - "output_cost_per_token": 6e-7, + "input_cost_per_token": 2e-7, + "output_cost_per_token": 8e-7, "litellm_provider": "deepinfra", "mode": "chat", "supports_tool_choice": true, - "supports_function_calling": true + "supports_function_calling": true, + "source": "https://deepinfra.com/pricing" }, "deepinfra/meta-llama/Llama-4-Scout-17B-16E-Instruct": { "max_tokens": 327680, "max_input_tokens": 327680, "max_output_tokens": 327680, - "input_cost_per_token": 8e-8, + "input_cost_per_token": 1e-7, "output_cost_per_token": 3e-7, "litellm_provider": "deepinfra", "mode": "chat", "supports_tool_choice": true, - "supports_function_calling": true + "supports_function_calling": true, + "source": "https://deepinfra.com/pricing" }, "deepinfra/meta-llama/Llama-Guard-3-8B": { "max_tokens": 131072, @@ -12759,12 +14448,13 @@ "max_tokens": 131072, "max_input_tokens": 131072, "max_output_tokens": 131072, - "input_cost_per_token": 1e-7, - "output_cost_per_token": 2.8e-7, + "input_cost_per_token": 4e-7, + "output_cost_per_token": 4e-7, "litellm_provider": "deepinfra", "mode": "chat", "supports_tool_choice": true, - "supports_function_calling": true + "supports_function_calling": true, + "source": "https://deepinfra.com/pricing" }, "deepinfra/meta-llama/Meta-Llama-3.1-8B-Instruct": { "max_tokens": 131072, @@ -12782,11 +14472,28 @@ "max_input_tokens": 131072, "max_output_tokens": 131072, "input_cost_per_token": 2e-8, - "output_cost_per_token": 3e-8, + "output_cost_per_token": 4e-8, "litellm_provider": "deepinfra", "mode": "chat", "supports_tool_choice": true, - "supports_function_calling": true + "supports_function_calling": true, + "source": "https://deepinfra.com/pricing" + }, + "deepinfra/meta-models/Muse-Glimmer-30B": { + "max_tokens": 131072, + "max_input_tokens": 131072, + "input_cost_per_token": 3e-7, + "output_cost_per_token": 0.0000012, + "cache_read_input_token_cost": 4e-8, + "supports_prompt_caching": true, + "litellm_provider": "deepinfra", + "mode": "chat", + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_vision": true, + "source": "https://deepinfra.com/pricing" }, "deepinfra/microsoft/WizardLM-2-8x22B": { "max_tokens": 65536, @@ -12813,12 +14520,13 @@ "max_tokens": 131072, "max_input_tokens": 131072, "max_output_tokens": 131072, - "input_cost_per_token": 2e-8, - "output_cost_per_token": 4e-8, + "input_cost_per_token": 1.9e-8, + "output_cost_per_token": 3e-8, "litellm_provider": "deepinfra", "mode": "chat", "supports_tool_choice": true, - "supports_function_calling": true + "supports_function_calling": true, + "source": "https://deepinfra.com/pricing" }, "deepinfra/mistralai/Mistral-Small-24B-Instruct-2501": { "max_tokens": 32768, @@ -12876,6 +14584,69 @@ "supports_tool_choice": true, "supports_function_calling": true }, + "deepinfra/moonshotai/Kimi-K2.5": { + "max_tokens": 262144, + "max_input_tokens": 262144, + "input_cost_per_token": 4.5e-7, + "output_cost_per_token": 0.00000225, + "cache_read_input_token_cost": 7e-8, + "supports_prompt_caching": true, + "litellm_provider": "deepinfra", + "mode": "chat", + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_vision": true, + "source": "https://deepinfra.com/pricing" + }, + "deepinfra/moonshotai/Kimi-K2.6": { + "max_tokens": 262144, + "max_input_tokens": 262144, + "input_cost_per_token": 7.5e-7, + "output_cost_per_token": 0.0000035, + "cache_read_input_token_cost": 1.5e-7, + "supports_prompt_caching": true, + "litellm_provider": "deepinfra", + "mode": "chat", + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_vision": true, + "source": "https://deepinfra.com/pricing" + }, + "deepinfra/moonshotai/Kimi-K2.7-Code": { + "max_tokens": 262144, + "max_input_tokens": 262144, + "input_cost_per_token": 6.8e-7, + "output_cost_per_token": 0.0000034, + "cache_read_input_token_cost": 1.36e-7, + "supports_prompt_caching": true, + "litellm_provider": "deepinfra", + "mode": "chat", + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_vision": true, + "source": "https://deepinfra.com/pricing" + }, + "deepinfra/moonshotai/Kimi-K3": { + "max_tokens": 1048576, + "max_input_tokens": 1048576, + "input_cost_per_token": 0.00000285, + "output_cost_per_token": 0.00001425, + "cache_read_input_token_cost": 2.85e-7, + "supports_prompt_caching": true, + "litellm_provider": "deepinfra", + "mode": "chat", + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_vision": true, + "source": "https://deepinfra.com/pricing" + }, "deepinfra/nvidia/Llama-3.1-Nemotron-70B-Instruct": { "max_tokens": 131072, "max_input_tokens": 131072, @@ -12898,16 +14669,48 @@ "supports_tool_choice": true, "supports_function_calling": true }, + "deepinfra/nvidia/NVIDIA-Nemotron-3-Super-120B-A12B": { + "max_tokens": 262144, + "max_input_tokens": 262144, + "input_cost_per_token": 8.5e-8, + "output_cost_per_token": 4e-7, + "litellm_provider": "deepinfra", + "mode": "chat", + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_vision": false, + "source": "https://deepinfra.com/pricing" + }, + "deepinfra/nvidia/NVIDIA-Nemotron-3-Ultra-550B-A55B": { + "max_tokens": 262144, + "max_input_tokens": 262144, + "input_cost_per_token": 5e-7, + "output_cost_per_token": 0.0000022, + "cache_read_input_token_cost": 1e-7, + "supports_prompt_caching": true, + "litellm_provider": "deepinfra", + "mode": "chat", + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_vision": true, + "source": "https://deepinfra.com/pricing" + }, "deepinfra/nvidia/NVIDIA-Nemotron-3.5-Lightning": { "max_input_tokens": 262144, - "input_cost_per_token": 5e-8, + "input_cost_per_token": 8e-8, "output_cost_per_token": 2e-7, "litellm_provider": "deepinfra", "mode": "chat", - "source": "https://deepinfra.com/nvidia/NVIDIA-Nemotron-3.5-Lightning", + "source": "https://deepinfra.com/pricing", "supports_tool_choice": true, "supports_function_calling": true, - "supports_reasoning": true + "supports_reasoning": true, + "cache_read_input_token_cost": 4e-8, + "supports_prompt_caching": true }, "deepinfra/nvidia/NVIDIA-Nemotron-Nano-9B-v2": { "max_tokens": 131072, @@ -12920,78 +14723,291 @@ "supports_tool_choice": true, "supports_function_calling": true }, - "deepinfra/openai/gpt-oss-120b": { - "max_tokens": 131072, - "max_input_tokens": 131072, - "max_output_tokens": 131072, + "deepinfra/nvidia/Nemotron-3-Nano-30B-A3B": { + "max_tokens": 262144, + "max_input_tokens": 262144, "input_cost_per_token": 5e-8, - "output_cost_per_token": 4.5e-7, + "output_cost_per_token": 2e-7, + "cache_read_input_token_cost": 2.5e-8, + "supports_prompt_caching": true, "litellm_provider": "deepinfra", "mode": "chat", + "supports_function_calling": true, "supports_tool_choice": true, - "supports_function_calling": true + "supports_reasoning": true, + "supports_vision": false, + "source": "https://deepinfra.com/pricing" }, - "deepinfra/openai/gpt-oss-20b": { + "deepinfra/nvidia/Nemotron-Content-Safety-3.5": { "max_tokens": 131072, "max_input_tokens": 131072, - "max_output_tokens": 131072, - "input_cost_per_token": 4e-8, - "output_cost_per_token": 1.5e-7, + "input_cost_per_token": 2e-7, + "output_cost_per_token": 2e-7, "litellm_provider": "deepinfra", "mode": "chat", - "supports_tool_choice": true, - "supports_function_calling": true + "supports_vision": true, + "source": "https://deepinfra.com/pricing" }, - "deepinfra/zai-org/GLM-4.5": { + "deepinfra/openai/gpt-oss-120b": { "max_tokens": 131072, "max_input_tokens": 131072, "max_output_tokens": 131072, - "input_cost_per_token": 4e-7, - "output_cost_per_token": 0.0000016, + "input_cost_per_token": 3.7e-8, + "output_cost_per_token": 1.7e-7, "litellm_provider": "deepinfra", "mode": "chat", "supports_tool_choice": true, - "supports_function_calling": true + "supports_function_calling": true, + "source": "https://deepinfra.com/pricing" }, - "deepseek-chat": { - "cache_read_input_token_cost": 2.8e-8, - "input_cost_per_token": 2.8e-7, - "litellm_provider": "deepseek", + "deepinfra/openai/gpt-oss-120b-Turbo": { + "max_tokens": 131072, "max_input_tokens": 131072, - "max_output_tokens": 8192, - "max_tokens": 8192, + "input_cost_per_token": 1.5e-7, + "output_cost_per_token": 6e-7, + "litellm_provider": "deepinfra", "mode": "chat", - "output_cost_per_token": 4.2e-7, - "source": "https://api-docs.deepseek.com/quick_start/pricing", - "supported_endpoints": [ - "/v1/chat/completions" - ], "supports_function_calling": true, - "supports_native_streaming": true, - "supports_parallel_function_calling": true, - "supports_prompt_caching": true, + "supports_tool_choice": true, "supports_response_schema": true, - "supports_system_messages": true, - "supports_tool_choice": true + "supports_reasoning": true, + "supports_vision": false, + "source": "https://deepinfra.com/pricing" }, - "deepseek-reasoner": { - "cache_read_input_token_cost": 2.8e-8, - "input_cost_per_token": 2.8e-7, - "litellm_provider": "deepseek", + "deepinfra/openai/gpt-oss-120b-Ultra": { + "max_tokens": 131072, "max_input_tokens": 131072, - "max_output_tokens": 65536, - "max_tokens": 65536, + "input_cost_per_token": 2e-7, + "output_cost_per_token": 9.5e-7, + "litellm_provider": "deepinfra", "mode": "chat", - "output_cost_per_token": 4.2e-7, - "source": "https://api-docs.deepseek.com/quick_start/pricing", - "supported_endpoints": [ - "/v1/chat/completions" - ], - "supports_function_calling": false, - "supports_native_streaming": true, - "supports_parallel_function_calling": false, - "supports_prompt_caching": true, - "supports_reasoning": true, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_vision": false, + "source": "https://deepinfra.com/pricing" + }, + "deepinfra/openai/gpt-oss-20b": { + "max_tokens": 131072, + "max_input_tokens": 131072, + "max_output_tokens": 131072, + "input_cost_per_token": 3e-8, + "output_cost_per_token": 1.4e-7, + "litellm_provider": "deepinfra", + "mode": "chat", + "supports_tool_choice": true, + "supports_function_calling": true, + "source": "https://deepinfra.com/pricing" + }, + "deepinfra/stepfun-ai/Step-3.7-Flash": { + "max_tokens": 262144, + "max_input_tokens": 262144, + "input_cost_per_token": 2e-7, + "output_cost_per_token": 0.00000115, + "cache_read_input_token_cost": 4e-8, + "supports_prompt_caching": true, + "litellm_provider": "deepinfra", + "mode": "chat", + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_vision": true, + "source": "https://deepinfra.com/pricing" + }, + "deepinfra/tencent/Hy3": { + "max_tokens": 262144, + "max_input_tokens": 262144, + "input_cost_per_token": 1.4e-7, + "output_cost_per_token": 5.8e-7, + "cache_read_input_token_cost": 3.5e-8, + "supports_prompt_caching": true, + "litellm_provider": "deepinfra", + "mode": "chat", + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_vision": false, + "source": "https://deepinfra.com/pricing" + }, + "deepinfra/thinkingmachines/Inkling": { + "max_tokens": 524288, + "max_input_tokens": 524288, + "input_cost_per_token": 9.5e-7, + "output_cost_per_token": 0.00000405, + "cache_read_input_token_cost": 1.6e-7, + "supports_prompt_caching": true, + "litellm_provider": "deepinfra", + "mode": "chat", + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_vision": true, + "source": "https://deepinfra.com/pricing" + }, + "deepinfra/thinkingmachines/Inkling-Small": { + "max_tokens": 524288, + "max_input_tokens": 524288, + "input_cost_per_token": 4.5e-7, + "output_cost_per_token": 0.0000012, + "cache_read_input_token_cost": 1e-7, + "supports_prompt_caching": true, + "litellm_provider": "deepinfra", + "mode": "chat", + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_vision": true, + "source": "https://deepinfra.com/pricing" + }, + "deepinfra/zai-org/GLM-4.5": { + "max_tokens": 131072, + "max_input_tokens": 131072, + "max_output_tokens": 131072, + "input_cost_per_token": 4e-7, + "output_cost_per_token": 0.0000016, + "litellm_provider": "deepinfra", + "mode": "chat", + "supports_tool_choice": true, + "supports_function_calling": true + }, + "deepinfra/zai-org/GLM-4.6": { + "max_tokens": 202752, + "max_input_tokens": 202752, + "input_cost_per_token": 5e-7, + "output_cost_per_token": 0.000002, + "cache_read_input_token_cost": 1e-7, + "supports_prompt_caching": true, + "litellm_provider": "deepinfra", + "mode": "chat", + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_vision": false, + "source": "https://deepinfra.com/pricing" + }, + "deepinfra/zai-org/GLM-4.7": { + "max_tokens": 202752, + "max_input_tokens": 202752, + "input_cost_per_token": 4e-7, + "output_cost_per_token": 0.00000175, + "cache_read_input_token_cost": 8e-8, + "supports_prompt_caching": true, + "litellm_provider": "deepinfra", + "mode": "chat", + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_vision": false, + "source": "https://deepinfra.com/pricing" + }, + "deepinfra/zai-org/GLM-4.7-Flash": { + "max_tokens": 202752, + "max_input_tokens": 202752, + "input_cost_per_token": 6e-8, + "output_cost_per_token": 4e-7, + "cache_read_input_token_cost": 1e-8, + "supports_prompt_caching": true, + "litellm_provider": "deepinfra", + "mode": "chat", + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_vision": false, + "source": "https://deepinfra.com/pricing" + }, + "deepinfra/zai-org/GLM-5": { + "max_tokens": 202752, + "max_input_tokens": 202752, + "input_cost_per_token": 6e-7, + "output_cost_per_token": 0.00000208, + "cache_read_input_token_cost": 1.2e-7, + "supports_prompt_caching": true, + "litellm_provider": "deepinfra", + "mode": "chat", + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_vision": false, + "source": "https://deepinfra.com/pricing" + }, + "deepinfra/zai-org/GLM-5.1": { + "max_tokens": 202752, + "max_input_tokens": 202752, + "input_cost_per_token": 0.00000105, + "output_cost_per_token": 0.0000035, + "cache_read_input_token_cost": 2.05e-7, + "supports_prompt_caching": true, + "litellm_provider": "deepinfra", + "mode": "chat", + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_vision": false, + "source": "https://deepinfra.com/pricing" + }, + "deepinfra/zai-org/GLM-5.2": { + "max_tokens": 1048576, + "max_input_tokens": 1048576, + "input_cost_per_token": 7.5e-7, + "output_cost_per_token": 0.0000024, + "cache_read_input_token_cost": 1.4e-7, + "supports_prompt_caching": true, + "litellm_provider": "deepinfra", + "mode": "chat", + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_vision": false, + "source": "https://deepinfra.com/pricing" + }, + "deepseek-chat": { + "cache_read_input_token_cost": 2.8e-8, + "input_cost_per_token": 2.8e-7, + "litellm_provider": "deepseek", + "max_input_tokens": 131072, + "max_output_tokens": 8192, + "max_tokens": 8192, + "mode": "chat", + "output_cost_per_token": 4.2e-7, + "source": "https://api-docs.deepseek.com/quick_start/pricing", + "supported_endpoints": [ + "/v1/chat/completions" + ], + "supports_function_calling": true, + "supports_native_streaming": true, + "supports_parallel_function_calling": true, + "supports_prompt_caching": true, + "supports_response_schema": true, + "supports_system_messages": true, + "supports_tool_choice": true + }, + "deepseek-reasoner": { + "cache_read_input_token_cost": 2.8e-8, + "input_cost_per_token": 2.8e-7, + "litellm_provider": "deepseek", + "max_input_tokens": 131072, + "max_output_tokens": 65536, + "max_tokens": 65536, + "mode": "chat", + "output_cost_per_token": 4.2e-7, + "source": "https://api-docs.deepseek.com/quick_start/pricing", + "supported_endpoints": [ + "/v1/chat/completions" + ], + "supports_function_calling": false, + "supports_native_streaming": true, + "supports_parallel_function_calling": false, + "supports_prompt_caching": true, + "supports_reasoning": true, "supports_response_schema": true, "supports_system_messages": true, "supports_tool_choice": false @@ -13036,6 +15052,32 @@ "supports_tool_choice": true, "supports_vision": false }, + "deepseek-v4-flash-vision-exp": { + "cache_creation_input_token_cost": 0, + "cache_read_input_token_cost": 1.4e-8, + "input_cost_per_token": 4.4e-7, + "input_cost_per_token_cache_hit": 1.4e-8, + "litellm_provider": "deepseek", + "max_input_tokens": 1000000, + "max_output_tokens": 393216, + "max_tokens": 393216, + "mode": "chat", + "output_cost_per_token": 0.00000132, + "source": "https://api-docs.deepseek.com/quick_start/pricing", + "supported_endpoints": [ + "/v1/chat/completions" + ], + "supports_assistant_prefill": true, + "supports_function_calling": true, + "supports_native_streaming": true, + "supports_parallel_function_calling": true, + "supports_prompt_caching": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_system_messages": true, + "supports_tool_choice": true, + "supports_vision": true + }, "deepseek-v4-pro": { "cache_creation_input_token_cost": 0, "cache_read_input_token_cost": 4.4e-8, @@ -13223,6 +15265,32 @@ "supports_tool_choice": true, "supports_vision": false }, + "deepseek/deepseek-v4-flash-vision-exp": { + "cache_creation_input_token_cost": 0, + "cache_read_input_token_cost": 1.4e-8, + "input_cost_per_token": 4.4e-7, + "input_cost_per_token_cache_hit": 1.4e-8, + "litellm_provider": "deepseek", + "max_input_tokens": 1000000, + "max_output_tokens": 393216, + "max_tokens": 393216, + "mode": "chat", + "output_cost_per_token": 0.00000132, + "source": "https://api-docs.deepseek.com/quick_start/pricing", + "supported_endpoints": [ + "/v1/chat/completions" + ], + "supports_assistant_prefill": true, + "supports_function_calling": true, + "supports_native_streaming": true, + "supports_parallel_function_calling": true, + "supports_prompt_caching": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_system_messages": true, + "supports_tool_choice": true, + "supports_vision": true + }, "deepseek/deepseek-v4-pro": { "cache_creation_input_token_cost": 0, "cache_read_input_token_cost": 4.4e-8, @@ -13465,6 +15533,7 @@ "search_context_size_medium": 0.01 }, "supports_adaptive_thinking": true, + "thinking_always_on": true, "supports_mid_conversation_system": true, "supports_assistant_prefill": false, "supports_computer_use": true, @@ -13482,7 +15551,45 @@ "supports_output_config": true, "bedrock_output_config_effort_ceiling": "xhigh", "supports_parallel_tool_use_config": true, - "prompt_cache_min_tokens": 1024 + "prompt_cache_min_tokens": 512 + }, + "eu.anthropic.claude-fable-5-1": { + "cache_creation_input_token_cost": 0.00001375, + "cache_creation_input_token_cost_above_1hr": 0.000022, + "cache_read_input_token_cost": 2.75e-7, + "input_cost_per_token": 0.000011, + "litellm_provider": "bedrock_converse", + "max_input_tokens": 1000000, + "max_output_tokens": 128000, + "max_tokens": 128000, + "mode": "chat", + "output_cost_per_token": 0.000055, + "search_context_cost_per_query": { + "search_context_size_high": 0.01, + "search_context_size_low": 0.01, + "search_context_size_medium": 0.01 + }, + "supports_adaptive_thinking": true, + "thinking_always_on": true, + "supports_mid_conversation_system": true, + "supports_assistant_prefill": false, + "supports_computer_use": true, + "supports_forced_tool_use": false, + "supports_function_calling": true, + "supports_pdf_input": true, + "supports_prompt_caching": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_sampling_params": false, + "supports_tool_choice": true, + "supports_vision": true, + "supports_xhigh_reasoning_effort": true, + "supports_native_structured_output": false, + "supports_max_reasoning_effort": true, + "supports_output_config": true, + "bedrock_output_config_effort_ceiling": "xhigh", + "supports_parallel_tool_use_config": true, + "prompt_cache_min_tokens": 512 }, "eu.anthropic.claude-haiku-4-5-20251001-v1:0": { "cache_creation_input_token_cost": 0.000001375, @@ -13509,7 +15616,9 @@ "supports_vision": true, "supports_native_structured_output": true, "supports_parallel_tool_use_config": true, - "prompt_cache_min_tokens": 4096 + "prompt_cache_min_tokens": 4096, + "input_cost_per_token_batches": 5.5e-7, + "output_cost_per_token_batches": 0.00000275 }, "eu.anthropic.claude-opus-4-1-20250805-v1:0": { "cache_creation_input_token_cost": 0.00001875, @@ -13535,7 +15644,8 @@ "supports_response_schema": true, "supports_tool_choice": true, "supports_vision": true, - "prompt_cache_min_tokens": 1024 + "prompt_cache_min_tokens": 1024, + "deprecation_date": "2027-01-08" }, "eu.anthropic.claude-opus-4-20250514-v1:0": { "cache_creation_input_token_cost": 0.00001875, @@ -13596,6 +15706,7 @@ }, "eu.anthropic.claude-opus-4-6-v1": { "supports_adaptive_thinking": true, + "supports_legacy_thinking": true, "cache_creation_input_token_cost": 0.000006875, "cache_creation_input_token_cost_above_1hr": 0.000011, "cache_read_input_token_cost": 5.5e-7, @@ -13732,7 +15843,7 @@ "supports_tool_choice": true, "supports_vision": true, "supports_xhigh_reasoning_effort": true, - "supports_native_structured_output": true, + "supports_native_structured_output": false, "supports_max_reasoning_effort": true, "supports_output_config": true, "supports_parallel_tool_use_config": true, @@ -13803,10 +15914,13 @@ "supports_vision": true, "supports_native_structured_output": true, "supports_parallel_tool_use_config": true, - "prompt_cache_min_tokens": 1024 + "prompt_cache_min_tokens": 1024, + "input_cost_per_token_batches": 0.00000165, + "output_cost_per_token_batches": 0.00000825 }, "eu.anthropic.claude-sonnet-4-6": { "supports_adaptive_thinking": true, + "supports_legacy_thinking": true, "cache_creation_input_token_cost": 0.000004125, "cache_creation_input_token_cost_above_1hr": 0.0000066, "cache_read_input_token_cost": 3.3e-7, @@ -13868,7 +15982,7 @@ "supports_tool_choice": true, "supports_vision": true, "supports_xhigh_reasoning_effort": true, - "supports_native_structured_output": true, + "supports_native_structured_output": false, "supports_max_reasoning_effort": true, "supports_output_config": true, "bedrock_output_config_effort_ceiling": "xhigh", @@ -14431,6 +16545,22 @@ "supports_tool_choice": true, "supports_vision": false }, + "fireworks_ai/accounts/fireworks/models/deepseek-v4-flash-0731": { + "cache_read_input_token_cost": 7e-9, + "input_cost_per_token": 2.2e-7, + "litellm_provider": "fireworks_ai", + "max_input_tokens": 1048576, + "max_output_tokens": 131072, + "max_tokens": 131072, + "mode": "chat", + "output_cost_per_token": 6.6e-7, + "source": "https://docs.fireworks.ai/serverless/pricing", + "supports_function_calling": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_tool_choice": true, + "supports_vision": false + }, "fireworks_ai/accounts/fireworks/models/deepseek-v4-pro": { "cache_read_input_token_cost": 1.45e-7, "input_cost_per_token": 0.00000174, @@ -14447,6 +16577,22 @@ "supports_tool_choice": true, "supports_vision": false }, + "fireworks_ai/accounts/fireworks/models/deepseek-v4-pro-0813": { + "cache_read_input_token_cost": 4.4e-8, + "input_cost_per_token": 0.00000132, + "litellm_provider": "fireworks_ai", + "max_input_tokens": 1048576, + "max_output_tokens": 131072, + "max_tokens": 131072, + "mode": "chat", + "output_cost_per_token": 0.00000396, + "source": "https://docs.fireworks.ai/serverless/pricing", + "supports_function_calling": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_tool_choice": true, + "supports_vision": false + }, "fireworks_ai/accounts/fireworks/models/devstral-small-2505": { "max_tokens": 131072, "max_input_tokens": 131072, @@ -14730,6 +16876,22 @@ "supports_tool_choice": true, "supports_vision": false }, + "fireworks_ai/accounts/fireworks/models/glm-5p3": { + "cache_read_input_token_cost": 2.6e-7, + "input_cost_per_token": 0.0000014, + "litellm_provider": "fireworks_ai", + "max_input_tokens": 1048576, + "max_output_tokens": 128000, + "max_tokens": 128000, + "mode": "chat", + "output_cost_per_token": 0.0000044, + "source": "https://docs.fireworks.ai/serverless/pricing", + "supports_function_calling": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_tool_choice": true, + "supports_vision": false + }, "fireworks_ai/accounts/fireworks/models/gpt-oss-120b": { "cache_read_input_token_cost": 1.5e-8, "input_cost_per_token": 1.5e-7, @@ -14929,6 +17091,27 @@ "supports_tool_choice": true, "supports_vision": true }, + "fireworks_ai/accounts/fireworks/models/kimi-k3": { + "cache_read_input_token_cost": 3e-7, + "input_cost_per_token": 0.000003, + "litellm_provider": "fireworks_ai", + "max_input_tokens": 1048576, + "max_output_tokens": 131072, + "max_tokens": 131072, + "mode": "chat", + "output_cost_per_token": 0.000015, + "reasoning_effort_levels": [ + "low", + "high", + "max" + ], + "source": "https://docs.fireworks.ai/serverless/pricing", + "supports_function_calling": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_tool_choice": true, + "supports_vision": true + }, "fireworks_ai/accounts/fireworks/models/llama-guard-2-8b": { "max_tokens": 8192, "max_input_tokens": 8192, @@ -15460,6 +17643,22 @@ "litellm_provider": "fireworks_ai", "mode": "chat" }, + "fireworks_ai/accounts/fireworks/models/muse-glimmer-30b": { + "cache_read_input_token_cost": 4e-8, + "input_cost_per_token": 3.5e-7, + "litellm_provider": "fireworks_ai", + "max_input_tokens": 131072, + "max_output_tokens": 16384, + "max_tokens": 16384, + "mode": "chat", + "output_cost_per_token": 0.0000015, + "source": "https://docs.fireworks.ai/serverless/pricing", + "supports_function_calling": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_tool_choice": true, + "supports_vision": true + }, "fireworks_ai/accounts/fireworks/models/mythomax-l2-13b": { "max_tokens": 4096, "max_input_tokens": 4096, @@ -15469,6 +17668,38 @@ "litellm_provider": "fireworks_ai", "mode": "chat" }, + "fireworks_ai/accounts/fireworks/models/nemotron-3-ultra-nvfp4": { + "cache_read_input_token_cost": 1.2e-7, + "input_cost_per_token": 6e-7, + "litellm_provider": "fireworks_ai", + "max_input_tokens": 262144, + "max_output_tokens": 32768, + "max_tokens": 32768, + "mode": "chat", + "output_cost_per_token": 0.0000024, + "source": "https://docs.fireworks.ai/serverless/pricing", + "supports_function_calling": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_tool_choice": true, + "supports_vision": false + }, + "fireworks_ai/accounts/fireworks/models/nemotron-lightning-3p5-30b-a3b": { + "cache_read_input_token_cost": 1e-8, + "input_cost_per_token": 5e-8, + "litellm_provider": "fireworks_ai", + "max_input_tokens": 262144, + "max_output_tokens": 32768, + "max_tokens": 32768, + "mode": "chat", + "output_cost_per_token": 2e-7, + "source": "https://docs.fireworks.ai/serverless/pricing", + "supports_function_calling": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_tool_choice": true, + "supports_vision": false + }, "fireworks_ai/accounts/fireworks/models/nemotron-nano-v2-12b-vl": { "max_tokens": 4096, "max_input_tokens": 4096, @@ -16252,6 +18483,20 @@ "supports_tool_choice": true, "supports_vision": true }, + "fireworks_ai/accounts/fireworks/models/qwen3p8-max": { + "cache_read_input_token_cost": 2.5e-7, + "input_cost_per_token": 0.000002, + "litellm_provider": "fireworks_ai", + "max_input_tokens": 262144, + "mode": "chat", + "output_cost_per_token": 0.000006, + "source": "https://docs.fireworks.ai/serverless/pricing", + "supports_function_calling": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_tool_choice": true, + "supports_vision": true + }, "fireworks_ai/accounts/fireworks/models/qwq-32b": { "max_tokens": 131072, "max_input_tokens": 131072, @@ -16416,6 +18661,38 @@ "supports_tool_choice": true, "supports_vision": false }, + "fireworks_ai/accounts/fireworks/routers/glm-5p2-fast": { + "cache_read_input_token_cost": 2.1e-7, + "input_cost_per_token": 0.0000021, + "litellm_provider": "fireworks_ai", + "max_input_tokens": 1048576, + "max_output_tokens": 131072, + "max_tokens": 131072, + "mode": "chat", + "output_cost_per_token": 0.0000066, + "source": "https://docs.fireworks.ai/serverless/pricing", + "supports_function_calling": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_tool_choice": true, + "supports_vision": false + }, + "fireworks_ai/accounts/fireworks/routers/glm-5p2-fast-us": { + "cache_read_input_token_cost": 2.1e-7, + "input_cost_per_token": 0.0000021, + "litellm_provider": "fireworks_ai", + "max_input_tokens": 1048576, + "max_output_tokens": 131072, + "max_tokens": 131072, + "mode": "chat", + "output_cost_per_token": 0.0000066, + "source": "https://docs.fireworks.ai/serverless/pricing", + "supports_function_calling": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_tool_choice": true, + "supports_vision": false + }, "fireworks_ai/accounts/fireworks/routers/kimi-k2p6-fast": { "cache_read_input_token_cost": 3e-7, "input_cost_per_token": 0.000002, @@ -16448,6 +18725,48 @@ "supports_tool_choice": true, "supports_vision": true }, + "fireworks_ai/accounts/fireworks/routers/kimi-k3-fast": { + "cache_read_input_token_cost": 4.5e-7, + "input_cost_per_token": 0.0000045, + "litellm_provider": "fireworks_ai", + "max_input_tokens": 1048576, + "max_output_tokens": 131072, + "max_tokens": 131072, + "mode": "chat", + "output_cost_per_token": 0.0000225, + "reasoning_effort_levels": [ + "low", + "high", + "max" + ], + "source": "https://docs.fireworks.ai/serverless/pricing", + "supports_function_calling": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_tool_choice": true, + "supports_vision": true + }, + "fireworks_ai/accounts/fireworks/routers/kimi-k3-us": { + "cache_read_input_token_cost": 3.3e-7, + "input_cost_per_token": 0.0000033, + "litellm_provider": "fireworks_ai", + "max_input_tokens": 1048576, + "max_output_tokens": 131072, + "max_tokens": 131072, + "mode": "chat", + "output_cost_per_token": 0.0000165, + "reasoning_effort_levels": [ + "low", + "high", + "max" + ], + "source": "https://docs.fireworks.ai/serverless/pricing", + "supports_function_calling": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_tool_choice": true, + "supports_vision": true + }, "fireworks_ai/deepseek-v4-flash": { "cache_read_input_token_cost": 2.8e-8, "input_cost_per_token": 1.4e-7, @@ -16464,6 +18783,22 @@ "supports_tool_choice": true, "supports_vision": false }, + "fireworks_ai/deepseek-v4-flash-0731": { + "cache_read_input_token_cost": 7e-9, + "input_cost_per_token": 2.2e-7, + "litellm_provider": "fireworks_ai", + "max_input_tokens": 1048576, + "max_output_tokens": 131072, + "max_tokens": 131072, + "mode": "chat", + "output_cost_per_token": 6.6e-7, + "source": "https://docs.fireworks.ai/serverless/pricing", + "supports_function_calling": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_tool_choice": true, + "supports_vision": false + }, "fireworks_ai/deepseek-v4-pro": { "cache_read_input_token_cost": 1.45e-7, "input_cost_per_token": 0.00000174, @@ -16543,6 +18878,38 @@ "supports_tool_choice": true, "supports_vision": false }, + "fireworks_ai/glm-5p2-fast": { + "cache_read_input_token_cost": 2.1e-7, + "input_cost_per_token": 0.0000021, + "litellm_provider": "fireworks_ai", + "max_input_tokens": 1048576, + "max_output_tokens": 131072, + "max_tokens": 131072, + "mode": "chat", + "output_cost_per_token": 0.0000066, + "source": "https://docs.fireworks.ai/serverless/pricing", + "supports_function_calling": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_tool_choice": true, + "supports_vision": false + }, + "fireworks_ai/glm-5p2-fast-us": { + "cache_read_input_token_cost": 2.1e-7, + "input_cost_per_token": 0.0000021, + "litellm_provider": "fireworks_ai", + "max_input_tokens": 1048576, + "max_output_tokens": 131072, + "max_tokens": 131072, + "mode": "chat", + "output_cost_per_token": 0.0000066, + "source": "https://docs.fireworks.ai/serverless/pricing", + "supports_function_calling": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_tool_choice": true, + "supports_vision": false + }, "fireworks_ai/gpt-oss-120b": { "cache_read_input_token_cost": 1.5e-8, "input_cost_per_token": 1.5e-7, @@ -16653,6 +19020,69 @@ "supports_tool_choice": true, "supports_vision": true }, + "fireworks_ai/kimi-k3": { + "cache_read_input_token_cost": 3e-7, + "input_cost_per_token": 0.000003, + "litellm_provider": "fireworks_ai", + "max_input_tokens": 1048576, + "max_output_tokens": 131072, + "max_tokens": 131072, + "mode": "chat", + "output_cost_per_token": 0.000015, + "reasoning_effort_levels": [ + "low", + "high", + "max" + ], + "source": "https://docs.fireworks.ai/serverless/pricing", + "supports_function_calling": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_tool_choice": true, + "supports_vision": true + }, + "fireworks_ai/kimi-k3-fast": { + "cache_read_input_token_cost": 4.5e-7, + "input_cost_per_token": 0.0000045, + "litellm_provider": "fireworks_ai", + "max_input_tokens": 1048576, + "max_output_tokens": 131072, + "max_tokens": 131072, + "mode": "chat", + "output_cost_per_token": 0.0000225, + "reasoning_effort_levels": [ + "low", + "high", + "max" + ], + "source": "https://docs.fireworks.ai/serverless/pricing", + "supports_function_calling": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_tool_choice": true, + "supports_vision": true + }, + "fireworks_ai/kimi-k3-us": { + "cache_read_input_token_cost": 3.3e-7, + "input_cost_per_token": 0.0000033, + "litellm_provider": "fireworks_ai", + "max_input_tokens": 1048576, + "max_output_tokens": 131072, + "max_tokens": 131072, + "mode": "chat", + "output_cost_per_token": 0.0000165, + "reasoning_effort_levels": [ + "low", + "high", + "max" + ], + "source": "https://docs.fireworks.ai/serverless/pricing", + "supports_function_calling": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_tool_choice": true, + "supports_vision": true + }, "fireworks_ai/minimax-m2p1": { "cache_read_input_token_cost": 3e-8, "input_cost_per_token": 3e-7, @@ -16699,6 +19129,54 @@ "supports_tool_choice": true, "supports_vision": true }, + "fireworks_ai/muse-glimmer-30b": { + "cache_read_input_token_cost": 4e-8, + "input_cost_per_token": 3.5e-7, + "litellm_provider": "fireworks_ai", + "max_input_tokens": 131072, + "max_output_tokens": 16384, + "max_tokens": 16384, + "mode": "chat", + "output_cost_per_token": 0.0000015, + "source": "https://docs.fireworks.ai/serverless/pricing", + "supports_function_calling": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_tool_choice": true, + "supports_vision": true + }, + "fireworks_ai/nemotron-3-ultra-nvfp4": { + "cache_read_input_token_cost": 1.2e-7, + "input_cost_per_token": 6e-7, + "litellm_provider": "fireworks_ai", + "max_input_tokens": 262144, + "max_output_tokens": 32768, + "max_tokens": 32768, + "mode": "chat", + "output_cost_per_token": 0.0000024, + "source": "https://docs.fireworks.ai/serverless/pricing", + "supports_function_calling": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_tool_choice": true, + "supports_vision": false + }, + "fireworks_ai/nemotron-lightning-3p5-30b-a3b": { + "cache_read_input_token_cost": 1e-8, + "input_cost_per_token": 5e-8, + "litellm_provider": "fireworks_ai", + "max_input_tokens": 262144, + "max_output_tokens": 32768, + "max_tokens": 32768, + "mode": "chat", + "output_cost_per_token": 2e-7, + "source": "https://docs.fireworks.ai/serverless/pricing", + "supports_function_calling": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_tool_choice": true, + "supports_vision": false + }, "fireworks_ai/qwen3p7-plus": { "cache_read_input_token_cost": 8e-8, "input_cost_per_token": 4e-7, @@ -16715,6 +19193,20 @@ "supports_tool_choice": true, "supports_vision": true }, + "fireworks_ai/qwen3p8-max": { + "cache_read_input_token_cost": 2.5e-7, + "input_cost_per_token": 0.000002, + "litellm_provider": "fireworks_ai", + "max_input_tokens": 262144, + "mode": "chat", + "output_cost_per_token": 0.000006, + "source": "https://docs.fireworks.ai/serverless/pricing", + "supports_function_calling": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_tool_choice": true, + "supports_vision": true + }, "friendliai/meta-llama-3.1-70b-instruct": { "input_cost_per_token": 6e-7, "litellm_provider": "friendliai", @@ -16743,6 +19235,61 @@ "supports_system_messages": true, "supports_tool_choice": true }, + "friendliai/zai-org/GLM-5.3": { + "litellm_provider": "friendliai", + "supports_reasoning": true, + "supports_function_calling": true, + "max_input_tokens": 1048576, + "max_tokens": 1048576, + "max_output_tokens": 1048576, + "input_cost_per_token": 0.00000126, + "output_cost_per_token": 0.00000396, + "cache_read_input_token_cost": 2.34e-7, + "supports_prompt_caching": true, + "reasoning_effort_levels": [ + "low", + "high", + "max" + ], + "supports_parallel_function_calling": true, + "supports_response_schema": true, + "supports_native_structured_output": true, + "supports_system_messages": true, + "supports_tool_choice": true, + "mode": "chat", + "comment": "Flagship GLM model for long-horizon coding, agents, and complex project delivery", + "source": "https://api.friendli.ai/serverless/v1/models", + "supports_vision": false, + "supports_image_input": false + }, + "friendliai/zai-org/GLM-5.3-Flash": { + "litellm_provider": "friendliai", + "supports_reasoning": true, + "supports_function_calling": true, + "max_input_tokens": 1048576, + "max_tokens": 1048576, + "max_output_tokens": 1048576, + "input_cost_per_token": 1.5e-7, + "output_cost_per_token": 5e-7, + "cache_read_input_token_cost": 3e-8, + "supports_prompt_caching": true, + "reasoning_effort_levels": [ + "low", + "high", + "max" + ], + "supports_parallel_function_calling": true, + "supports_response_schema": true, + "supports_native_structured_output": true, + "supports_system_messages": true, + "supports_tool_choice": true, + "mode": "chat", + "comment": "Native multimodal GLM model for efficient coding and long-horizon agent tasks", + "source": "https://api.friendli.ai/serverless/v1/models", + "supports_vision": true, + "supports_image_input": true, + "supports_video_input": true + }, "ft:gpt-3.5-turbo": { "deprecation_date": "2026-10-23", "input_cost_per_token": 0.000003, @@ -17151,6 +19698,7 @@ "search_context_size_medium": 0.035, "search_context_size_high": 0.035 }, + "google_maps_grounding_cost_per_query": 0.025, "supports_image_size": false }, "gemini-2.5-flash-image": { @@ -17242,11 +19790,12 @@ "search_context_size_medium": 0.035, "search_context_size_high": 0.035 }, + "google_maps_grounding_cost_per_query": 0.025, "supports_image_size": false }, "gemini-2.5-flash-lite-preview-06-17": { "deprecation_date": "2025-11-18", - "cache_read_input_token_cost": 2.5e-8, + "cache_read_input_token_cost": 1e-8, "input_cost_per_audio_token": 5e-7, "input_cost_per_token": 1e-7, "litellm_provider": "vertex_ai-language-models", @@ -17256,7 +19805,7 @@ "mode": "chat", "output_cost_per_reasoning_token": 4e-7, "output_cost_per_token": 4e-7, - "source": "https://ai.google.dev/gemini-api/docs/models#gemini-2.5-flash-preview", + "source": "https://cloud.google.com/vertex-ai/generative-ai/pricing", "supported_endpoints": [ "/v1/chat/completions", "/v1/completions", @@ -17288,6 +19837,7 @@ "search_context_size_medium": 0.035, "search_context_size_high": 0.035 }, + "google_maps_grounding_cost_per_query": 0.025, "supports_image_size": false }, "gemini-2.5-flash-lite-preview-09-2025": { @@ -17333,18 +19883,20 @@ "search_context_size_medium": 0.035, "search_context_size_high": 0.035 }, + "google_maps_grounding_cost_per_query": 0.025, "supports_image_size": false }, "gemini-2.5-flash-native-audio-latest": { - "input_cost_per_audio_token": 0.000001, - "input_cost_per_token": 3e-7, + "input_cost_per_audio_token": 0.000003, + "input_cost_per_token": 5e-7, "litellm_provider": "gemini", "max_input_tokens": 1048576, "max_output_tokens": 8192, "max_tokens": 8192, "mode": "chat", - "output_cost_per_token": 0.0000025, - "source": "https://ai.google.dev/pricing", + "output_cost_per_audio_token": 0.000012, + "output_cost_per_token": 0.000002, + "source": "https://ai.google.dev/gemini-api/docs/pricing", "supported_endpoints": [ "/v1/realtime" ], @@ -17361,15 +19913,16 @@ "gemini_native_audio": true }, "gemini-2.5-flash-native-audio-preview-09-2025": { - "input_cost_per_audio_token": 0.000001, - "input_cost_per_token": 3e-7, + "input_cost_per_audio_token": 0.000003, + "input_cost_per_token": 5e-7, "litellm_provider": "gemini", "max_input_tokens": 1048576, "max_output_tokens": 8192, "max_tokens": 8192, "mode": "chat", - "output_cost_per_token": 0.0000025, - "source": "https://ai.google.dev/pricing", + "output_cost_per_audio_token": 0.000012, + "output_cost_per_token": 0.000002, + "source": "https://ai.google.dev/gemini-api/docs/pricing", "supported_endpoints": [ "/v1/realtime" ], @@ -17386,15 +19939,16 @@ "gemini_native_audio": true }, "gemini-2.5-flash-native-audio-preview-12-2025": { - "input_cost_per_audio_token": 0.000001, - "input_cost_per_token": 3e-7, + "input_cost_per_audio_token": 0.000003, + "input_cost_per_token": 5e-7, "litellm_provider": "gemini", "max_input_tokens": 1048576, "max_output_tokens": 8192, "max_tokens": 8192, "mode": "chat", - "output_cost_per_token": 0.0000025, - "source": "https://ai.google.dev/pricing", + "output_cost_per_audio_token": 0.000012, + "output_cost_per_token": 0.000002, + "source": "https://ai.google.dev/gemini-api/docs/pricing", "supported_endpoints": [ "/v1/realtime" ], @@ -17411,7 +19965,7 @@ "gemini_native_audio": true }, "gemini-2.5-flash-preview-09-2025": { - "cache_read_input_token_cost": 7.5e-8, + "cache_read_input_token_cost": 3e-8, "input_cost_per_audio_token": 0.000001, "input_cost_per_token": 3e-7, "litellm_provider": "vertex_ai-language-models", @@ -17421,7 +19975,7 @@ "mode": "chat", "output_cost_per_reasoning_token": 0.0000025, "output_cost_per_token": 0.0000025, - "source": "https://developers.googleblog.com/en/continuing-to-bring-you-our-latest-models-with-an-improved-gemini-2-5-flash-and-flash-lite-release/", + "source": "https://cloud.google.com/vertex-ai/generative-ai/pricing", "supported_endpoints": [ "/v1/chat/completions", "/v1/completions", @@ -17453,6 +20007,7 @@ "search_context_size_medium": 0.035, "search_context_size_high": 0.035 }, + "google_maps_grounding_cost_per_query": 0.025, "supports_image_size": false }, "gemini-2.5-pro": { @@ -17498,22 +20053,20 @@ "search_context_size_low": 0.035, "search_context_size_medium": 0.035, "search_context_size_high": 0.035 - } + }, + "google_maps_grounding_cost_per_query": 0.025 }, "gemini-2.5-pro-preview-tts": { "cache_read_input_token_cost": 1.25e-7, - "cache_read_input_token_cost_above_200k_tokens": 2.5e-7, "input_cost_per_audio_token": 7e-7, - "input_cost_per_token": 0.00000125, - "input_cost_per_token_above_200k_tokens": 0.0000025, + "input_cost_per_token": 0.000001, "litellm_provider": "vertex_ai-language-models", "max_input_tokens": 1048576, "max_output_tokens": 65535, "max_tokens": 65535, "mode": "chat", - "output_cost_per_token": 0.00001, - "output_cost_per_token_above_200k_tokens": 0.000015, - "source": "https://ai.google.dev/gemini-api/docs/pricing#gemini-2.5-pro-preview", + "output_cost_per_token": 0.00002, + "source": "https://ai.google.dev/gemini-api/docs/pricing", "supported_modalities": [ "text" ], @@ -17546,7 +20099,7 @@ "mode": "chat", "output_cost_per_reasoning_token": 0.000003, "output_cost_per_token": 0.000003, - "source": "https://ai.google.dev/pricing/gemini-3", + "source": "https://ai.google.dev/gemini-api/docs/pricing", "supported_endpoints": [ "/v1/chat/completions", "/v1/completions", @@ -17583,7 +20136,8 @@ "search_context_size_medium": 0.014, "search_context_size_high": 0.014 }, - "web_search_billing_unit": "per_query" + "web_search_billing_unit": "per_query", + "google_maps_grounding_cost_per_query": 0.014 }, "gemini-3-pro-image": { "deprecation_date": "2027-05-28", @@ -17854,7 +20408,46 @@ "search_context_size_medium": 0.014, "search_context_size_high": 0.014 }, - "web_search_billing_unit": "per_query" + "web_search_billing_unit": "per_query", + "google_maps_grounding_cost_per_query": 0.014 + }, + "gemini-3.1-flash-lite-image": { + "cache_read_input_token_cost": 2.5e-8, + "input_cost_per_image": 0.00028, + "input_cost_per_token": 2.5e-7, + "input_cost_per_token_batches": 1.25e-7, + "litellm_provider": "vertex_ai-language-models", + "max_input_tokens": 65536, + "max_output_tokens": 4096, + "max_tokens": 4096, + "mode": "image_generation", + "output_cost_per_image": 0.0336, + "output_cost_per_image_token": 0.00003, + "output_cost_per_token": 0.0000015, + "output_cost_per_token_batches": 7.5e-7, + "source": "https://cloud.google.com/gemini-enterprise-agent-platform/generative-ai/pricing", + "supported_endpoints": [ + "/v1/chat/completions", + "/v1/completions", + "/v1/batch" + ], + "supported_modalities": [ + "text", + "image", + "video" + ], + "supported_output_modalities": [ + "text", + "image" + ], + "supports_function_calling": false, + "supports_pdf_input": true, + "supports_prompt_caching": true, + "supports_reasoning": false, + "supports_response_schema": false, + "supports_system_messages": true, + "supports_video_input": true, + "supports_vision": true }, "gemini-3.1-flash-lite-preview": { "cache_read_input_token_cost": 2.5e-8, @@ -17902,7 +20495,8 @@ "search_context_size_medium": 0.014, "search_context_size_high": 0.014 }, - "web_search_billing_unit": "per_query" + "web_search_billing_unit": "per_query", + "google_maps_grounding_cost_per_query": 0.014 }, "gemini-3.1-flash-live-preview": { "input_cost_per_audio_token": 0.000003, @@ -17993,7 +20587,8 @@ "search_context_size_medium": 0.014, "search_context_size_high": 0.014 }, - "web_search_billing_unit": "per_query" + "web_search_billing_unit": "per_query", + "google_maps_grounding_cost_per_query": 0.014 }, "gemini-3.1-pro-preview-customtools": { "prompt_cache_min_tokens": 4096, @@ -18045,13 +20640,14 @@ "search_context_size_medium": 0.014, "search_context_size_high": 0.014 }, - "web_search_billing_unit": "per_query" + "web_search_billing_unit": "per_query", + "google_maps_grounding_cost_per_query": 0.014 }, "gemini-3.5-flash": { "prompt_cache_min_tokens": 4096, "deprecation_date": "2027-05-19", "cache_read_input_token_cost": 1.5e-7, - "input_cost_per_audio_token": 0.000001, + "input_cost_per_audio_token": 0.0000015, "input_cost_per_token": 0.0000015, "litellm_provider": "vertex_ai-language-models", "max_input_tokens": 1048576, @@ -18060,7 +20656,7 @@ "mode": "chat", "output_cost_per_reasoning_token": 0.000009, "output_cost_per_token": 0.000009, - "source": "https://ai.google.dev/pricing/gemini-3", + "source": "https://ai.google.dev/gemini-api/docs/pricing", "supported_endpoints": [ "/v1/chat/completions", "/v1/completions", @@ -18091,7 +20687,7 @@ "supports_web_search": true, "supports_native_streaming": true, "input_cost_per_token_priority": 0.0000027, - "input_cost_per_audio_token_priority": 0.0000018, + "input_cost_per_audio_token_priority": 0.0000027, "output_cost_per_token_priority": 0.0000162, "cache_read_input_token_cost_priority": 2.7e-7, "search_context_cost_per_query": { @@ -18099,12 +20695,18 @@ "search_context_size_medium": 0.014, "search_context_size_high": 0.014 }, - "web_search_billing_unit": "per_query" + "web_search_billing_unit": "per_query", + "google_maps_grounding_cost_per_query": 0.014, + "input_cost_per_token_batches": 7.5e-7, + "output_cost_per_token_batches": 0.0000045, + "input_cost_per_token_flex": 7.5e-7, + "output_cost_per_token_flex": 0.0000045, + "cache_read_input_token_cost_flex": 7.5e-8 }, "gemini-3.5-flash-lite": { "deprecation_date": "2027-07-21", "cache_read_input_token_cost": 3e-8, - "cache_read_input_token_cost_flex": 2e-8, + "cache_read_input_token_cost_flex": 1.5e-8, "cache_read_input_token_cost_priority": 5e-8, "input_cost_per_token": 3e-7, "input_cost_per_token_batches": 1.5e-7, @@ -18155,7 +20757,8 @@ "search_context_size_medium": 0.014, "search_context_size_high": 0.014 }, - "web_search_billing_unit": "per_query" + "web_search_billing_unit": "per_query", + "google_maps_grounding_cost_per_query": 0.014 }, "gemini-3.6-flash": { "prompt_cache_min_tokens": 4096, @@ -18173,7 +20776,7 @@ "output_cost_per_token": 0.00000375, "output_cost_per_token_batches": 0.000001875, "output_cost_per_token_flex": 0.000001875, - "source": "https://ai.google.dev/pricing/gemini-3", + "source": "https://ai.google.dev/gemini-api/docs/pricing", "supported_endpoints": [ "/v1/chat/completions", "/v1/completions", @@ -18211,7 +20814,8 @@ "search_context_size_medium": 0.014, "search_context_size_high": 0.014 }, - "web_search_billing_unit": "per_query" + "web_search_billing_unit": "per_query", + "google_maps_grounding_cost_per_query": 0.014 }, "gemini-3.7-flash": { "prompt_cache_min_tokens": 4096, @@ -18229,7 +20833,7 @@ "output_cost_per_token": 0.00000375, "output_cost_per_token_batches": 0.000001875, "output_cost_per_token_flex": 0.000001875, - "source": "https://ai.google.dev/pricing/gemini-3", + "source": "https://ai.google.dev/gemini-api/docs/pricing", "supported_endpoints": [ "/v1/chat/completions", "/v1/completions", @@ -18267,7 +20871,8 @@ "search_context_size_medium": 0.014, "search_context_size_high": 0.014 }, - "web_search_billing_unit": "per_query" + "web_search_billing_unit": "per_query", + "google_maps_grounding_cost_per_query": 0.014 }, "gemini-exp-1206": { "cache_read_input_token_cost": 3e-8, @@ -18359,7 +20964,8 @@ "search_context_size_low": 0.035, "search_context_size_medium": 0.035, "search_context_size_high": 0.035 - } + }, + "google_maps_grounding_cost_per_query": 0.025 }, "gemini-flash-lite-latest": { "cache_read_input_token_cost": 1e-8, @@ -18405,7 +21011,8 @@ "search_context_size_low": 0.035, "search_context_size_medium": 0.035, "search_context_size_high": 0.035 - } + }, + "google_maps_grounding_cost_per_query": 0.025 }, "gemini-omni-flash-preview": { "input_cost_per_audio_token": 0.0000015, @@ -18481,7 +21088,8 @@ "search_context_size_low": 0.035, "search_context_size_medium": 0.035, "search_context_size_high": 0.035 - } + }, + "google_maps_grounding_cost_per_query": 0.025 }, "gemini-robotics-er-1.5-preview": { "cache_read_input_token_cost": 0, @@ -18785,6 +21393,7 @@ "search_context_size_medium": 0.035, "search_context_size_high": 0.035 }, + "google_maps_grounding_cost_per_query": 0.025, "supports_image_size": false }, "gemini/gemini-2.5-flash-image": { @@ -18883,11 +21492,12 @@ "search_context_size_medium": 0.035, "search_context_size_high": 0.035 }, + "google_maps_grounding_cost_per_query": 0.025, "supports_image_size": false }, "gemini/gemini-2.5-flash-lite-preview-06-17": { "deprecation_date": "2025-11-18", - "cache_read_input_token_cost": 2.5e-8, + "cache_read_input_token_cost": 1e-8, "input_cost_per_audio_token": 5e-7, "input_cost_per_token": 1e-7, "litellm_provider": "gemini", @@ -18898,7 +21508,7 @@ "output_cost_per_reasoning_token": 4e-7, "output_cost_per_token": 4e-7, "rpm": 15, - "source": "https://ai.google.dev/gemini-api/docs/models#gemini-2.5-flash-lite", + "source": "https://ai.google.dev/gemini-api/docs/pricing", "supported_endpoints": [ "/v1/chat/completions", "/v1/completions", @@ -18931,6 +21541,7 @@ "search_context_size_medium": 0.035, "search_context_size_high": 0.035 }, + "google_maps_grounding_cost_per_query": 0.025, "supports_image_size": false }, "gemini/gemini-2.5-flash-lite-preview-09-2025": { @@ -18979,18 +21590,20 @@ "search_context_size_medium": 0.035, "search_context_size_high": 0.035 }, + "google_maps_grounding_cost_per_query": 0.025, "supports_image_size": false }, "gemini/gemini-2.5-flash-native-audio-latest": { - "input_cost_per_audio_token": 0.000001, - "input_cost_per_token": 3e-7, + "input_cost_per_audio_token": 0.000003, + "input_cost_per_token": 5e-7, "litellm_provider": "gemini", "max_input_tokens": 1048576, "max_output_tokens": 8192, "max_tokens": 8192, "mode": "chat", - "output_cost_per_token": 0.0000025, - "source": "https://ai.google.dev/pricing", + "output_cost_per_audio_token": 0.000012, + "output_cost_per_token": 0.000002, + "source": "https://ai.google.dev/gemini-api/docs/pricing", "supported_endpoints": [ "/v1/realtime" ], @@ -19009,15 +21622,16 @@ "gemini_native_audio": true }, "gemini/gemini-2.5-flash-native-audio-preview-09-2025": { - "input_cost_per_audio_token": 0.000001, - "input_cost_per_token": 3e-7, + "input_cost_per_audio_token": 0.000003, + "input_cost_per_token": 5e-7, "litellm_provider": "gemini", "max_input_tokens": 1048576, "max_output_tokens": 8192, "max_tokens": 8192, "mode": "chat", - "output_cost_per_token": 0.0000025, - "source": "https://ai.google.dev/pricing", + "output_cost_per_audio_token": 0.000012, + "output_cost_per_token": 0.000002, + "source": "https://ai.google.dev/gemini-api/docs/pricing", "supported_endpoints": [ "/v1/realtime" ], @@ -19036,15 +21650,16 @@ "gemini_native_audio": true }, "gemini/gemini-2.5-flash-native-audio-preview-12-2025": { - "input_cost_per_audio_token": 0.000001, - "input_cost_per_token": 3e-7, + "input_cost_per_audio_token": 0.000003, + "input_cost_per_token": 5e-7, "litellm_provider": "gemini", "max_input_tokens": 1048576, "max_output_tokens": 8192, "max_tokens": 8192, "mode": "chat", - "output_cost_per_token": 0.0000025, - "source": "https://ai.google.dev/pricing", + "output_cost_per_audio_token": 0.000012, + "output_cost_per_token": 0.000002, + "source": "https://ai.google.dev/gemini-api/docs/pricing", "supported_endpoints": [ "/v1/realtime" ], @@ -19063,7 +21678,7 @@ "gemini_native_audio": true }, "gemini/gemini-2.5-flash-preview-09-2025": { - "cache_read_input_token_cost": 7.5e-8, + "cache_read_input_token_cost": 3e-8, "deprecation_date": "2026-02-17", "input_cost_per_audio_token": 0.000001, "input_cost_per_token": 3e-7, @@ -19075,7 +21690,7 @@ "output_cost_per_reasoning_token": 0.0000025, "output_cost_per_token": 0.0000025, "rpm": 15, - "source": "https://developers.googleblog.com/en/continuing-to-bring-you-our-latest-models-with-an-improved-gemini-2-5-flash-and-flash-lite-release/", + "source": "https://ai.google.dev/gemini-api/docs/pricing", "supported_endpoints": [ "/v1/chat/completions", "/v1/completions", @@ -19108,6 +21723,7 @@ "search_context_size_medium": 0.035, "search_context_size_high": 0.035 }, + "google_maps_grounding_cost_per_query": 0.025, "supports_image_size": false }, "gemini/gemini-2.5-pro": { @@ -19157,23 +21773,21 @@ "search_context_size_low": 0.035, "search_context_size_medium": 0.035, "search_context_size_high": 0.035 - } + }, + "google_maps_grounding_cost_per_query": 0.025 }, "gemini/gemini-2.5-pro-preview-tts": { "cache_read_input_token_cost": 1.25e-7, - "cache_read_input_token_cost_above_200k_tokens": 2.5e-7, "input_cost_per_audio_token": 7e-7, - "input_cost_per_token": 0.00000125, - "input_cost_per_token_above_200k_tokens": 0.0000025, + "input_cost_per_token": 0.000001, "litellm_provider": "gemini", "max_input_tokens": 1048576, "max_output_tokens": 65535, "max_tokens": 65535, "mode": "chat", - "output_cost_per_token": 0.00001, - "output_cost_per_token_above_200k_tokens": 0.000015, + "output_cost_per_token": 0.00002, "rpm": 10000, - "source": "https://ai.google.dev/gemini-api/docs/pricing#gemini-2.5-pro-preview", + "source": "https://ai.google.dev/gemini-api/docs/pricing", "supported_modalities": [ "text" ], @@ -19207,7 +21821,7 @@ "output_cost_per_reasoning_token": 0.000003, "output_cost_per_token": 0.000003, "rpm": 2000, - "source": "https://ai.google.dev/pricing/gemini-3", + "source": "https://ai.google.dev/gemini-api/docs/pricing", "supported_endpoints": [ "/v1/chat/completions", "/v1/completions", @@ -19245,7 +21859,8 @@ "search_context_size_medium": 0.014, "search_context_size_high": 0.014 }, - "web_search_billing_unit": "per_query" + "web_search_billing_unit": "per_query", + "google_maps_grounding_cost_per_query": 0.014 }, "gemini/gemini-3-pro-image": { "input_cost_per_image": 0.0011, @@ -19532,7 +22147,44 @@ "search_context_size_medium": 0.014, "search_context_size_high": 0.014 }, - "web_search_billing_unit": "per_query" + "web_search_billing_unit": "per_query", + "google_maps_grounding_cost_per_query": 0.014 + }, + "gemini/gemini-3.1-flash-lite-image": { + "input_cost_per_image": 0.00028, + "input_cost_per_token": 2.5e-7, + "input_cost_per_token_batches": 1.25e-7, + "litellm_provider": "gemini", + "max_input_tokens": 65536, + "max_output_tokens": 4096, + "max_tokens": 4096, + "mode": "image_generation", + "output_cost_per_image": 0.0336, + "output_cost_per_image_token": 0.00003, + "output_cost_per_token": 0.0000015, + "output_cost_per_token_batches": 7.5e-7, + "rpm": 1000, + "source": "https://ai.google.dev/gemini-api/docs/pricing#gemini-3.1-flash-lite-image", + "supported_endpoints": [ + "/v1/chat/completions", + "/v1/completions", + "/v1/batch" + ], + "supported_modalities": [ + "text", + "image" + ], + "supported_output_modalities": [ + "text", + "image" + ], + "supports_function_calling": true, + "supports_prompt_caching": false, + "supports_reasoning": false, + "supports_response_schema": false, + "supports_system_messages": true, + "supports_vision": true, + "tpm": 4000000 }, "gemini/gemini-3.1-flash-lite-preview": { "cache_read_input_token_cost": 2.5e-8, @@ -19583,7 +22235,8 @@ "search_context_size_medium": 0.014, "search_context_size_high": 0.014 }, - "web_search_billing_unit": "per_query" + "web_search_billing_unit": "per_query", + "google_maps_grounding_cost_per_query": 0.014 }, "gemini/gemini-3.1-flash-live-preview": { "input_cost_per_audio_token": 0.000003, @@ -19676,7 +22329,8 @@ "search_context_size_medium": 0.014, "search_context_size_high": 0.014 }, - "web_search_billing_unit": "per_query" + "web_search_billing_unit": "per_query", + "google_maps_grounding_cost_per_query": 0.014 }, "gemini/gemini-3.1-pro-preview-customtools": { "prompt_cache_min_tokens": 4096, @@ -19734,12 +22388,13 @@ "search_context_size_medium": 0.014, "search_context_size_high": 0.014 }, - "web_search_billing_unit": "per_query" + "web_search_billing_unit": "per_query", + "google_maps_grounding_cost_per_query": 0.014 }, "gemini/gemini-3.5-flash": { "prompt_cache_min_tokens": 4096, "cache_read_input_token_cost": 1.5e-7, - "input_cost_per_audio_token": 0.000001, + "input_cost_per_audio_token": 0.0000015, "input_cost_per_token": 0.0000015, "litellm_provider": "gemini", "max_input_tokens": 1048576, @@ -19749,7 +22404,7 @@ "output_cost_per_reasoning_token": 0.000009, "output_cost_per_token": 0.000009, "rpm": 2000, - "source": "https://ai.google.dev/pricing/gemini-3", + "source": "https://ai.google.dev/gemini-api/docs/pricing", "supported_endpoints": [ "/v1/chat/completions", "/v1/completions", @@ -19781,7 +22436,7 @@ "supports_native_streaming": true, "tpm": 800000, "input_cost_per_token_priority": 0.0000027, - "input_cost_per_audio_token_priority": 0.0000018, + "input_cost_per_audio_token_priority": 0.0000027, "output_cost_per_token_priority": 0.0000162, "cache_read_input_token_cost_priority": 2.7e-7, "search_context_cost_per_query": { @@ -19789,7 +22444,13 @@ "search_context_size_medium": 0.014, "search_context_size_high": 0.014 }, - "web_search_billing_unit": "per_query" + "web_search_billing_unit": "per_query", + "google_maps_grounding_cost_per_query": 0.014, + "input_cost_per_token_batches": 7.5e-7, + "output_cost_per_token_batches": 0.0000045, + "input_cost_per_token_flex": 7.5e-7, + "output_cost_per_token_flex": 0.0000045, + "cache_read_input_token_cost_flex": 8e-8 }, "gemini/gemini-3.5-flash-lite": { "cache_read_input_token_cost": 3e-8, @@ -19846,7 +22507,30 @@ "search_context_size_medium": 0.014, "search_context_size_high": 0.014 }, - "web_search_billing_unit": "per_query" + "web_search_billing_unit": "per_query", + "google_maps_grounding_cost_per_query": 0.014 + }, + "gemini/gemini-3.5-live-translate-preview": { + "input_cost_per_audio_token": 0.0000035, + "input_cost_per_token": 0.0000035, + "litellm_provider": "gemini", + "mode": "chat", + "output_cost_per_audio_token": 0.000021, + "output_cost_per_token": 0.000021, + "rpm": 10, + "source": "https://ai.google.dev/gemini-api/docs/pricing", + "supported_endpoints": [ + "/v1/realtime" + ], + "supported_modalities": [ + "audio" + ], + "supported_output_modalities": [ + "audio" + ], + "supports_audio_input": true, + "supports_audio_output": true, + "tpm": 250000 }, "gemini/gemini-3.6-flash": { "prompt_cache_min_tokens": 4096, @@ -19865,7 +22549,7 @@ "output_cost_per_token_batches": 0.000001875, "output_cost_per_token_flex": 0.000001875, "rpm": 2000, - "source": "https://ai.google.dev/pricing/gemini-3", + "source": "https://ai.google.dev/gemini-api/docs/pricing", "supported_endpoints": [ "/v1/chat/completions", "/v1/completions", @@ -19904,7 +22588,8 @@ "search_context_size_medium": 0.014, "search_context_size_high": 0.014 }, - "web_search_billing_unit": "per_query" + "web_search_billing_unit": "per_query", + "google_maps_grounding_cost_per_query": 0.014 }, "gemini/gemini-3.7-flash": { "prompt_cache_min_tokens": 4096, @@ -19923,7 +22608,7 @@ "output_cost_per_token_batches": 0.000001875, "output_cost_per_token_flex": 0.000001875, "rpm": 2000, - "source": "https://ai.google.dev/pricing/gemini-3", + "source": "https://ai.google.dev/gemini-api/docs/pricing", "supported_endpoints": [ "/v1/chat/completions", "/v1/completions", @@ -19962,7 +22647,8 @@ "search_context_size_medium": 0.014, "search_context_size_high": 0.014 }, - "web_search_billing_unit": "per_query" + "web_search_billing_unit": "per_query", + "google_maps_grounding_cost_per_query": 0.014 }, "gemini/gemini-exp-1114": { "input_cost_per_token": 0, @@ -20011,7 +22697,7 @@ "tpm": 4000000 }, "gemini/gemini-flash-latest": { - "cache_read_input_token_cost": 7.5e-8, + "cache_read_input_token_cost": 3e-8, "input_cost_per_audio_token": 0.000001, "input_cost_per_token": 3e-7, "litellm_provider": "gemini", @@ -20022,7 +22708,7 @@ "output_cost_per_reasoning_token": 0.0000025, "output_cost_per_token": 0.0000025, "rpm": 15, - "source": "https://developers.googleblog.com/en/continuing-to-bring-you-our-latest-models-with-an-improved-gemini-2-5-flash-and-flash-lite-release/", + "source": "https://ai.google.dev/gemini-api/docs/pricing", "supported_endpoints": [ "/v1/chat/completions", "/v1/completions", @@ -20054,10 +22740,11 @@ "search_context_size_low": 0.035, "search_context_size_medium": 0.035, "search_context_size_high": 0.035 - } + }, + "google_maps_grounding_cost_per_query": 0.025 }, "gemini/gemini-flash-lite-latest": { - "cache_read_input_token_cost": 2.5e-8, + "cache_read_input_token_cost": 1e-8, "input_cost_per_audio_token": 3e-7, "input_cost_per_token": 1e-7, "litellm_provider": "gemini", @@ -20068,7 +22755,7 @@ "output_cost_per_reasoning_token": 4e-7, "output_cost_per_token": 4e-7, "rpm": 15, - "source": "https://developers.googleblog.com/en/continuing-to-bring-you-our-latest-models-with-an-improved-gemini-2-5-flash-and-flash-lite-release/", + "source": "https://ai.google.dev/gemini-api/docs/pricing", "supported_endpoints": [ "/v1/chat/completions", "/v1/completions", @@ -20100,7 +22787,8 @@ "search_context_size_low": 0.035, "search_context_size_medium": 0.035, "search_context_size_high": 0.035 - } + }, + "google_maps_grounding_cost_per_query": 0.025 }, "gemini/gemini-gemma-2-27b-it": { "input_cost_per_token": 3.5e-7, @@ -20130,13 +22818,13 @@ "tpm": 250000, "rpm": 10 }, - "gemini/gemini-omni-flash-preview": { + "gemini/gemini-omni-1.1-flash": { "input_cost_per_audio_token": 0.0000015, "input_cost_per_token": 0.0000015, "litellm_provider": "gemini", - "max_input_tokens": 1048576, - "max_output_tokens": 65535, - "max_tokens": 65535, + "max_input_tokens": 131072, + "max_output_tokens": 65536, + "max_tokens": 65536, "mode": "chat", "output_cost_per_reasoning_token": 0.000009, "output_cost_per_token": 0.000009, @@ -20144,7 +22832,7 @@ "rpm": 2000, "source": "https://ai.google.dev/gemini-api/docs/pricing", "supported_endpoints": [ - "/v1/chat/completions" + "/v1beta/interactions" ], "supported_modalities": [ "text", @@ -20163,6 +22851,40 @@ "supports_vision": true, "tpm": 800000 }, + "gemini/gemini-omni-flash-preview": { + "input_cost_per_audio_token": 0.0000015, + "input_cost_per_token": 0.0000015, + "litellm_provider": "gemini", + "max_input_tokens": 131072, + "max_output_tokens": 65536, + "max_tokens": 65536, + "mode": "chat", + "output_cost_per_reasoning_token": 0.000009, + "output_cost_per_token": 0.000009, + "output_cost_per_video_token": 0.0000175, + "rpm": 2000, + "source": "https://ai.google.dev/gemini-api/docs/pricing", + "supported_endpoints": [ + "/v1beta/interactions" + ], + "supported_modalities": [ + "text", + "image", + "audio", + "video" + ], + "supported_output_modalities": [ + "text", + "video" + ], + "supports_audio_input": true, + "supports_reasoning": true, + "supports_system_messages": true, + "supports_video_input": true, + "supports_vision": true, + "tpm": 800000, + "deprecation_date": "2026-09-30" + }, "gemini/gemini-pro-latest": { "cache_read_input_token_cost": 1.25e-7, "cache_read_input_token_cost_above_200k_tokens": 2.5e-7, @@ -20206,7 +22928,8 @@ "search_context_size_low": 0.035, "search_context_size_medium": 0.035, "search_context_size_high": 0.035 - } + }, + "google_maps_grounding_cost_per_query": 0.025 }, "gemini/gemini-robotics-er-1.5-preview": { "cache_read_input_token_cost": 0, @@ -20406,6 +23129,38 @@ "supports_tool_choice": true, "supports_vision": true }, + "gemini/gemma-4-26b-a4b-it": { + "input_cost_per_token": 0, + "output_cost_per_token": 0, + "litellm_provider": "gemini", + "max_input_tokens": 262144, + "max_output_tokens": 32768, + "max_tokens": 32768, + "mode": "chat", + "supports_function_calling": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_system_messages": true, + "supports_tool_choice": true, + "supports_vision": true, + "source": "https://ai.google.dev/gemini-api/docs/pricing" + }, + "gemini/gemma-4-31b-it": { + "input_cost_per_token": 0, + "output_cost_per_token": 0, + "litellm_provider": "gemini", + "max_input_tokens": 262144, + "max_output_tokens": 32768, + "max_tokens": 32768, + "mode": "chat", + "supports_function_calling": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_system_messages": true, + "supports_tool_choice": true, + "supports_vision": true, + "source": "https://ai.google.dev/gemini-api/docs/pricing" + }, "gemini/learnlm-1.5-pro-experimental": { "input_cost_per_audio_per_second": 0, "input_cost_per_audio_per_second_above_128k_tokens": 0, @@ -20483,6 +23238,60 @@ "supports_vision": false, "supports_web_search": false }, + "gemini/nano-banana-pro-preview": { + "input_cost_per_image": 0.0011, + "input_cost_per_token": 0.000002, + "input_cost_per_token_batches": 0.000001, + "litellm_provider": "gemini", + "max_input_tokens": 131072, + "max_output_tokens": 32768, + "max_tokens": 32768, + "mode": "image_generation", + "output_cost_per_image": 0.134, + "output_cost_per_image_token": 0.00012, + "output_cost_per_token": 0.000012, + "rpm": 1000, + "tpm": 4000000, + "output_cost_per_token_batches": 0.000006, + "source": "https://ai.google.dev/gemini-api/docs/pricing", + "supported_endpoints": [ + "/v1/chat/completions", + "/v1/completions", + "/v1/batch" + ], + "supported_modalities": [ + "text", + "image" + ], + "supported_output_modalities": [ + "text", + "image" + ], + "supports_function_calling": false, + "supports_prompt_caching": true, + "supports_reasoning": false, + "supports_response_schema": true, + "supports_system_messages": true, + "supports_vision": true, + "supports_web_search": true, + "search_context_cost_per_query": { + "search_context_size_low": 0.014, + "search_context_size_medium": 0.014, + "search_context_size_high": 0.014 + }, + "web_search_billing_unit": "per_query" + }, + "gigachat/GigaChat-2": { + "input_cost_per_token": 0, + "litellm_provider": "gigachat", + "max_input_tokens": 128000, + "max_output_tokens": 8192, + "max_tokens": 8192, + "mode": "chat", + "output_cost_per_token": 0, + "supports_function_calling": true, + "supports_system_messages": true + }, "gigachat/GigaChat-2-Lite": { "input_cost_per_token": 0, "litellm_provider": "gigachat", @@ -20547,6 +23356,7 @@ }, "github_copilot/claude-opus-4.6-fast": { "supports_adaptive_thinking": true, + "supports_legacy_thinking": true, "litellm_provider": "github_copilot", "max_input_tokens": 128000, "max_output_tokens": 16000, @@ -20872,6 +23682,7 @@ "search_context_size_medium": 0.01 }, "supports_adaptive_thinking": true, + "thinking_always_on": true, "supports_mid_conversation_system": true, "supports_assistant_prefill": false, "supports_computer_use": true, @@ -20889,7 +23700,45 @@ "supports_output_config": true, "bedrock_output_config_effort_ceiling": "xhigh", "supports_parallel_tool_use_config": true, - "prompt_cache_min_tokens": 1024 + "prompt_cache_min_tokens": 512 + }, + "global.anthropic.claude-fable-5-1": { + "cache_creation_input_token_cost": 0.0000125, + "cache_creation_input_token_cost_above_1hr": 0.00002, + "cache_read_input_token_cost": 2.5e-7, + "input_cost_per_token": 0.00001, + "litellm_provider": "bedrock_converse", + "max_input_tokens": 1000000, + "max_output_tokens": 128000, + "max_tokens": 128000, + "mode": "chat", + "output_cost_per_token": 0.00005, + "search_context_cost_per_query": { + "search_context_size_high": 0.01, + "search_context_size_low": 0.01, + "search_context_size_medium": 0.01 + }, + "supports_adaptive_thinking": true, + "thinking_always_on": true, + "supports_mid_conversation_system": true, + "supports_assistant_prefill": false, + "supports_computer_use": true, + "supports_forced_tool_use": false, + "supports_function_calling": true, + "supports_pdf_input": true, + "supports_prompt_caching": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_sampling_params": false, + "supports_tool_choice": true, + "supports_vision": true, + "supports_xhigh_reasoning_effort": true, + "supports_native_structured_output": false, + "supports_max_reasoning_effort": true, + "supports_output_config": true, + "bedrock_output_config_effort_ceiling": "xhigh", + "supports_parallel_tool_use_config": true, + "prompt_cache_min_tokens": 512 }, "global.anthropic.claude-haiku-4-5-20251001-v1:0": { "cache_creation_input_token_cost": 0.00000125, @@ -20915,7 +23764,9 @@ "supports_vision": true, "supports_native_structured_output": true, "supports_parallel_tool_use_config": true, - "prompt_cache_min_tokens": 4096 + "prompt_cache_min_tokens": 4096, + "input_cost_per_token_batches": 5e-7, + "output_cost_per_token_batches": 0.0000025 }, "global.anthropic.claude-opus-4-5-20251101-v1:0": { "cache_creation_input_token_cost": 0.00000625, @@ -20951,6 +23802,7 @@ }, "global.anthropic.claude-opus-4-6-v1": { "supports_adaptive_thinking": true, + "supports_legacy_thinking": true, "cache_creation_input_token_cost": 0.00000625, "cache_creation_input_token_cost_above_1hr": 0.00001, "cache_read_input_token_cost": 5e-7, @@ -21087,7 +23939,7 @@ "supports_tool_choice": true, "supports_vision": true, "supports_xhigh_reasoning_effort": true, - "supports_native_structured_output": true, + "supports_native_structured_output": false, "supports_max_reasoning_effort": true, "supports_output_config": true, "supports_parallel_tool_use_config": true, @@ -21158,10 +24010,13 @@ "supports_vision": true, "supports_native_structured_output": true, "supports_parallel_tool_use_config": true, - "prompt_cache_min_tokens": 1024 + "prompt_cache_min_tokens": 1024, + "input_cost_per_token_batches": 0.0000015, + "output_cost_per_token_batches": 0.0000075 }, "global.anthropic.claude-sonnet-4-6": { "supports_adaptive_thinking": true, + "supports_legacy_thinking": true, "cache_creation_input_token_cost": 0.00000375, "cache_creation_input_token_cost_above_1hr": 0.000006, "cache_read_input_token_cost": 3e-7, @@ -21223,13 +24078,91 @@ "supports_tool_choice": true, "supports_vision": true, "supports_xhigh_reasoning_effort": true, - "supports_native_structured_output": true, + "supports_native_structured_output": false, "supports_max_reasoning_effort": true, "supports_output_config": true, "bedrock_output_config_effort_ceiling": "xhigh", "supports_parallel_tool_use_config": true, "prompt_cache_min_tokens": 1024 }, + "global.openai.gpt-5.6-luna": { + "input_cost_per_token": 2e-7, + "input_cost_per_token_above_272k_tokens": 4e-7, + "cache_creation_input_token_cost": 2.5e-7, + "cache_creation_input_token_cost_above_272k_tokens": 5e-7, + "cache_read_input_token_cost": 2e-8, + "cache_read_input_token_cost_above_272k_tokens": 4e-8, + "output_cost_per_token": 0.0000012, + "output_cost_per_token_above_272k_tokens": 0.0000018, + "litellm_provider": "bedrock_converse", + "max_input_tokens": 1000000, + "max_output_tokens": 128000, + "max_tokens": 128000, + "mode": "chat", + "supported_modalities": [ + "text", + "image" + ], + "supported_output_modalities": [ + "text" + ], + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_reasoning": true, + "supports_vision": true + }, + "global.openai.gpt-5.6-sol": { + "input_cost_per_token": 0.000004, + "input_cost_per_token_above_272k_tokens": 0.000008, + "cache_creation_input_token_cost": 0.000005, + "cache_creation_input_token_cost_above_272k_tokens": 0.00001, + "cache_read_input_token_cost": 4e-7, + "cache_read_input_token_cost_above_272k_tokens": 8e-7, + "output_cost_per_token": 0.00002, + "output_cost_per_token_above_272k_tokens": 0.00003, + "litellm_provider": "bedrock_converse", + "max_input_tokens": 1000000, + "max_output_tokens": 128000, + "max_tokens": 128000, + "mode": "chat", + "supported_modalities": [ + "text", + "image" + ], + "supported_output_modalities": [ + "text" + ], + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_reasoning": true, + "supports_vision": true + }, + "global.openai.gpt-5.6-terra": { + "input_cost_per_token": 0.000002, + "input_cost_per_token_above_272k_tokens": 0.000004, + "cache_creation_input_token_cost": 0.0000025, + "cache_creation_input_token_cost_above_272k_tokens": 0.000005, + "cache_read_input_token_cost": 2e-7, + "cache_read_input_token_cost_above_272k_tokens": 4e-7, + "output_cost_per_token": 0.000012, + "output_cost_per_token_above_272k_tokens": 0.000018, + "litellm_provider": "bedrock_converse", + "max_input_tokens": 1000000, + "max_output_tokens": 128000, + "max_tokens": 128000, + "mode": "chat", + "supported_modalities": [ + "text", + "image" + ], + "supported_output_modalities": [ + "text" + ], + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_reasoning": true, + "supports_vision": true + }, "global.xai.grok-4.6": { "input_cost_per_token": 0.000002, "output_cost_per_token": 0.000006, @@ -21240,7 +24173,7 @@ "max_tokens": 500000, "mode": "chat", "supports_function_calling": true, - "supports_prompt_caching": true, + "supports_prompt_caching": false, "supports_reasoning": true, "supports_tool_choice": true, "supports_vision": true @@ -21964,7 +24897,7 @@ "supports_vision": true }, "gpt-4o-audio-preview": { - "deprecation_date": "2027-01-20", + "deprecation_date": "2026-05-07", "input_cost_per_audio_token": 0.00004, "input_cost_per_token": 0.0000025, "litellm_provider": "openai", @@ -22069,7 +25002,7 @@ "supports_vision": true }, "gpt-4o-mini-audio-preview": { - "deprecation_date": "2027-01-20", + "deprecation_date": "2026-05-07", "input_cost_per_audio_token": 0.00001, "input_cost_per_token": 1.5e-7, "litellm_provider": "openai", @@ -22654,6 +25587,7 @@ "supports_vision": true, "supports_web_search": true, "supports_none_reasoning_effort": true, + "default_reasoning_effort": "none", "supports_xhigh_reasoning_effort": false, "supports_minimal_reasoning_effort": true }, @@ -22698,6 +25632,7 @@ "supports_vision": true, "supports_web_search": true, "supports_none_reasoning_effort": true, + "default_reasoning_effort": "none", "supports_xhigh_reasoning_effort": false, "supports_minimal_reasoning_effort": true }, @@ -22743,6 +25678,7 @@ "supports_vision": true, "supports_web_search": true, "supports_none_reasoning_effort": true, + "default_reasoning_effort": "none", "supports_xhigh_reasoning_effort": false, "supports_minimal_reasoning_effort": true }, @@ -22788,6 +25724,7 @@ "supports_vision": true, "supports_web_search": true, "supports_none_reasoning_effort": true, + "default_reasoning_effort": "none", "supports_xhigh_reasoning_effort": true, "supports_minimal_reasoning_effort": true }, @@ -22833,6 +25770,7 @@ "supports_vision": true, "supports_web_search": true, "supports_none_reasoning_effort": true, + "default_reasoning_effort": "none", "supports_xhigh_reasoning_effort": true, "supports_minimal_reasoning_effort": true }, @@ -22969,6 +25907,7 @@ "supports_tool_choice": true, "supports_vision": true, "supports_none_reasoning_effort": true, + "default_reasoning_effort": "none", "supports_xhigh_reasoning_effort": true, "supports_minimal_reasoning_effort": true }, @@ -23017,6 +25956,7 @@ "supports_tool_choice": true, "supports_vision": true, "supports_none_reasoning_effort": true, + "default_reasoning_effort": "none", "supports_xhigh_reasoning_effort": true, "supports_minimal_reasoning_effort": true }, @@ -23068,6 +26008,7 @@ "supports_vision": true, "supports_web_search": true, "supports_none_reasoning_effort": true, + "default_reasoning_effort": "none", "supports_xhigh_reasoning_effort": true, "supports_minimal_reasoning_effort": false }, @@ -23119,6 +26060,7 @@ "supports_vision": true, "supports_web_search": true, "supports_none_reasoning_effort": true, + "default_reasoning_effort": "none", "supports_xhigh_reasoning_effort": true, "supports_minimal_reasoning_effort": false }, @@ -23167,6 +26109,7 @@ "supports_vision": true, "supports_web_search": true, "supports_none_reasoning_effort": true, + "default_reasoning_effort": "none", "supports_xhigh_reasoning_effort": true, "supports_minimal_reasoning_effort": false }, @@ -23215,6 +26158,7 @@ "supports_vision": true, "supports_web_search": true, "supports_none_reasoning_effort": true, + "default_reasoning_effort": "none", "supports_xhigh_reasoning_effort": true, "supports_minimal_reasoning_effort": false }, @@ -23327,33 +26271,33 @@ "supports_minimal_reasoning_effort": false }, "gpt-5.6": { - "cache_creation_input_token_cost": 0.00000625, - "cache_creation_input_token_cost_above_272k_tokens": 0.0000125, - "cache_creation_input_token_cost_above_272k_tokens_flex": 0.00000625, - "cache_creation_input_token_cost_flex": 0.000003125, - "cache_creation_input_token_cost_priority": 0.0000125, - "cache_read_input_token_cost": 5e-7, - "cache_read_input_token_cost_above_272k_tokens": 0.000001, - "cache_read_input_token_cost_above_272k_tokens_flex": 5e-7, - "cache_read_input_token_cost_flex": 2.5e-7, - "cache_read_input_token_cost_priority": 0.000001, - "input_cost_per_token": 0.000005, - "input_cost_per_token_above_272k_tokens": 0.00001, - "input_cost_per_token_above_272k_tokens_flex": 0.000005, - "input_cost_per_token_batches": 0.0000025, - "input_cost_per_token_flex": 0.0000025, - "input_cost_per_token_priority": 0.00001, + "cache_creation_input_token_cost": 0.000005, + "cache_creation_input_token_cost_above_272k_tokens": 0.00001, + "cache_creation_input_token_cost_above_272k_tokens_flex": 0.000005, + "cache_creation_input_token_cost_flex": 0.0000025, + "cache_creation_input_token_cost_priority": 0.00001, + "cache_read_input_token_cost": 4e-7, + "cache_read_input_token_cost_above_272k_tokens": 8e-7, + "cache_read_input_token_cost_above_272k_tokens_flex": 4e-7, + "cache_read_input_token_cost_flex": 2e-7, + "cache_read_input_token_cost_priority": 8e-7, + "input_cost_per_token": 0.000004, + "input_cost_per_token_above_272k_tokens": 0.000008, + "input_cost_per_token_above_272k_tokens_flex": 0.000004, + "input_cost_per_token_batches": 0.000002, + "input_cost_per_token_flex": 0.000002, + "input_cost_per_token_priority": 0.000008, "litellm_provider": "openai", - "max_input_tokens": 1050000, + "max_input_tokens": 922000, "max_output_tokens": 128000, "max_tokens": 128000, "mode": "chat", - "output_cost_per_token": 0.00003, - "output_cost_per_token_above_272k_tokens": 0.000045, - "output_cost_per_token_above_272k_tokens_flex": 0.0000225, - "output_cost_per_token_batches": 0.000015, - "output_cost_per_token_flex": 0.000015, - "output_cost_per_token_priority": 0.00006, + "output_cost_per_token": 0.00002, + "output_cost_per_token_above_272k_tokens": 0.00003, + "output_cost_per_token_above_272k_tokens_flex": 0.000015, + "output_cost_per_token_batches": 0.00001, + "output_cost_per_token_flex": 0.00001, + "output_cost_per_token_priority": 0.00004, "regional_processing_uplift_multiplier_eu": 1.1, "regional_processing_uplift_multiplier_us": 1.1, "search_context_cost_per_query": { @@ -23389,6 +26333,45 @@ "supports_web_search": true, "supports_xhigh_reasoning_effort": true }, + "gpt-5.6-cyber": { + "cache_creation_input_token_cost": 0.000015625, + "cache_creation_input_token_cost_above_272k_tokens": 0.00003125, + "cache_read_input_token_cost": 0.00000125, + "cache_read_input_token_cost_above_272k_tokens": 0.0000025, + "input_cost_per_token": 0.0000125, + "input_cost_per_token_above_272k_tokens": 0.000025, + "litellm_provider": "openai", + "max_input_tokens": 400000, + "max_output_tokens": 128000, + "max_tokens": 128000, + "mode": "chat", + "output_cost_per_token": 0.000075, + "output_cost_per_token_above_272k_tokens": 0.0001125, + "supported_endpoints": [ + "/v1/chat/completions", + "/v1/responses" + ], + "supported_modalities": [ + "text", + "image" + ], + "supported_output_modalities": [ + "text" + ], + "supports_function_calling": true, + "supports_native_streaming": true, + "supports_pdf_input": true, + "supports_prompt_caching": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_system_messages": true, + "supports_tool_choice": true, + "supports_vision": true, + "supports_web_search": true, + "source": "https://developers.openai.com/api/docs/models/gpt-5.6-cyber", + "supports_computer_use": true, + "supports_parallel_function_calling": true + }, "gpt-5.6-luna": { "cache_creation_input_token_cost": 2.5e-7, "cache_creation_input_token_cost_above_272k_tokens": 5e-7, @@ -23407,7 +26390,7 @@ "input_cost_per_token_flex": 1e-7, "input_cost_per_token_priority": 4e-7, "litellm_provider": "openai", - "max_input_tokens": 1050000, + "max_input_tokens": 922000, "max_output_tokens": 128000, "max_tokens": 128000, "mode": "chat", @@ -23453,33 +26436,33 @@ "supports_xhigh_reasoning_effort": true }, "gpt-5.6-sol": { - "cache_creation_input_token_cost": 0.00000625, - "cache_creation_input_token_cost_above_272k_tokens": 0.0000125, - "cache_creation_input_token_cost_above_272k_tokens_flex": 0.00000625, - "cache_creation_input_token_cost_flex": 0.000003125, - "cache_creation_input_token_cost_priority": 0.0000125, - "cache_read_input_token_cost": 5e-7, - "cache_read_input_token_cost_above_272k_tokens": 0.000001, - "cache_read_input_token_cost_above_272k_tokens_flex": 5e-7, - "cache_read_input_token_cost_flex": 2.5e-7, - "cache_read_input_token_cost_priority": 0.000001, - "input_cost_per_token": 0.000005, - "input_cost_per_token_above_272k_tokens": 0.00001, - "input_cost_per_token_above_272k_tokens_flex": 0.000005, - "input_cost_per_token_batches": 0.0000025, - "input_cost_per_token_flex": 0.0000025, - "input_cost_per_token_priority": 0.00001, + "cache_creation_input_token_cost": 0.000005, + "cache_creation_input_token_cost_above_272k_tokens": 0.00001, + "cache_creation_input_token_cost_above_272k_tokens_flex": 0.000005, + "cache_creation_input_token_cost_flex": 0.0000025, + "cache_creation_input_token_cost_priority": 0.00001, + "cache_read_input_token_cost": 4e-7, + "cache_read_input_token_cost_above_272k_tokens": 8e-7, + "cache_read_input_token_cost_above_272k_tokens_flex": 4e-7, + "cache_read_input_token_cost_flex": 2e-7, + "cache_read_input_token_cost_priority": 8e-7, + "input_cost_per_token": 0.000004, + "input_cost_per_token_above_272k_tokens": 0.000008, + "input_cost_per_token_above_272k_tokens_flex": 0.000004, + "input_cost_per_token_batches": 0.000002, + "input_cost_per_token_flex": 0.000002, + "input_cost_per_token_priority": 0.000008, "litellm_provider": "openai", - "max_input_tokens": 1050000, + "max_input_tokens": 922000, "max_output_tokens": 128000, "max_tokens": 128000, "mode": "chat", - "output_cost_per_token": 0.00003, - "output_cost_per_token_above_272k_tokens": 0.000045, - "output_cost_per_token_above_272k_tokens_flex": 0.0000225, - "output_cost_per_token_batches": 0.000015, - "output_cost_per_token_flex": 0.000015, - "output_cost_per_token_priority": 0.00006, + "output_cost_per_token": 0.00002, + "output_cost_per_token_above_272k_tokens": 0.00003, + "output_cost_per_token_above_272k_tokens_flex": 0.000015, + "output_cost_per_token_batches": 0.00001, + "output_cost_per_token_flex": 0.00001, + "output_cost_per_token_priority": 0.00004, "regional_processing_uplift_multiplier_eu": 1.1, "regional_processing_uplift_multiplier_us": 1.1, "search_context_cost_per_query": { @@ -23499,6 +26482,7 @@ "supported_output_modalities": [ "text" ], + "supports_computer_use": true, "supports_function_calling": true, "supports_minimal_reasoning_effort": false, "supports_native_streaming": true, @@ -23533,7 +26517,7 @@ "input_cost_per_token_flex": 0.000001, "input_cost_per_token_priority": 0.000004, "litellm_provider": "openai", - "max_input_tokens": 1050000, + "max_input_tokens": 922000, "max_output_tokens": 128000, "max_tokens": 128000, "mode": "chat", @@ -23793,7 +26777,8 @@ "supports_response_schema": false, "supports_system_messages": true, "supports_tool_choice": true, - "supports_vision": false + "supports_vision": false, + "deprecation_date": "2027-01-20" }, "gradient_ai/alibaba-qwen3-32b": { "litellm_provider": "gradient_ai", @@ -24198,6 +27183,21 @@ "supports_tool_choice": true, "supports_vision": true }, + "groq/qwen/qwen3.8-27b": { + "input_cost_per_token": 8e-7, + "litellm_provider": "groq", + "max_input_tokens": 131042, + "max_output_tokens": 16384, + "max_tokens": 16384, + "mode": "chat", + "output_cost_per_token": 0.000004, + "source": "https://console.groq.com/docs/model/qwen/qwen3.8-27b", + "supports_function_calling": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_tool_choice": true, + "supports_vision": true + }, "heroku/claude-3-5-haiku": { "litellm_provider": "heroku", "max_tokens": 8192, @@ -24575,7 +27575,9 @@ "supports_vision": true, "supports_native_structured_output": true, "supports_parallel_tool_use_config": true, - "prompt_cache_min_tokens": 4096 + "prompt_cache_min_tokens": 4096, + "input_cost_per_token_batches": 5.5e-7, + "output_cost_per_token_batches": 0.00000275 }, "jp.anthropic.claude-opus-4-7": { "bedrock_converse_supports_strict_tools": false, @@ -24679,7 +27681,7 @@ "supports_tool_choice": true, "supports_vision": true, "supports_xhigh_reasoning_effort": true, - "supports_native_structured_output": true, + "supports_native_structured_output": false, "supports_max_reasoning_effort": true, "supports_output_config": true, "supports_parallel_tool_use_config": true, @@ -24718,10 +27720,13 @@ "supports_vision": true, "supports_native_structured_output": true, "supports_parallel_tool_use_config": true, - "prompt_cache_min_tokens": 1024 + "prompt_cache_min_tokens": 1024, + "input_cost_per_token_batches": 0.00000165, + "output_cost_per_token_batches": 0.00000825 }, "jp.anthropic.claude-sonnet-4-6": { "supports_adaptive_thinking": true, + "supports_legacy_thinking": true, "cache_creation_input_token_cost": 0.000004125, "cache_creation_input_token_cost_above_1hr": 0.0000066, "cache_read_input_token_cost": 3.3e-7, @@ -24783,7 +27788,7 @@ "supports_tool_choice": true, "supports_vision": true, "supports_xhigh_reasoning_effort": true, - "supports_native_structured_output": true, + "supports_native_structured_output": false, "supports_max_reasoning_effort": true, "supports_output_config": true, "bedrock_output_config_effort_ceiling": "xhigh", @@ -25651,7 +28656,7 @@ "search_context_size_low": 0.0025, "search_context_size_medium": 0.0025 }, - "source": "https://dev.meta.ai/docs/getting-started/pricing-rate-limits", + "source": "https://ai.developer.meta.com/docs/pricing-rate-limits", "supported_endpoints": [ "/v1/chat/completions", "/v1/responses", @@ -25692,7 +28697,7 @@ "search_context_size_low": 0.0025, "search_context_size_medium": 0.0025 }, - "source": "https://dev.meta.ai/docs/getting-started/pricing-rate-limits", + "source": "https://ai.developer.meta.com/docs/pricing-rate-limits", "supported_endpoints": [ "/v1/chat/completions", "/v1/responses", @@ -25733,7 +28738,7 @@ "search_context_size_low": 0.0025, "search_context_size_medium": 0.0025 }, - "source": "https://dev.meta.ai/docs/getting-started/pricing-rate-limits", + "source": "https://ai.developer.meta.com/docs/pricing-rate-limits", "supported_endpoints": [ "/v1/chat/completions", "/v1/responses", @@ -25766,7 +28771,7 @@ "max_output_tokens": 4028, "max_tokens": 4028, "mode": "chat", - "source": "https://llama.developer.meta.com/docs/models", + "source": "https://ai.developer.meta.com/docs/models", "supported_modalities": [ "text" ], @@ -25782,7 +28787,7 @@ "max_output_tokens": 4028, "max_tokens": 4028, "mode": "chat", - "source": "https://llama.developer.meta.com/docs/models", + "source": "https://ai.developer.meta.com/docs/models", "supported_modalities": [ "text" ], @@ -25798,7 +28803,7 @@ "max_output_tokens": 4028, "max_tokens": 4028, "mode": "chat", - "source": "https://llama.developer.meta.com/docs/models", + "source": "https://ai.developer.meta.com/docs/models", "supported_modalities": [ "text", "image" @@ -25815,7 +28820,7 @@ "max_output_tokens": 4028, "max_tokens": 4028, "mode": "chat", - "source": "https://llama.developer.meta.com/docs/models", + "source": "https://ai.developer.meta.com/docs/models", "supported_modalities": [ "text", "image" @@ -26118,28 +29123,32 @@ "supports_tool_choice": true }, "mistral/codestral-2508": { + "cache_read_input_token_cost": 3e-8, "input_cost_per_token": 3e-7, "litellm_provider": "mistral", - "max_input_tokens": 256000, - "max_output_tokens": 256000, - "max_tokens": 256000, + "max_input_tokens": 128000, + "max_output_tokens": 128000, + "max_tokens": 128000, "mode": "chat", "output_cost_per_token": 9e-7, - "source": "https://mistral.ai/news/codestral-25-08", + "source": "https://docs.mistral.ai/models/model-cards/codestral-25-08", "supports_assistant_prefill": true, "supports_function_calling": true, "supports_response_schema": true, "supports_tool_choice": true }, "mistral/codestral-latest": { - "input_cost_per_token": 0.000001, + "cache_read_input_token_cost": 3e-8, + "input_cost_per_token": 3e-7, "litellm_provider": "mistral", - "max_input_tokens": 32000, - "max_output_tokens": 8191, - "max_tokens": 8191, + "max_input_tokens": 128000, + "max_output_tokens": 128000, + "max_tokens": 128000, "mode": "chat", - "output_cost_per_token": 0.000003, + "output_cost_per_token": 9e-7, + "source": "https://docs.mistral.ai/models/model-cards/codestral-25-08", "supports_assistant_prefill": true, + "supports_function_calling": true, "supports_response_schema": true, "supports_tool_choice": true }, @@ -26302,6 +29311,19 @@ "supports_response_schema": true, "supports_tool_choice": true }, + "mistral/labs-leanstral-1-5-1": { + "input_cost_per_token": 0, + "litellm_provider": "mistral", + "max_input_tokens": 262144, + "max_output_tokens": 131072, + "max_tokens": 131072, + "mode": "chat", + "output_cost_per_token": 0, + "source": "https://docs.mistral.ai/models/model-cards/leanstral-1-5", + "supports_function_calling": true, + "supports_response_schema": true, + "supports_tool_choice": true + }, "mistral/magistral-medium-1-2-2509": { "deprecation_date": "2026-07-31", "input_cost_per_token": 0.000002, @@ -26412,7 +29434,38 @@ "supports_response_schema": true, "supports_tool_choice": true }, + "mistral/ministral-14b-2512": { + "input_cost_per_token": 2e-7, + "litellm_provider": "mistral", + "max_input_tokens": 262144, + "max_output_tokens": 262144, + "max_tokens": 262144, + "mode": "chat", + "output_cost_per_token": 2e-7, + "source": "https://docs.mistral.ai/models/ministral-3-14b-25-12", + "supports_assistant_prefill": true, + "supports_function_calling": true, + "supports_response_schema": true, + "supports_tool_choice": true, + "supports_vision": true + }, + "mistral/ministral-14b-latest": { + "input_cost_per_token": 2e-7, + "litellm_provider": "mistral", + "max_input_tokens": 262144, + "max_output_tokens": 262144, + "max_tokens": 262144, + "mode": "chat", + "output_cost_per_token": 2e-7, + "source": "https://docs.mistral.ai/models/ministral-3-14b-25-12", + "supports_assistant_prefill": true, + "supports_function_calling": true, + "supports_response_schema": true, + "supports_tool_choice": true, + "supports_vision": true + }, "mistral/ministral-3-14b-2512": { + "cache_read_input_token_cost": 2e-8, "input_cost_per_token": 2e-7, "litellm_provider": "mistral", "max_input_tokens": 262144, @@ -26428,6 +29481,7 @@ "supports_vision": true }, "mistral/ministral-3-3b-2512": { + "cache_read_input_token_cost": 1e-8, "input_cost_per_token": 1e-7, "litellm_provider": "mistral", "max_input_tokens": 131072, @@ -26443,6 +29497,7 @@ "supports_vision": true }, "mistral/ministral-3-8b-2512": { + "cache_read_input_token_cost": 1.5e-8, "input_cost_per_token": 1.5e-7, "litellm_provider": "mistral", "max_input_tokens": 262144, @@ -26457,7 +29512,38 @@ "supports_tool_choice": true, "supports_vision": true }, + "mistral/ministral-3b-2512": { + "input_cost_per_token": 1e-7, + "litellm_provider": "mistral", + "max_input_tokens": 131072, + "max_output_tokens": 131072, + "max_tokens": 131072, + "mode": "chat", + "output_cost_per_token": 1e-7, + "source": "https://docs.mistral.ai/models/ministral-3-3b-25-12", + "supports_assistant_prefill": true, + "supports_function_calling": true, + "supports_response_schema": true, + "supports_tool_choice": true, + "supports_vision": true + }, + "mistral/ministral-3b-latest": { + "input_cost_per_token": 1e-7, + "litellm_provider": "mistral", + "max_input_tokens": 131072, + "max_output_tokens": 131072, + "max_tokens": 131072, + "mode": "chat", + "output_cost_per_token": 1e-7, + "source": "https://docs.mistral.ai/models/ministral-3-3b-25-12", + "supports_assistant_prefill": true, + "supports_function_calling": true, + "supports_response_schema": true, + "supports_tool_choice": true, + "supports_vision": true + }, "mistral/ministral-8b-2512": { + "cache_read_input_token_cost": 1.5e-8, "input_cost_per_token": 1.5e-7, "litellm_provider": "mistral", "max_input_tokens": 262144, @@ -26473,6 +29559,7 @@ "supports_vision": true }, "mistral/ministral-8b-latest": { + "cache_read_input_token_cost": 1.5e-8, "input_cost_per_token": 1.5e-7, "litellm_provider": "mistral", "max_input_tokens": 262144, @@ -26487,6 +29574,50 @@ "supports_tool_choice": true, "supports_vision": true }, + "mistral/mistral-code-agent-latest": { + "input_cost_per_token": 4e-7, + "litellm_provider": "mistral", + "max_input_tokens": 256000, + "max_output_tokens": 256000, + "max_tokens": 256000, + "mode": "chat", + "output_cost_per_token": 0.000002, + "source": "https://mistral.ai/news/devstral-2-vibe-cli", + "supports_assistant_prefill": true, + "supports_function_calling": true, + "supports_response_schema": true, + "supports_tool_choice": true + }, + "mistral/mistral-code-fim-latest": { + "cache_read_input_token_cost": 3e-8, + "input_cost_per_token": 3e-7, + "litellm_provider": "mistral", + "max_input_tokens": 128000, + "max_output_tokens": 128000, + "max_tokens": 128000, + "mode": "chat", + "output_cost_per_token": 9e-7, + "source": "https://docs.mistral.ai/models/model-cards/codestral-25-08", + "supports_assistant_prefill": true, + "supports_function_calling": true, + "supports_response_schema": true, + "supports_tool_choice": true + }, + "mistral/mistral-code-latest": { + "cache_read_input_token_cost": 3e-8, + "input_cost_per_token": 3e-7, + "litellm_provider": "mistral", + "max_input_tokens": 128000, + "max_output_tokens": 128000, + "max_tokens": 128000, + "mode": "chat", + "output_cost_per_token": 9e-7, + "source": "https://docs.mistral.ai/models/model-cards/codestral-25-08", + "supports_assistant_prefill": true, + "supports_function_calling": true, + "supports_response_schema": true, + "supports_tool_choice": true + }, "mistral/mistral-large-2402": { "deprecation_date": "2025-06-16", "input_cost_per_token": 0.000004, @@ -26530,6 +29661,7 @@ "supports_tool_choice": true }, "mistral/mistral-large-2512": { + "cache_read_input_token_cost": 5e-8, "input_cost_per_token": 5e-7, "litellm_provider": "mistral", "max_input_tokens": 262144, @@ -26545,6 +29677,7 @@ "supports_vision": true }, "mistral/mistral-large-3": { + "cache_read_input_token_cost": 5e-8, "input_cost_per_token": 5e-7, "litellm_provider": "mistral", "max_input_tokens": 262144, @@ -26560,6 +29693,7 @@ "supports_vision": true }, "mistral/mistral-large-latest": { + "cache_read_input_token_cost": 5e-8, "input_cost_per_token": 5e-7, "litellm_provider": "mistral", "max_input_tokens": 262144, @@ -26630,6 +29764,23 @@ "supports_vision": true }, "mistral/mistral-medium-2604": { + "cache_read_input_token_cost": 1.5e-7, + "input_cost_per_token": 0.0000015, + "litellm_provider": "mistral", + "max_input_tokens": 262144, + "max_output_tokens": 262144, + "max_tokens": 262144, + "mode": "chat", + "output_cost_per_token": 0.0000075, + "source": "https://docs.mistral.ai/models/model-cards/mistral-medium-3-5-26-04", + "supports_assistant_prefill": true, + "supports_function_calling": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_tool_choice": true, + "supports_vision": true + }, + "mistral/mistral-medium-3": { "input_cost_per_token": 0.0000015, "litellm_provider": "mistral", "max_input_tokens": 262144, @@ -26662,6 +29813,24 @@ "supports_vision": true }, "mistral/mistral-medium-3-5": { + "cache_read_input_token_cost": 1.5e-7, + "input_cost_per_token": 0.0000015, + "litellm_provider": "mistral", + "max_input_tokens": 262144, + "max_output_tokens": 262144, + "max_tokens": 262144, + "mode": "chat", + "output_cost_per_token": 0.0000075, + "source": "https://docs.mistral.ai/models/model-cards/mistral-medium-3-5-26-04", + "supports_assistant_prefill": true, + "supports_function_calling": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_tool_choice": true, + "supports_vision": true + }, + "mistral/mistral-medium-3.5": { + "cache_read_input_token_cost": 1.5e-7, "input_cost_per_token": 0.0000015, "litellm_provider": "mistral", "max_input_tokens": 262144, @@ -26678,6 +29847,7 @@ "supports_vision": true }, "mistral/mistral-medium-latest": { + "cache_read_input_token_cost": 1.5e-7, "input_cost_per_token": 0.0000015, "litellm_provider": "mistral", "max_input_tokens": 262144, @@ -26707,6 +29877,7 @@ "supports_tool_choice": true }, "mistral/mistral-small-2603": { + "cache_read_input_token_cost": 1.5e-8, "input_cost_per_token": 1.5e-7, "litellm_provider": "mistral", "max_input_tokens": 262144, @@ -26719,7 +29890,8 @@ "supports_function_calling": true, "supports_reasoning": true, "supports_response_schema": true, - "supports_tool_choice": true + "supports_tool_choice": true, + "supports_vision": true }, "mistral/mistral-small-3-2-2506": { "deprecation_date": "2026-07-31", @@ -26738,16 +29910,18 @@ "supports_vision": true }, "mistral/mistral-small-latest": { - "input_cost_per_token": 6e-8, + "cache_read_input_token_cost": 1.5e-8, + "input_cost_per_token": 1.5e-7, "litellm_provider": "mistral", - "max_input_tokens": 131072, - "max_output_tokens": 131072, - "max_tokens": 131072, + "max_input_tokens": 262144, + "max_output_tokens": 262144, + "max_tokens": 262144, "mode": "chat", - "output_cost_per_token": 1.8e-7, - "source": "https://mistral.ai/pricing", + "output_cost_per_token": 6e-7, + "source": "https://docs.mistral.ai/models/model-cards/mistral-small-4-0-26-03", "supports_assistant_prefill": true, "supports_function_calling": true, + "supports_reasoning": true, "supports_response_schema": true, "supports_tool_choice": true, "supports_vision": true @@ -26764,6 +29938,57 @@ "supports_response_schema": true, "supports_tool_choice": true }, + "mistral/mistral-vibe-cli-fast": { + "cache_read_input_token_cost": 1.5e-8, + "input_cost_per_token": 1.5e-7, + "litellm_provider": "mistral", + "max_input_tokens": 262144, + "max_output_tokens": 262144, + "max_tokens": 262144, + "mode": "chat", + "output_cost_per_token": 6e-7, + "source": "https://docs.mistral.ai/models/model-cards/mistral-small-4-0-26-03", + "supports_assistant_prefill": true, + "supports_function_calling": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_tool_choice": true, + "supports_vision": true + }, + "mistral/mistral-vibe-cli-latest": { + "cache_read_input_token_cost": 1.5e-7, + "input_cost_per_token": 0.0000015, + "litellm_provider": "mistral", + "max_input_tokens": 262144, + "max_output_tokens": 262144, + "max_tokens": 262144, + "mode": "chat", + "output_cost_per_token": 0.0000075, + "source": "https://docs.mistral.ai/models/model-cards/mistral-medium-3-5-26-04", + "supports_assistant_prefill": true, + "supports_function_calling": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_tool_choice": true, + "supports_vision": true + }, + "mistral/mistral-vibe-cli-with-tools": { + "cache_read_input_token_cost": 1.5e-7, + "input_cost_per_token": 0.0000015, + "litellm_provider": "mistral", + "max_input_tokens": 262144, + "max_output_tokens": 262144, + "max_tokens": 262144, + "mode": "chat", + "output_cost_per_token": 0.0000075, + "source": "https://docs.mistral.ai/models/model-cards/mistral-medium-3-5-26-04", + "supports_assistant_prefill": true, + "supports_function_calling": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_tool_choice": true, + "supports_vision": true + }, "mistral/open-codestral-mamba": { "deprecation_date": "2025-06-06", "input_cost_per_token": 2.5e-7, @@ -26889,6 +30114,36 @@ "supports_tool_choice": true, "supports_vision": true }, + "mistral/voxtral-small-2507": { + "input_cost_per_second": 0.00006666666666666667, + "input_cost_per_token": 1e-7, + "litellm_provider": "mistral", + "max_input_tokens": 32768, + "max_output_tokens": 32768, + "max_tokens": 32768, + "mode": "chat", + "output_cost_per_token": 4e-7, + "source": "https://docs.mistral.ai/models/voxtral-small-25-07", + "supports_audio_input": true, + "supports_function_calling": true, + "supports_response_schema": true, + "supports_tool_choice": true + }, + "mistral/voxtral-small-latest": { + "input_cost_per_second": 0.00006666666666666667, + "input_cost_per_token": 1e-7, + "litellm_provider": "mistral", + "max_input_tokens": 32768, + "max_output_tokens": 32768, + "max_tokens": 32768, + "mode": "chat", + "output_cost_per_token": 4e-7, + "source": "https://docs.mistral.ai/models/voxtral-small-25-07", + "supports_audio_input": true, + "supports_function_calling": true, + "supports_response_schema": true, + "supports_tool_choice": true + }, "mistral/zai-glm-5-2": { "cache_read_input_token_cost": 1.4e-7, "input_cost_per_token": 0.0000014, @@ -27029,6 +30284,46 @@ "supports_video_input": true, "supports_vision": true }, + "moonshot/kimi-k2.7-code": { + "cache_read_input_token_cost": 1.9e-7, + "input_cost_per_token": 9.5e-7, + "litellm_provider": "moonshot", + "max_input_tokens": 262144, + "max_output_tokens": 262144, + "max_tokens": 262144, + "mode": "chat", + "output_cost_per_token": 0.000004, + "source": "https://platform.kimi.ai/docs/pricing/chat-k27-code", + "supports_function_calling": true, + "supports_prompt_caching": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_tool_choice": true, + "supports_video_input": true, + "supports_vision": true + }, + "moonshot/kimi-k3": { + "cache_read_input_token_cost": 3e-7, + "input_cost_per_token": 0.000003, + "litellm_provider": "moonshot", + "max_input_tokens": 1048576, + "max_output_tokens": 1048576, + "max_tokens": 1048576, + "mode": "chat", + "output_cost_per_token": 0.000015, + "reasoning_effort_levels": [ + "low", + "high", + "max" + ], + "source": "https://platform.kimi.ai/docs/pricing/chat-k3", + "supports_function_calling": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_tool_choice": true, + "supports_video_input": true, + "supports_vision": true + }, "moonshot/kimi-latest": { "cache_read_input_token_cost": 1.5e-7, "deprecation_date": "2026-01-28", @@ -27286,7 +30581,7 @@ "litellm_provider": "nebius", "mode": "chat", "supports_function_calling": true, - "source": "https://nebius.com/prices-ai-studio" + "source": "https://nebius.com/prices" }, "nebius/Qwen/QwQ-32B": { "max_tokens": 32768, @@ -27298,7 +30593,7 @@ "mode": "chat", "supports_function_calling": true, "supports_reasoning": true, - "source": "https://nebius.com/prices-ai-studio" + "source": "https://nebius.com/prices" }, "nebius/Qwen/Qwen2-VL-72B-Instruct": { "max_tokens": 131072, @@ -27310,7 +30605,7 @@ "mode": "chat", "supports_function_calling": true, "supports_vision": true, - "source": "https://nebius.com/prices-ai-studio" + "source": "https://nebius.com/prices" }, "nebius/Qwen/Qwen2-VL-7B-Instruct": { "max_tokens": 131072, @@ -27321,7 +30616,7 @@ "litellm_provider": "nebius", "mode": "chat", "supports_vision": true, - "source": "https://nebius.com/prices-ai-studio" + "source": "https://nebius.com/prices" }, "nebius/Qwen/Qwen2.5-32B-Instruct": { "max_tokens": 128000, @@ -27332,7 +30627,7 @@ "litellm_provider": "nebius", "mode": "chat", "supports_function_calling": true, - "source": "https://nebius.com/prices-ai-studio" + "source": "https://nebius.com/prices" }, "nebius/Qwen/Qwen2.5-72B-Instruct": { "max_tokens": 128000, @@ -27343,7 +30638,7 @@ "litellm_provider": "nebius", "mode": "chat", "supports_function_calling": true, - "source": "https://nebius.com/prices-ai-studio" + "source": "https://nebius.com/prices" }, "nebius/Qwen/Qwen2.5-Coder-7B": { "max_tokens": 32768, @@ -27354,7 +30649,7 @@ "litellm_provider": "nebius", "mode": "chat", "supports_function_calling": true, - "source": "https://nebius.com/prices-ai-studio" + "source": "https://nebius.com/prices" }, "nebius/Qwen/Qwen2.5-VL-72B-Instruct": { "max_tokens": 131072, @@ -27366,7 +30661,7 @@ "mode": "chat", "supports_function_calling": true, "supports_vision": true, - "source": "https://nebius.com/prices-ai-studio" + "source": "https://nebius.com/prices" }, "nebius/Qwen/Qwen3-14B": { "max_tokens": 32768, @@ -27377,7 +30672,7 @@ "litellm_provider": "nebius", "mode": "chat", "supports_function_calling": true, - "source": "https://nebius.com/prices-ai-studio" + "source": "https://nebius.com/prices" }, "nebius/Qwen/Qwen3-235B-A22B": { "max_tokens": 262144, @@ -27388,7 +30683,7 @@ "litellm_provider": "nebius", "mode": "chat", "supports_function_calling": true, - "source": "https://nebius.com/prices-ai-studio" + "source": "https://nebius.com/prices" }, "nebius/Qwen/Qwen3-30B-A3B": { "max_tokens": 32768, @@ -27399,7 +30694,7 @@ "litellm_provider": "nebius", "mode": "chat", "supports_function_calling": true, - "source": "https://nebius.com/prices-ai-studio" + "source": "https://nebius.com/prices" }, "nebius/Qwen/Qwen3-32B": { "max_tokens": 32768, @@ -27410,7 +30705,7 @@ "litellm_provider": "nebius", "mode": "chat", "supports_function_calling": true, - "source": "https://nebius.com/prices-ai-studio" + "source": "https://nebius.com/prices" }, "nebius/Qwen/Qwen3-4B": { "max_tokens": 32768, @@ -27421,7 +30716,7 @@ "litellm_provider": "nebius", "mode": "chat", "supports_function_calling": true, - "source": "https://nebius.com/prices-ai-studio" + "source": "https://nebius.com/prices" }, "nebius/deepseek-ai/DeepSeek-R1": { "max_tokens": 128000, @@ -27433,7 +30728,7 @@ "mode": "chat", "supports_function_calling": true, "supports_reasoning": true, - "source": "https://nebius.com/prices-ai-studio" + "source": "https://nebius.com/prices" }, "nebius/deepseek-ai/DeepSeek-R1-0528": { "max_tokens": 164000, @@ -27445,7 +30740,7 @@ "mode": "chat", "supports_function_calling": true, "supports_reasoning": true, - "source": "https://nebius.com/prices-ai-studio" + "source": "https://nebius.com/prices" }, "nebius/deepseek-ai/DeepSeek-R1-Distill-Llama-70B": { "max_tokens": 128000, @@ -27456,7 +30751,7 @@ "litellm_provider": "nebius", "mode": "chat", "supports_function_calling": true, - "source": "https://nebius.com/prices-ai-studio" + "source": "https://nebius.com/prices" }, "nebius/deepseek-ai/DeepSeek-V3": { "max_tokens": 128000, @@ -27467,7 +30762,7 @@ "litellm_provider": "nebius", "mode": "chat", "supports_function_calling": true, - "source": "https://nebius.com/prices-ai-studio" + "source": "https://nebius.com/prices" }, "nebius/deepseek-ai/DeepSeek-V3-0324": { "max_tokens": 128000, @@ -27478,7 +30773,7 @@ "litellm_provider": "nebius", "mode": "chat", "supports_function_calling": true, - "source": "https://nebius.com/prices-ai-studio" + "source": "https://nebius.com/prices" }, "nebius/google/gemma-3-27b-it": { "max_tokens": 128000, @@ -27490,7 +30785,7 @@ "mode": "chat", "supports_function_calling": true, "supports_vision": true, - "source": "https://nebius.com/prices-ai-studio" + "source": "https://nebius.com/prices" }, "nebius/meta-llama/Llama-3.3-70B-Instruct": { "max_tokens": 128000, @@ -27501,7 +30796,7 @@ "litellm_provider": "nebius", "mode": "chat", "supports_function_calling": true, - "source": "https://nebius.com/prices-ai-studio" + "source": "https://nebius.com/prices" }, "nebius/meta-llama/Llama-Guard-3-8B": { "max_tokens": 128000, @@ -27511,7 +30806,7 @@ "output_cost_per_token": 6e-8, "litellm_provider": "nebius", "mode": "chat", - "source": "https://nebius.com/prices-ai-studio" + "source": "https://nebius.com/prices" }, "nebius/meta-llama/Meta-Llama-3.1-405B-Instruct": { "max_tokens": 128000, @@ -27522,7 +30817,7 @@ "litellm_provider": "nebius", "mode": "chat", "supports_function_calling": true, - "source": "https://nebius.com/prices-ai-studio" + "source": "https://nebius.com/prices" }, "nebius/meta-llama/Meta-Llama-3.1-70B-Instruct": { "max_tokens": 128000, @@ -27533,7 +30828,7 @@ "litellm_provider": "nebius", "mode": "chat", "supports_function_calling": true, - "source": "https://nebius.com/prices-ai-studio" + "source": "https://nebius.com/prices" }, "nebius/meta-llama/Meta-Llama-3.1-8B-Instruct": { "max_tokens": 128000, @@ -27544,7 +30839,7 @@ "litellm_provider": "nebius", "mode": "chat", "supports_function_calling": true, - "source": "https://nebius.com/prices-ai-studio" + "source": "https://nebius.com/prices" }, "nebius/mistralai/Mistral-Nemo-Instruct-2407": { "max_tokens": 128000, @@ -27555,7 +30850,7 @@ "litellm_provider": "nebius", "mode": "chat", "supports_function_calling": true, - "source": "https://nebius.com/prices-ai-studio" + "source": "https://nebius.com/prices" }, "nebius/nvidia/Llama-3.1-Nemotron-Ultra-253B-v1": { "max_tokens": 128000, @@ -27566,7 +30861,7 @@ "litellm_provider": "nebius", "mode": "chat", "supports_function_calling": true, - "source": "https://nebius.com/prices-ai-studio" + "source": "https://nebius.com/prices" }, "nebius/nvidia/Llama-3.3-Nemotron-Super-49B-v1": { "max_tokens": 131072, @@ -27577,7 +30872,7 @@ "litellm_provider": "nebius", "mode": "chat", "supports_function_calling": true, - "source": "https://nebius.com/prices-ai-studio" + "source": "https://nebius.com/prices" }, "novita/Sao10K/L3-8B-Stheno-v3.2": { "litellm_provider": "novita", @@ -27602,6 +30897,22 @@ "max_tokens": 131072, "supports_system_messages": true }, + "novita/baidu/cobuddy": { + "cache_read_input_token_cost": 7e-8, + "input_cost_per_token": 2.8e-7, + "litellm_provider": "novita", + "max_input_tokens": 131072, + "max_output_tokens": 65536, + "max_tokens": 65536, + "mode": "chat", + "output_cost_per_token": 0.00000113, + "source": "https://novita.ai/pricing", + "supports_function_calling": true, + "supports_prompt_caching": true, + "supports_reasoning": true, + "supports_tool_choice": true, + "supports_vision": false + }, "novita/baidu/ernie-4.5-21B-a3b": { "litellm_provider": "novita", "mode": "chat", @@ -27694,6 +31005,17 @@ "supports_system_messages": true, "supports_response_schema": true }, + "novita/deepseek/deepseek-ocr-2": { + "input_cost_per_token": 3e-8, + "litellm_provider": "novita", + "max_input_tokens": 8192, + "max_output_tokens": 8192, + "max_tokens": 8192, + "mode": "chat", + "output_cost_per_token": 3e-8, + "source": "https://novita.ai/pricing", + "supports_vision": true + }, "novita/deepseek/deepseek-prover-v2-671b": { "litellm_provider": "novita", "mode": "chat", @@ -27704,6 +31026,20 @@ "max_tokens": 160000, "supports_system_messages": true }, + "novita/deepseek/deepseek-r1": { + "input_cost_per_token": 0.000004, + "litellm_provider": "novita", + "max_input_tokens": 64000, + "max_output_tokens": 16000, + "max_tokens": 16000, + "mode": "chat", + "output_cost_per_token": 0.000004, + "source": "https://api.novita.ai/v3/openai/models", + "supports_function_calling": true, + "supports_reasoning": true, + "supports_tool_choice": true, + "supports_vision": false + }, "novita/deepseek/deepseek-r1-0528": { "litellm_provider": "novita", "mode": "chat", @@ -27783,7 +31119,22 @@ "supports_parallel_function_calling": true, "supports_tool_choice": true, "supports_system_messages": true, - "supports_reasoning": true + "supports_reasoning": true, + "supports_response_schema": true + }, + "novita/deepseek/deepseek-r1/community": { + "input_cost_per_token": 0.000004, + "litellm_provider": "novita", + "max_input_tokens": 64000, + "max_output_tokens": 8000, + "max_tokens": 8000, + "mode": "chat", + "output_cost_per_token": 0.000004, + "source": "https://api.novita.ai/v3/openai/models", + "supports_function_calling": true, + "supports_reasoning": true, + "supports_tool_choice": true, + "supports_vision": false }, "novita/deepseek/deepseek-v3-0324": { "litellm_provider": "novita", @@ -27791,8 +31142,8 @@ "input_cost_per_token": 2.7e-7, "output_cost_per_token": 0.00000112, "max_input_tokens": 163840, - "max_output_tokens": 163840, - "max_tokens": 163840, + "max_output_tokens": 65536, + "max_tokens": 65536, "supports_function_calling": true, "supports_parallel_function_calling": true, "supports_tool_choice": true, @@ -27880,6 +31231,117 @@ "supports_response_schema": true, "supports_reasoning": true }, + "novita/deepseek/deepseek-v3/community": { + "input_cost_per_token": 8.900000000000001e-7, + "litellm_provider": "novita", + "max_input_tokens": 64000, + "max_output_tokens": 8000, + "max_tokens": 8000, + "mode": "chat", + "output_cost_per_token": 8.900000000000001e-7, + "source": "https://api.novita.ai/v3/openai/models", + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_vision": false + }, + "novita/deepseek/deepseek-v4-flash": { + "cache_read_input_token_cost": 2.8e-8, + "input_cost_per_token": 1.4e-7, + "litellm_provider": "novita", + "max_input_tokens": 1048576, + "max_output_tokens": 393216, + "max_tokens": 393216, + "mode": "chat", + "output_cost_per_token": 2.8e-7, + "source": "https://novita.ai/pricing", + "supports_function_calling": true, + "supports_prompt_caching": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_tool_choice": true, + "supports_vision": false + }, + "novita/deepseek/deepseek-v4-flash-0731": { + "cache_read_input_token_cost": 2.8e-8, + "input_cost_per_token": 4.4e-7, + "litellm_provider": "novita", + "max_input_tokens": 1048576, + "max_output_tokens": 393216, + "max_tokens": 393216, + "mode": "chat", + "output_cost_per_token": 0.00000132, + "source": "https://novita.ai/pricing", + "supports_function_calling": true, + "supports_prompt_caching": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_tool_choice": true, + "supports_vision": false + }, + "novita/deepseek/deepseek-v4-flash-vision-exp": { + "cache_read_input_token_cost": 2.8e-8, + "input_cost_per_token": 4.4e-7, + "litellm_provider": "novita", + "max_input_tokens": 1048576, + "max_output_tokens": 393216, + "max_tokens": 393216, + "mode": "chat", + "output_cost_per_token": 0.00000132, + "source": "https://api.novita.ai/v3/openai/models", + "supports_function_calling": true, + "supports_prompt_caching": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_tool_choice": true, + "supports_vision": true + }, + "novita/deepseek/deepseek-v4-pro": { + "cache_read_input_token_cost": 1.35e-7, + "input_cost_per_token": 0.0000016000000000000001, + "litellm_provider": "novita", + "max_input_tokens": 1048576, + "max_output_tokens": 393216, + "max_tokens": 393216, + "mode": "chat", + "output_cost_per_token": 0.0000032000000000000003, + "source": "https://novita.ai/pricing", + "supports_function_calling": true, + "supports_prompt_caching": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_tool_choice": true, + "supports_vision": false + }, + "novita/deepseek/deepseek-v4-pro-0813": { + "cache_read_input_token_cost": 1.3200000000000002e-7, + "input_cost_per_token": 0.00000132, + "litellm_provider": "novita", + "max_input_tokens": 1048576, + "max_output_tokens": 393216, + "max_tokens": 393216, + "mode": "chat", + "output_cost_per_token": 0.00000396, + "source": "https://novita.ai/pricing", + "supports_function_calling": true, + "supports_prompt_caching": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_tool_choice": true, + "supports_vision": false + }, + "novita/deepseek/deepseek_v3": { + "input_cost_per_token": 8.900000000000001e-7, + "litellm_provider": "novita", + "max_input_tokens": 64000, + "max_output_tokens": 16000, + "max_tokens": 16000, + "mode": "chat", + "output_cost_per_token": 8.900000000000001e-7, + "source": "https://api.novita.ai/v3/openai/models", + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_vision": false + }, "novita/google/gemma-3-12b-it": { "litellm_provider": "novita", "mode": "chat", @@ -27904,6 +31366,36 @@ "supports_vision": true, "supports_system_messages": true }, + "novita/google/gemma-4-26b-a4b-it": { + "input_cost_per_token": 1.3e-7, + "litellm_provider": "novita", + "max_input_tokens": 262144, + "max_output_tokens": 131072, + "max_tokens": 131072, + "mode": "chat", + "output_cost_per_token": 4.0000000000000003e-7, + "source": "https://novita.ai/pricing", + "supports_function_calling": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_tool_choice": true, + "supports_vision": true + }, + "novita/google/gemma-4-31b-it": { + "input_cost_per_token": 1.4e-7, + "litellm_provider": "novita", + "max_input_tokens": 262144, + "max_output_tokens": 131072, + "max_tokens": 131072, + "mode": "chat", + "output_cost_per_token": 4.0000000000000003e-7, + "source": "https://novita.ai/pricing", + "supports_function_calling": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_tool_choice": true, + "supports_vision": true + }, "novita/gryphe/mythomax-l2-13b": { "litellm_provider": "novita", "mode": "chat", @@ -27914,6 +31406,38 @@ "max_tokens": 3200, "supports_system_messages": true }, + "novita/inclusionai/ling-3.0-flash": { + "cache_read_input_token_cost": 1.2e-8, + "input_cost_per_token": 6e-8, + "litellm_provider": "novita", + "max_input_tokens": 262144, + "max_output_tokens": 32768, + "max_tokens": 32768, + "mode": "chat", + "output_cost_per_token": 1.8e-7, + "source": "https://novita.ai/pricing", + "supports_function_calling": true, + "supports_prompt_caching": true, + "supports_reasoning": true, + "supports_tool_choice": true, + "supports_vision": false + }, + "novita/inclusionai/ling-3.0-flash-fast": { + "cache_read_input_token_cost": 1.2e-8, + "input_cost_per_token": 6e-8, + "litellm_provider": "novita", + "max_input_tokens": 262144, + "max_output_tokens": 32768, + "max_tokens": 32768, + "mode": "chat", + "output_cost_per_token": 1.8e-7, + "source": "https://novita.ai/pricing", + "supports_function_calling": true, + "supports_prompt_caching": true, + "supports_reasoning": true, + "supports_tool_choice": true, + "supports_vision": false + }, "novita/kwaipilot/kat-coder-pro": { "litellm_provider": "novita", "mode": "chat", @@ -27950,7 +31474,8 @@ "max_input_tokens": 8192, "max_output_tokens": 8192, "max_tokens": 8192, - "supports_system_messages": true + "supports_system_messages": true, + "supports_response_schema": true }, "novita/meta-llama/llama-3.1-8b-instruct": { "litellm_provider": "novita", @@ -27960,7 +31485,20 @@ "max_input_tokens": 16384, "max_output_tokens": 16384, "max_tokens": 16384, - "supports_system_messages": true + "supports_system_messages": true, + "supports_response_schema": true + }, + "novita/meta-llama/llama-3.2-1b-instruct": { + "input_cost_per_token": 2e-8, + "litellm_provider": "novita", + "max_input_tokens": 131000, + "max_output_tokens": 32000, + "max_tokens": 32000, + "mode": "chat", + "output_cost_per_token": 2e-8, + "source": "https://api.novita.ai/v3/openai/models", + "supports_response_schema": true, + "supports_vision": false }, "novita/meta-llama/llama-3.2-3b-instruct": { "litellm_provider": "novita", @@ -27980,13 +31518,14 @@ "mode": "chat", "input_cost_per_token": 1.35e-7, "output_cost_per_token": 4e-7, - "max_input_tokens": 131072, - "max_output_tokens": 120000, - "max_tokens": 120000, + "max_input_tokens": 12288, + "max_output_tokens": 12288, + "max_tokens": 12288, "supports_function_calling": true, "supports_parallel_function_calling": true, "supports_tool_choice": true, - "supports_system_messages": true + "supports_system_messages": true, + "supports_response_schema": true }, "novita/meta-llama/llama-4-maverick-17b-128e-instruct-fp8": { "litellm_provider": "novita", @@ -27997,7 +31536,8 @@ "max_output_tokens": 8192, "max_tokens": 8192, "supports_vision": true, - "supports_system_messages": true + "supports_system_messages": true, + "supports_response_schema": true }, "novita/meta-llama/llama-4-scout-17b-16e-instruct": { "litellm_provider": "novita", @@ -28018,7 +31558,40 @@ "max_input_tokens": 65535, "max_output_tokens": 8000, "max_tokens": 8000, - "supports_system_messages": true + "supports_system_messages": true, + "supports_response_schema": true + }, + "novita/mindai/macaron-v1-tall": { + "cache_read_input_token_cost": 8e-8, + "input_cost_per_token": 4.5000000000000003e-7, + "litellm_provider": "novita", + "max_input_tokens": 262144, + "max_output_tokens": 32768, + "max_tokens": 32768, + "mode": "chat", + "output_cost_per_token": 0.0000026, + "source": "https://novita.ai/pricing", + "supports_function_calling": true, + "supports_prompt_caching": true, + "supports_reasoning": true, + "supports_tool_choice": true, + "supports_vision": false + }, + "novita/mindai/macaron-v1-venti": { + "cache_read_input_token_cost": 3e-7, + "input_cost_per_token": 0.0000015, + "litellm_provider": "novita", + "max_input_tokens": 1048576, + "max_output_tokens": 131072, + "max_tokens": 131072, + "mode": "chat", + "output_cost_per_token": 0.0000045, + "source": "https://novita.ai/pricing", + "supports_function_calling": true, + "supports_prompt_caching": true, + "supports_reasoning": true, + "supports_tool_choice": true, + "supports_vision": false }, "novita/minimax/minimax-m2": { "litellm_provider": "novita", @@ -28034,7 +31607,8 @@ "supports_system_messages": true, "cache_read_input_token_cost": 3e-8, "input_cost_per_token_cache_hit": 3e-8, - "supports_reasoning": true + "supports_reasoning": true, + "supports_response_schema": true }, "novita/minimax/minimax-m2.1": { "litellm_provider": "novita", @@ -28052,6 +31626,91 @@ "cache_read_input_token_cost": 3e-8, "input_cost_per_token_cache_hit": 3e-8 }, + "novita/minimax/minimax-m2.5": { + "cache_read_input_token_cost": 3e-8, + "input_cost_per_token": 3e-7, + "litellm_provider": "novita", + "max_input_tokens": 204800, + "max_output_tokens": 131100, + "max_tokens": 131100, + "mode": "chat", + "output_cost_per_token": 0.0000012, + "source": "https://novita.ai/pricing", + "supports_function_calling": true, + "supports_prompt_caching": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_tool_choice": true, + "supports_vision": false + }, + "novita/minimax/minimax-m2.5-highspeed": { + "cache_read_input_token_cost": 3e-8, + "input_cost_per_token": 6e-7, + "litellm_provider": "novita", + "max_input_tokens": 204800, + "max_output_tokens": 131100, + "max_tokens": 131100, + "mode": "chat", + "output_cost_per_token": 0.0000024, + "source": "https://novita.ai/pricing", + "supports_function_calling": true, + "supports_prompt_caching": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_tool_choice": true, + "supports_vision": false + }, + "novita/minimax/minimax-m2.7": { + "cache_read_input_token_cost": 6e-8, + "input_cost_per_token": 3e-7, + "litellm_provider": "novita", + "max_input_tokens": 204800, + "max_output_tokens": 131072, + "max_tokens": 131072, + "mode": "chat", + "output_cost_per_token": 0.0000012, + "source": "https://novita.ai/pricing", + "supports_function_calling": true, + "supports_prompt_caching": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_tool_choice": true, + "supports_vision": false + }, + "novita/minimax/minimax-m2.7-highspeed": { + "cache_read_input_token_cost": 6e-8, + "input_cost_per_token": 6e-7, + "litellm_provider": "novita", + "max_input_tokens": 204800, + "max_output_tokens": 131072, + "max_tokens": 131072, + "mode": "chat", + "output_cost_per_token": 0.0000024, + "source": "https://api.novita.ai/v3/openai/models", + "supports_function_calling": true, + "supports_prompt_caching": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_tool_choice": true, + "supports_vision": false + }, + "novita/minimax/minimax-m3": { + "cache_read_input_token_cost": 6e-8, + "input_cost_per_token": 3e-7, + "litellm_provider": "novita", + "max_input_tokens": 1000000, + "max_output_tokens": 131072, + "max_tokens": 131072, + "mode": "chat", + "output_cost_per_token": 0.0000012, + "source": "https://novita.ai/pricing", + "supports_function_calling": true, + "supports_prompt_caching": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_tool_choice": true, + "supports_vision": true + }, "novita/minimaxai/minimax-m1-80k": { "litellm_provider": "novita", "mode": "chat", @@ -28064,7 +31723,8 @@ "supports_parallel_function_calling": true, "supports_tool_choice": true, "supports_system_messages": true, - "supports_reasoning": true + "supports_reasoning": true, + "supports_response_schema": true }, "novita/mistralai/mistral-nemo": { "litellm_provider": "novita", @@ -28084,8 +31744,8 @@ "input_cost_per_token": 6e-7, "output_cost_per_token": 0.0000025, "max_input_tokens": 262144, - "max_output_tokens": 262144, - "max_tokens": 262144, + "max_output_tokens": 100352, + "max_tokens": 100352, "supports_function_calling": true, "supports_parallel_function_calling": true, "supports_tool_choice": true, @@ -28098,8 +31758,8 @@ "input_cost_per_token": 5.7e-7, "output_cost_per_token": 0.0000023, "max_input_tokens": 131072, - "max_output_tokens": 131072, - "max_tokens": 131072, + "max_output_tokens": 100352, + "max_tokens": 100352, "supports_function_calling": true, "supports_parallel_function_calling": true, "supports_tool_choice": true, @@ -28112,14 +31772,84 @@ "input_cost_per_token": 6e-7, "output_cost_per_token": 0.0000025, "max_input_tokens": 262144, - "max_output_tokens": 262144, - "max_tokens": 262144, + "max_output_tokens": 100352, + "max_tokens": 100352, "supports_function_calling": true, "supports_parallel_function_calling": true, "supports_tool_choice": true, "supports_system_messages": true, "supports_response_schema": true, - "supports_reasoning": true + "supports_reasoning": true, + "cache_read_input_token_cost": 1.5e-7, + "supports_prompt_caching": true + }, + "novita/moonshotai/kimi-k2.5": { + "cache_read_input_token_cost": 1.0000000000000001e-7, + "input_cost_per_token": 6e-7, + "litellm_provider": "novita", + "max_input_tokens": 262144, + "max_output_tokens": 262144, + "max_tokens": 262144, + "mode": "chat", + "output_cost_per_token": 0.000003, + "source": "https://novita.ai/pricing", + "supports_function_calling": true, + "supports_prompt_caching": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_tool_choice": true, + "supports_vision": true + }, + "novita/moonshotai/kimi-k2.6": { + "cache_read_input_token_cost": 1.6e-7, + "input_cost_per_token": 8.000000000000001e-7, + "litellm_provider": "novita", + "max_input_tokens": 262144, + "max_output_tokens": 262144, + "max_tokens": 262144, + "mode": "chat", + "output_cost_per_token": 0.0000034, + "source": "https://novita.ai/pricing", + "supports_function_calling": true, + "supports_prompt_caching": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_tool_choice": true, + "supports_vision": true + }, + "novita/moonshotai/kimi-k2.7-code": { + "cache_read_input_token_cost": 1.9e-7, + "input_cost_per_token": 9.499999999999999e-7, + "litellm_provider": "novita", + "max_input_tokens": 262144, + "max_output_tokens": 262144, + "max_tokens": 262144, + "mode": "chat", + "output_cost_per_token": 0.000004, + "source": "https://novita.ai/pricing", + "supports_function_calling": true, + "supports_prompt_caching": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_tool_choice": true, + "supports_vision": true + }, + "novita/moonshotai/kimi-k3": { + "cache_read_input_token_cost": 3e-7, + "input_cost_per_token": 0.000003, + "litellm_provider": "novita", + "max_input_tokens": 1048576, + "max_output_tokens": 1048576, + "max_tokens": 1048576, + "mode": "chat", + "output_cost_per_token": 0.000015, + "source": "https://novita.ai/pricing", + "supports_function_calling": true, + "supports_prompt_caching": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_tool_choice": true, + "supports_vision": true }, "novita/nousresearch/hermes-2-pro-llama-3-8b": { "litellm_provider": "novita", @@ -28133,6 +31863,21 @@ "supports_system_messages": true, "supports_response_schema": true }, + "novita/nvidia/nemotron-3-nano-30b-a3b": { + "input_cost_per_token": 5.0000000000000004e-8, + "litellm_provider": "novita", + "max_input_tokens": 262144, + "max_output_tokens": 32768, + "max_tokens": 32768, + "mode": "chat", + "output_cost_per_token": 2.0000000000000002e-7, + "source": "https://novita.ai/pricing", + "supports_function_calling": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_tool_choice": true, + "supports_vision": false + }, "novita/openai/gpt-oss-120b": { "litellm_provider": "novita", "mode": "chat", @@ -28204,8 +31949,8 @@ "input_cost_per_token": 7e-8, "output_cost_per_token": 7e-8, "max_input_tokens": 32000, - "max_output_tokens": 32000, - "max_tokens": 32000, + "max_output_tokens": 8192, + "max_tokens": 8192, "supports_function_calling": true, "supports_parallel_function_calling": true, "supports_tool_choice": true, @@ -28232,7 +31977,8 @@ "max_output_tokens": 20000, "max_tokens": 20000, "supports_system_messages": true, - "supports_reasoning": true + "supports_reasoning": true, + "supports_response_schema": true }, "novita/qwen/qwen3-235b-a22b-instruct-2507": { "litellm_provider": "novita", @@ -28271,7 +32017,9 @@ "max_output_tokens": 20000, "max_tokens": 20000, "supports_system_messages": true, - "supports_reasoning": true + "supports_reasoning": true, + "supports_function_calling": true, + "supports_tool_choice": true }, "novita/qwen/qwen3-32b-fp8": { "litellm_provider": "novita", @@ -28290,10 +32038,12 @@ "input_cost_per_token": 3e-8, "output_cost_per_token": 3e-8, "max_input_tokens": 128000, - "max_output_tokens": 20000, - "max_tokens": 20000, + "max_output_tokens": 8192, + "max_tokens": 8192, "supports_system_messages": true, - "supports_reasoning": true + "supports_reasoning": true, + "supports_function_calling": true, + "supports_tool_choice": true }, "novita/qwen/qwen3-8b-fp8": { "litellm_provider": "novita", @@ -28323,8 +32073,8 @@ "novita/qwen/qwen3-coder-480b-a35b-instruct": { "litellm_provider": "novita", "mode": "chat", - "input_cost_per_token": 3e-7, - "output_cost_per_token": 0.0000013, + "input_cost_per_token": 3.8e-7, + "output_cost_per_token": 0.00000155, "max_input_tokens": 262144, "max_output_tokens": 65536, "max_tokens": 65536, @@ -28334,6 +32084,20 @@ "supports_system_messages": true, "supports_response_schema": true }, + "novita/qwen/qwen3-coder-next": { + "input_cost_per_token": 2.0000000000000002e-7, + "litellm_provider": "novita", + "max_input_tokens": 262144, + "max_output_tokens": 65536, + "max_tokens": 65536, + "mode": "chat", + "output_cost_per_token": 0.0000015, + "source": "https://novita.ai/pricing", + "supports_function_calling": true, + "supports_response_schema": true, + "supports_tool_choice": true, + "supports_vision": false + }, "novita/qwen/qwen3-max": { "litellm_provider": "novita", "mode": "chat", @@ -28360,7 +32124,8 @@ "supports_parallel_function_calling": true, "supports_tool_choice": true, "supports_system_messages": true, - "supports_response_schema": true + "supports_response_schema": true, + "supports_reasoning": true }, "novita/qwen/qwen3-next-80b-a3b-thinking": { "litellm_provider": "novita", @@ -28436,7 +32201,9 @@ "max_tokens": 32768, "supports_vision": true, "supports_system_messages": true, - "supports_reasoning": true + "supports_reasoning": true, + "supports_function_calling": true, + "supports_tool_choice": true }, "novita/qwen/qwen3-vl-30b-a3b-instruct": { "litellm_provider": "novita", @@ -28483,6 +32250,130 @@ "supports_system_messages": true, "supports_response_schema": true }, + "novita/qwen/qwen3.5-122b-a10b": { + "input_cost_per_token": 4.0000000000000003e-7, + "litellm_provider": "novita", + "max_input_tokens": 262144, + "max_output_tokens": 65536, + "max_tokens": 65536, + "mode": "chat", + "output_cost_per_token": 0.0000032000000000000003, + "source": "https://novita.ai/pricing", + "supports_function_calling": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_tool_choice": true, + "supports_vision": true + }, + "novita/qwen/qwen3.5-27b": { + "input_cost_per_token": 3e-7, + "litellm_provider": "novita", + "max_input_tokens": 262144, + "max_output_tokens": 65536, + "max_tokens": 65536, + "mode": "chat", + "output_cost_per_token": 0.0000024, + "source": "https://novita.ai/pricing", + "supports_function_calling": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_tool_choice": true, + "supports_vision": true + }, + "novita/qwen/qwen3.5-35b-a3b": { + "input_cost_per_token": 2.5e-7, + "litellm_provider": "novita", + "max_input_tokens": 262144, + "max_output_tokens": 65536, + "max_tokens": 65536, + "mode": "chat", + "output_cost_per_token": 0.000002, + "source": "https://novita.ai/pricing", + "supports_function_calling": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_tool_choice": true, + "supports_vision": true + }, + "novita/qwen/qwen3.5-397b-a17b": { + "input_cost_per_token": 6e-7, + "litellm_provider": "novita", + "max_input_tokens": 262144, + "max_output_tokens": 65536, + "max_tokens": 65536, + "mode": "chat", + "output_cost_per_token": 0.0000036000000000000003, + "source": "https://novita.ai/pricing", + "supports_function_calling": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_tool_choice": true, + "supports_vision": true + }, + "novita/qwen/qwen3.6-27b": { + "input_cost_per_token": 6e-7, + "litellm_provider": "novita", + "max_input_tokens": 262144, + "max_output_tokens": 65536, + "max_tokens": 65536, + "mode": "chat", + "output_cost_per_token": 0.0000036000000000000003, + "source": "https://novita.ai/pricing", + "supports_function_calling": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_tool_choice": true, + "supports_vision": true + }, + "novita/qwen/qwen3.6-35b-a3b": { + "input_cost_per_token": 2.48e-7, + "litellm_provider": "novita", + "max_input_tokens": 262144, + "max_output_tokens": 65536, + "max_tokens": 65536, + "mode": "chat", + "output_cost_per_token": 0.0000014850000000000002, + "source": "https://novita.ai/pricing", + "supports_function_calling": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_tool_choice": true, + "supports_vision": true + }, + "novita/qwen/qwen3.7-max": { + "cache_read_input_token_cost": 2.5e-7, + "input_cost_per_token": 0.00000125, + "litellm_provider": "novita", + "max_input_tokens": 1000000, + "max_output_tokens": 65536, + "max_tokens": 65536, + "mode": "chat", + "output_cost_per_token": 0.00000375, + "source": "https://novita.ai/pricing", + "supports_function_calling": true, + "supports_prompt_caching": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_tool_choice": true, + "supports_vision": false + }, + "novita/qwen/qwen3.8-max": { + "cache_read_input_token_cost": 2.5e-7, + "input_cost_per_token": 0.000002, + "litellm_provider": "novita", + "max_input_tokens": 1000000, + "max_output_tokens": 131072, + "max_tokens": 131072, + "mode": "chat", + "output_cost_per_token": 0.000006, + "source": "https://novita.ai/pricing", + "supports_function_calling": true, + "supports_prompt_caching": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_tool_choice": true, + "supports_vision": true + }, "novita/sao10k/l3-70b-euryale-v2.1": { "litellm_provider": "novita", "mode": "chat", @@ -28534,11 +32425,59 @@ "supports_system_messages": true, "supports_response_schema": true }, + "novita/stepfun/step-3.7-flash": { + "cache_read_input_token_cost": 4e-8, + "input_cost_per_token": 2.0000000000000002e-7, + "litellm_provider": "novita", + "max_input_tokens": 262144, + "max_output_tokens": 256000, + "max_tokens": 256000, + "mode": "chat", + "output_cost_per_token": 0.00000115, + "source": "https://novita.ai/pricing", + "supports_function_calling": true, + "supports_prompt_caching": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_tool_choice": true, + "supports_vision": true + }, + "novita/tencent/hy3": { + "cache_read_input_token_cost": 3.5e-8, + "input_cost_per_token": 1.4e-7, + "litellm_provider": "novita", + "max_input_tokens": 262144, + "max_output_tokens": 262144, + "max_tokens": 262144, + "mode": "chat", + "output_cost_per_token": 5.8e-7, + "source": "https://novita.ai/pricing", + "supports_function_calling": true, + "supports_prompt_caching": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_tool_choice": true, + "supports_vision": false + }, + "novita/thudm/glm-4-32b-0414": { + "input_cost_per_token": 5.5e-7, + "litellm_provider": "novita", + "max_input_tokens": 32000, + "max_output_tokens": 32000, + "max_tokens": 32000, + "mode": "chat", + "output_cost_per_token": 0.00000166, + "source": "https://api.novita.ai/v3/openai/models", + "supports_function_calling": true, + "supports_response_schema": true, + "supports_tool_choice": true, + "supports_vision": false + }, "novita/xiaomimimo/mimo-v2-flash": { "litellm_provider": "novita", "mode": "chat", - "input_cost_per_token": 1e-7, - "output_cost_per_token": 3e-7, + "input_cost_per_token": 1.1e-7, + "output_cost_per_token": 3.3e-7, "max_input_tokens": 262144, "max_output_tokens": 32000, "max_tokens": 32000, @@ -28547,10 +32486,44 @@ "supports_tool_choice": true, "supports_system_messages": true, "supports_response_schema": true, - "cache_read_input_token_cost": 2e-8, - "input_cost_per_token_cache_hit": 2e-8, + "cache_read_input_token_cost": 2.4e-8, + "input_cost_per_token_cache_hit": 2.4e-8, "supports_reasoning": true }, + "novita/xiaomimimo/mimo-v2.5": { + "cache_read_input_token_cost": 3.4e-9, + "input_cost_per_token": 1.6800000000000002e-7, + "litellm_provider": "novita", + "max_input_tokens": 1048576, + "max_output_tokens": 131072, + "max_tokens": 131072, + "mode": "chat", + "output_cost_per_token": 3.3600000000000004e-7, + "source": "https://novita.ai/pricing", + "supports_function_calling": true, + "supports_prompt_caching": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_tool_choice": true, + "supports_vision": true + }, + "novita/xiaomimimo/mimo-v2.5-pro": { + "cache_read_input_token_cost": 4.3e-9, + "input_cost_per_token": 5.22e-7, + "litellm_provider": "novita", + "max_input_tokens": 1048576, + "max_output_tokens": 131072, + "max_tokens": 131072, + "mode": "chat", + "output_cost_per_token": 0.000001044, + "source": "https://novita.ai/pricing", + "supports_function_calling": true, + "supports_prompt_caching": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_tool_choice": true, + "supports_vision": false + }, "novita/zai-org/autoglm-phone-9b-multilingual": { "litellm_provider": "novita", "mode": "chat", @@ -28590,7 +32563,9 @@ "supports_parallel_function_calling": true, "supports_tool_choice": true, "supports_system_messages": true, - "supports_reasoning": true + "supports_reasoning": true, + "cache_read_input_token_cost": 2.5e-8, + "supports_prompt_caching": true }, "novita/zai-org/glm-4.5v": { "litellm_provider": "novita", @@ -28662,25 +32637,161 @@ "input_cost_per_token_cache_hit": 1.1e-7, "supports_reasoning": true }, - "nscale/Qwen/QwQ-32B": { - "input_cost_per_token": 1.8e-7, - "litellm_provider": "nscale", + "novita/zai-org/glm-4.7-flash": { + "cache_read_input_token_cost": 1e-8, + "input_cost_per_token": 7e-8, + "litellm_provider": "novita", + "max_input_tokens": 200000, + "max_output_tokens": 128000, + "max_tokens": 128000, "mode": "chat", - "output_cost_per_token": 2e-7, - "source": "https://docs.nscale.com/docs/inference/serverless-models/current#chat-models" + "output_cost_per_token": 4.0000000000000003e-7, + "source": "https://novita.ai/pricing", + "supports_function_calling": true, + "supports_prompt_caching": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_tool_choice": true, + "supports_vision": false }, - "nscale/Qwen/Qwen2.5-Coder-32B-Instruct": { - "input_cost_per_token": 6e-8, - "litellm_provider": "nscale", + "novita/zai-org/glm-4.7-h": { + "cache_read_input_token_cost": 1.1e-7, + "input_cost_per_token": 6e-7, + "litellm_provider": "novita", + "max_input_tokens": 204800, + "max_output_tokens": 131072, + "max_tokens": 131072, "mode": "chat", - "output_cost_per_token": 2e-7, - "source": "https://docs.nscale.com/docs/inference/serverless-models/current#chat-models" + "output_cost_per_token": 0.0000022, + "source": "https://api.novita.ai/v3/openai/models", + "supports_function_calling": true, + "supports_prompt_caching": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_tool_choice": true, + "supports_vision": false }, - "nscale/Qwen/Qwen2.5-Coder-3B-Instruct": { - "input_cost_per_token": 1e-8, - "litellm_provider": "nscale", - "mode": "chat", - "output_cost_per_token": 3e-8, + "novita/zai-org/glm-5": { + "cache_read_input_token_cost": 2.0000000000000002e-7, + "input_cost_per_token": 0.000001, + "litellm_provider": "novita", + "max_input_tokens": 202800, + "max_output_tokens": 131072, + "max_tokens": 131072, + "mode": "chat", + "output_cost_per_token": 0.0000032000000000000003, + "source": "https://novita.ai/pricing", + "supports_function_calling": true, + "supports_prompt_caching": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_tool_choice": true, + "supports_vision": false + }, + "novita/zai-org/glm-5-turbo": { + "cache_read_input_token_cost": 2.4e-7, + "input_cost_per_token": 0.0000012, + "litellm_provider": "novita", + "max_input_tokens": 202800, + "max_output_tokens": 131072, + "max_tokens": 131072, + "mode": "chat", + "output_cost_per_token": 0.000004, + "source": "https://api.novita.ai/v3/openai/models", + "supports_function_calling": true, + "supports_prompt_caching": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_tool_choice": true, + "supports_vision": false + }, + "novita/zai-org/glm-5.1": { + "cache_read_input_token_cost": 2.6e-7, + "input_cost_per_token": 0.00000138, + "litellm_provider": "novita", + "max_input_tokens": 204800, + "max_output_tokens": 131072, + "max_tokens": 131072, + "mode": "chat", + "output_cost_per_token": 0.0000044, + "source": "https://novita.ai/pricing", + "supports_function_calling": true, + "supports_prompt_caching": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_tool_choice": true, + "supports_vision": false + }, + "novita/zai-org/glm-5.2": { + "cache_read_input_token_cost": 2.6e-7, + "input_cost_per_token": 0.0000014, + "litellm_provider": "novita", + "max_input_tokens": 1048576, + "max_output_tokens": 131072, + "max_tokens": 131072, + "mode": "chat", + "output_cost_per_token": 0.0000044, + "source": "https://novita.ai/pricing", + "supports_function_calling": true, + "supports_prompt_caching": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_tool_choice": true, + "supports_vision": false + }, + "novita/zai-org/glm-5.3": { + "cache_read_input_token_cost": 2.6e-7, + "input_cost_per_token": 0.0000014, + "litellm_provider": "novita", + "max_input_tokens": 1048576, + "max_output_tokens": 131072, + "max_tokens": 131072, + "mode": "chat", + "output_cost_per_token": 0.0000044, + "source": "https://api.novita.ai/v3/openai/models", + "supports_function_calling": true, + "supports_prompt_caching": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_tool_choice": true, + "supports_vision": false + }, + "novita/zai-org/glm-5v-turbo": { + "cache_read_input_token_cost": 2.4e-7, + "input_cost_per_token": 0.0000012, + "litellm_provider": "novita", + "max_input_tokens": 204800, + "max_output_tokens": 131072, + "max_tokens": 131072, + "mode": "chat", + "output_cost_per_token": 0.000004, + "source": "https://api.novita.ai/v3/openai/models", + "supports_function_calling": true, + "supports_prompt_caching": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_tool_choice": true, + "supports_vision": true + }, + "nscale/Qwen/QwQ-32B": { + "input_cost_per_token": 1.8e-7, + "litellm_provider": "nscale", + "mode": "chat", + "output_cost_per_token": 2e-7, + "source": "https://docs.nscale.com/docs/inference/serverless-models/current#chat-models" + }, + "nscale/Qwen/Qwen2.5-Coder-32B-Instruct": { + "input_cost_per_token": 6e-8, + "litellm_provider": "nscale", + "mode": "chat", + "output_cost_per_token": 2e-7, + "source": "https://docs.nscale.com/docs/inference/serverless-models/current#chat-models" + }, + "nscale/Qwen/Qwen2.5-Coder-3B-Instruct": { + "input_cost_per_token": 1e-8, + "litellm_provider": "nscale", + "mode": "chat", + "output_cost_per_token": 3e-8, "source": "https://docs.nscale.com/docs/inference/serverless-models/current#chat-models" }, "nscale/Qwen/Qwen2.5-Coder-7B-Instruct": { @@ -29229,7 +33340,7 @@ "max_tokens": 4000, "mode": "chat", "output_cost_per_token": 0.00000156, - "source": "https://www.oracle.com/cloud/ai/generative-ai/pricing/", + "source": "https://www.oracle.com/artificial-intelligence/enterprise-ai/cost-estimator/", "supports_function_calling": true, "supports_response_schema": false, "supports_native_streaming": true @@ -29242,7 +33353,7 @@ "max_tokens": 8192, "mode": "chat", "output_cost_per_token": 0.00000156, - "source": "https://www.oracle.com/cloud/ai/generative-ai/pricing/", + "source": "https://www.oracle.com/artificial-intelligence/enterprise-ai/cost-estimator/", "supports_function_calling": false, "supports_response_schema": false, "supports_native_streaming": true @@ -29279,7 +33390,7 @@ "max_tokens": 8192, "mode": "chat", "output_cost_per_token": 0.00000156, - "source": "https://www.oracle.com/cloud/ai/generative-ai/pricing/", + "source": "https://www.oracle.com/artificial-intelligence/enterprise-ai/cost-estimator/", "supports_function_calling": true, "supports_response_schema": false, "supports_native_streaming": true, @@ -29306,7 +33417,7 @@ "max_tokens": 4000, "mode": "chat", "output_cost_per_token": 0.00000156, - "source": "https://www.oracle.com/cloud/ai/generative-ai/pricing/", + "source": "https://www.oracle.com/artificial-intelligence/enterprise-ai/cost-estimator/", "supports_function_calling": true, "supports_response_schema": false, "supports_native_streaming": true @@ -29319,7 +33430,7 @@ "max_tokens": 4000, "mode": "chat", "output_cost_per_token": 0.00000156, - "source": "https://www.oracle.com/cloud/ai/generative-ai/pricing/", + "source": "https://www.oracle.com/artificial-intelligence/enterprise-ai/cost-estimator/", "supports_function_calling": true, "supports_response_schema": false, "supports_native_streaming": true @@ -30442,7 +34553,8 @@ "supports_prompt_caching": true, "supports_reasoning": true, "supports_tool_choice": true, - "supports_vision": true + "supports_vision": true, + "prompt_cache_min_tokens": 4096 }, "openrouter/anthropic/claude-opus-4": { "input_cost_per_image": 0.0048, @@ -30461,7 +34573,8 @@ "supports_prompt_caching": true, "supports_reasoning": true, "supports_tool_choice": true, - "supports_vision": true + "supports_vision": true, + "prompt_cache_min_tokens": 1024 }, "openrouter/anthropic/claude-opus-4.1": { "input_cost_per_image": 0.0048, @@ -30481,7 +34594,8 @@ "supports_prompt_caching": true, "supports_reasoning": true, "supports_tool_choice": true, - "supports_vision": true + "supports_vision": true, + "prompt_cache_min_tokens": 1024 }, "openrouter/anthropic/claude-opus-4.5": { "cache_creation_input_token_cost": 0.00000625, @@ -30500,10 +34614,12 @@ "supports_reasoning": true, "supports_tool_choice": true, "supports_vision": true, - "supports_output_config": true + "supports_output_config": true, + "prompt_cache_min_tokens": 4096 }, "openrouter/anthropic/claude-opus-4.6": { "supports_adaptive_thinking": true, + "supports_legacy_thinking": true, "cache_creation_input_token_cost": 0.00000625, "cache_read_input_token_cost": 5e-7, "input_cost_per_token": 0.000005, @@ -30520,7 +34636,8 @@ "supports_reasoning": true, "supports_max_reasoning_effort": true, "supports_tool_choice": true, - "supports_vision": true + "supports_vision": true, + "prompt_cache_min_tokens": 4096 }, "openrouter/anthropic/claude-opus-4.7": { "supports_adaptive_thinking": true, @@ -30543,6 +34660,32 @@ "supports_max_reasoning_effort": true, "supports_tool_choice": true, "supports_vision": true, + "supports_xhigh_reasoning_effort": true, + "prompt_cache_min_tokens": 2048 + }, + "openrouter/anthropic/claude-opus-5": { + "prompt_cache_min_tokens": 512, + "supports_adaptive_thinking": true, + "cache_creation_input_token_cost": 0.00000625, + "cache_read_input_token_cost": 5e-7, + "input_cost_per_token": 0.000005, + "litellm_provider": "openrouter", + "max_input_tokens": 1000000, + "max_output_tokens": 128000, + "max_tokens": 128000, + "mode": "chat", + "output_cost_per_token": 0.000025, + "source": "https://openrouter.ai/anthropic/claude-opus-5", + "supports_assistant_prefill": false, + "supports_computer_use": true, + "supports_function_calling": true, + "supports_pdf_input": true, + "supports_prompt_caching": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_max_reasoning_effort": true, + "supports_tool_choice": true, + "supports_vision": true, "supports_xhigh_reasoning_effort": true }, "openrouter/anthropic/claude-sonnet-4": { @@ -30566,7 +34709,8 @@ "supports_prompt_caching": true, "supports_reasoning": true, "supports_tool_choice": true, - "supports_vision": true + "supports_vision": true, + "prompt_cache_min_tokens": 1024 }, "openrouter/anthropic/claude-sonnet-4.5": { "input_cost_per_image": 0.0048, @@ -30589,10 +34733,12 @@ "supports_prompt_caching": true, "supports_reasoning": true, "supports_tool_choice": true, - "supports_vision": true + "supports_vision": true, + "prompt_cache_min_tokens": 1024 }, "openrouter/anthropic/claude-sonnet-4.6": { "supports_adaptive_thinking": true, + "supports_legacy_thinking": true, "cache_creation_input_token_cost": 0.00000375, "cache_creation_input_token_cost_above_200k_tokens": 0.0000075, "cache_read_input_token_cost": 3e-7, @@ -30614,7 +34760,8 @@ "supports_reasoning": true, "supports_max_reasoning_effort": true, "supports_tool_choice": true, - "supports_vision": true + "supports_vision": true, + "prompt_cache_min_tokens": 1024 }, "openrouter/bytedance/ui-tars-1.5-7b": { "input_cost_per_token": 1e-7, @@ -30624,7 +34771,7 @@ "max_tokens": 2048, "mode": "chat", "output_cost_per_token": 2e-7, - "source": "https://openrouter.ai/api/v1/models/bytedance/ui-tars-1.5-7b", + "source": "https://openrouter.ai/bytedance/ui-tars-1.5-7b", "supports_tool_choice": true }, "openrouter/deepseek/deepseek-chat": { @@ -30724,6 +34871,38 @@ "supports_reasoning": false, "supports_tool_choice": true }, + "openrouter/deepseek/deepseek-v4-pro": { + "input_cost_per_token": 0.00000132, + "input_cost_per_token_cache_hit": 4.4e-8, + "litellm_provider": "openrouter", + "max_input_tokens": 1048576, + "max_output_tokens": 384000, + "max_tokens": 384000, + "mode": "chat", + "output_cost_per_token": 0.00000396, + "source": "https://openrouter.ai/deepseek/deepseek-v4-pro", + "supports_function_calling": true, + "supports_prompt_caching": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_tool_choice": true + }, + "openrouter/deepseek/deepseek-v4-pro-0813": { + "input_cost_per_token": 0.00000132, + "input_cost_per_token_cache_hit": 4.4e-8, + "litellm_provider": "openrouter", + "max_input_tokens": 1048576, + "max_output_tokens": 384000, + "max_tokens": 384000, + "mode": "chat", + "output_cost_per_token": 0.00000396, + "source": "https://openrouter.ai/deepseek/deepseek-v4-pro-0813", + "supports_function_calling": true, + "supports_prompt_caching": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_tool_choice": true + }, "openrouter/google/gemini-2.0-flash-001": { "deprecation_date": "2026-06-01", "input_cost_per_audio_token": 7e-7, @@ -30786,7 +34965,7 @@ "output_cost_per_reasoning_token": 0.000003, "output_cost_per_token": 0.000003, "rpm": 2000, - "source": "https://ai.google.dev/pricing/gemini-3", + "source": "https://ai.google.dev/gemini-api/docs/pricing", "supported_endpoints": [ "/v1/chat/completions", "/v1/completions", @@ -30911,7 +35090,7 @@ "output_cost_per_reasoning_token": 0.0000015, "output_cost_per_token": 0.0000015, "rpm": 2000, - "source": "https://ai.google.dev/pricing/gemini-3", + "source": "https://ai.google.dev/gemini-api/docs/pricing", "supported_endpoints": [ "/v1/chat/completions", "/v1/completions", @@ -31953,7 +36132,7 @@ "max_tokens": 131000, "mode": "chat", "output_cost_per_token": 6.7e-7, - "source": "https://endpoints.ai.cloud.ovh.net/models/deepseek-r1-distill-llama-70b", + "source": "https://www.ovhcloud.com/en/public-cloud/ai-endpoints/catalog/", "supports_function_calling": true, "supports_reasoning": true, "supports_response_schema": true, @@ -31967,7 +36146,7 @@ "max_tokens": 131000, "mode": "chat", "output_cost_per_token": 1e-7, - "source": "https://endpoints.ai.cloud.ovh.net/models/llama-3-1-8b-instruct", + "source": "https://www.ovhcloud.com/en/public-cloud/ai-endpoints/catalog/", "supports_function_calling": true, "supports_response_schema": true, "supports_tool_choice": true @@ -31980,7 +36159,7 @@ "max_tokens": 131000, "mode": "chat", "output_cost_per_token": 6.7e-7, - "source": "https://endpoints.ai.cloud.ovh.net/models/meta-llama-3-1-70b-instruct", + "source": "https://www.ovhcloud.com/en/public-cloud/ai-endpoints/catalog/", "supports_function_calling": false, "supports_response_schema": false, "supports_tool_choice": false @@ -31993,7 +36172,7 @@ "max_tokens": 131000, "mode": "chat", "output_cost_per_token": 6.7e-7, - "source": "https://endpoints.ai.cloud.ovh.net/models/meta-llama-3-3-70b-instruct", + "source": "https://www.ovhcloud.com/en/public-cloud/ai-endpoints/catalog/", "supports_function_calling": true, "supports_response_schema": true, "supports_tool_choice": true @@ -32006,7 +36185,7 @@ "max_tokens": 127000, "mode": "chat", "output_cost_per_token": 1e-7, - "source": "https://endpoints.ai.cloud.ovh.net/models/mistral-7b-instruct-v0-3", + "source": "https://www.ovhcloud.com/en/public-cloud/ai-endpoints/catalog/", "supports_function_calling": true, "supports_response_schema": true, "supports_tool_choice": true @@ -32019,7 +36198,7 @@ "max_tokens": 118000, "mode": "chat", "output_cost_per_token": 1.3e-7, - "source": "https://endpoints.ai.cloud.ovh.net/models/mistral-nemo-instruct-2407", + "source": "https://www.ovhcloud.com/en/public-cloud/ai-endpoints/catalog/", "supports_function_calling": true, "supports_response_schema": true, "supports_tool_choice": true @@ -32032,7 +36211,7 @@ "max_tokens": 128000, "mode": "chat", "output_cost_per_token": 2.8e-7, - "source": "https://endpoints.ai.cloud.ovh.net/models/mistral-small-3-2-24b-instruct-2506", + "source": "https://www.ovhcloud.com/en/public-cloud/ai-endpoints/catalog/", "supports_function_calling": true, "supports_response_schema": true, "supports_tool_choice": true, @@ -32046,7 +36225,7 @@ "max_tokens": 32000, "mode": "chat", "output_cost_per_token": 6.3e-7, - "source": "https://endpoints.ai.cloud.ovh.net/models/mixtral-8x7b-instruct-v0-1", + "source": "https://www.ovhcloud.com/en/public-cloud/ai-endpoints/catalog/", "supports_function_calling": false, "supports_response_schema": true, "supports_tool_choice": false @@ -32059,7 +36238,7 @@ "max_tokens": 32000, "mode": "chat", "output_cost_per_token": 8.7e-7, - "source": "https://endpoints.ai.cloud.ovh.net/models/qwen2-5-coder-32b-instruct", + "source": "https://www.ovhcloud.com/en/public-cloud/ai-endpoints/catalog/", "supports_function_calling": false, "supports_response_schema": true, "supports_tool_choice": false @@ -32072,7 +36251,7 @@ "max_tokens": 32000, "mode": "chat", "output_cost_per_token": 9.1e-7, - "source": "https://endpoints.ai.cloud.ovh.net/models/qwen2-5-vl-72b-instruct", + "source": "https://www.ovhcloud.com/en/public-cloud/ai-endpoints/catalog/", "supports_function_calling": false, "supports_response_schema": true, "supports_tool_choice": false, @@ -32086,7 +36265,7 @@ "max_tokens": 32000, "mode": "chat", "output_cost_per_token": 2.3e-7, - "source": "https://endpoints.ai.cloud.ovh.net/models/qwen3-32b", + "source": "https://www.ovhcloud.com/en/public-cloud/ai-endpoints/catalog/", "supports_function_calling": true, "supports_reasoning": true, "supports_response_schema": true, @@ -32100,7 +36279,7 @@ "max_tokens": 131000, "mode": "chat", "output_cost_per_token": 4e-7, - "source": "https://endpoints.ai.cloud.ovh.net/models/gpt-oss-120b", + "source": "https://www.ovhcloud.com/en/public-cloud/ai-endpoints/catalog/", "supports_function_calling": false, "supports_reasoning": true, "supports_response_schema": true, @@ -32114,7 +36293,7 @@ "max_tokens": 131000, "mode": "chat", "output_cost_per_token": 1.5e-7, - "source": "https://endpoints.ai.cloud.ovh.net/models/gpt-oss-20b", + "source": "https://www.ovhcloud.com/en/public-cloud/ai-endpoints/catalog/", "supports_function_calling": false, "supports_reasoning": true, "supports_response_schema": true, @@ -32128,7 +36307,7 @@ "max_tokens": 32000, "mode": "chat", "output_cost_per_token": 2.9e-7, - "source": "https://endpoints.ai.cloud.ovh.net/models/llava-next-mistral-7b", + "source": "https://www.ovhcloud.com/en/public-cloud/ai-endpoints/catalog/", "supports_function_calling": false, "supports_response_schema": true, "supports_tool_choice": false, @@ -32142,7 +36321,7 @@ "max_tokens": 256000, "mode": "chat", "output_cost_per_token": 1.9e-7, - "source": "https://endpoints.ai.cloud.ovh.net/models/mamba-codestral-7b-v0-1", + "source": "https://www.ovhcloud.com/en/public-cloud/ai-endpoints/catalog/", "supports_function_calling": false, "supports_response_schema": true, "supports_tool_choice": false @@ -32393,7 +36572,7 @@ "supports_function_calling": true, "supports_assistant_prefill": true, "supports_reasoning": true, - "source": "https://pinstripes.io/pricing" + "source": "https://pinstripes.io/" }, "pinstripes/ps/glm-4.5-air": { "max_tokens": 128000, @@ -32406,7 +36585,7 @@ "supports_function_calling": true, "supports_assistant_prefill": true, "supports_reasoning": true, - "source": "https://pinstripes.io/pricing" + "source": "https://pinstripes.io/" }, "pinstripes/ps/minimax-m2.7": { "max_tokens": 1000192, @@ -32419,7 +36598,7 @@ "supports_function_calling": true, "supports_assistant_prefill": true, "supports_reasoning": false, - "source": "https://pinstripes.io/pricing" + "source": "https://pinstripes.io/" }, "pinstripes/ps/qwen3-30b-a3b": { "max_tokens": 131072, @@ -32432,7 +36611,7 @@ "supports_function_calling": true, "supports_assistant_prefill": true, "supports_reasoning": true, - "source": "https://pinstripes.io/pricing" + "source": "https://pinstripes.io/" }, "pinstripes/ps/qwen3-coder-30b-a3b": { "max_tokens": 131072, @@ -32445,7 +36624,7 @@ "supports_function_calling": true, "supports_assistant_prefill": true, "supports_reasoning": false, - "source": "https://pinstripes.io/pricing" + "source": "https://pinstripes.io/" }, "pinstripes/ps/qwen3.6-35b-a3b": { "max_tokens": 131072, @@ -32458,7 +36637,7 @@ "supports_function_calling": true, "supports_assistant_prefill": true, "supports_reasoning": true, - "source": "https://pinstripes.io/pricing" + "source": "https://pinstripes.io/" }, "publicai/BSC-LT/ALIA-40b-instruct_Q8_0": { "input_cost_per_token": 0, @@ -32484,181 +36663,2023 @@ "supports_function_calling": true, "supports_tool_choice": true }, - "publicai/aisingapore/Gemma-SEA-LION-v4-27B-IT": { - "input_cost_per_token": 0, - "litellm_provider": "publicai", - "max_input_tokens": 8192, - "max_output_tokens": 4096, - "max_tokens": 4096, + "publicai/aisingapore/Gemma-SEA-LION-v4-27B-IT": { + "input_cost_per_token": 0, + "litellm_provider": "publicai", + "max_input_tokens": 8192, + "max_output_tokens": 4096, + "max_tokens": 4096, + "mode": "chat", + "output_cost_per_token": 0, + "source": "https://platform.publicai.co/docs", + "supports_function_calling": true, + "supports_tool_choice": true + }, + "publicai/aisingapore/Qwen-SEA-LION-v4-32B-IT": { + "input_cost_per_token": 0, + "litellm_provider": "publicai", + "max_input_tokens": 32768, + "max_output_tokens": 4096, + "max_tokens": 4096, + "mode": "chat", + "output_cost_per_token": 0, + "source": "https://platform.publicai.co/docs", + "supports_function_calling": true, + "supports_tool_choice": true + }, + "publicai/allenai/Olmo-3-32B-Think": { + "input_cost_per_token": 0, + "litellm_provider": "publicai", + "max_input_tokens": 32768, + "max_output_tokens": 4096, + "max_tokens": 4096, + "mode": "chat", + "output_cost_per_token": 0, + "source": "https://platform.publicai.co/docs", + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_reasoning": true + }, + "publicai/allenai/Olmo-3-7B-Instruct": { + "input_cost_per_token": 0, + "litellm_provider": "publicai", + "max_input_tokens": 32768, + "max_output_tokens": 4096, + "max_tokens": 4096, + "mode": "chat", + "output_cost_per_token": 0, + "source": "https://platform.publicai.co/docs", + "supports_function_calling": true, + "supports_tool_choice": true + }, + "publicai/allenai/Olmo-3-7B-Think": { + "input_cost_per_token": 0, + "litellm_provider": "publicai", + "max_input_tokens": 32768, + "max_output_tokens": 4096, + "max_tokens": 4096, + "mode": "chat", + "output_cost_per_token": 0, + "source": "https://platform.publicai.co/docs", + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_reasoning": true + }, + "publicai/swiss-ai/apertus-70b-instruct": { + "input_cost_per_token": 0, + "litellm_provider": "publicai", + "max_input_tokens": 8192, + "max_output_tokens": 4096, + "max_tokens": 4096, + "mode": "chat", + "output_cost_per_token": 0, + "source": "https://platform.publicai.co/docs", + "supports_function_calling": false, + "supports_tool_choice": false + }, + "publicai/swiss-ai/apertus-8b-instruct": { + "input_cost_per_token": 0, + "litellm_provider": "publicai", + "max_input_tokens": 8192, + "max_output_tokens": 4096, + "max_tokens": 4096, + "mode": "chat", + "output_cost_per_token": 0, + "source": "https://platform.publicai.co/docs", + "supports_function_calling": false, + "supports_tool_choice": false + }, + "qwen.qwen3-235b-a22b-2507-v1:0": { + "input_cost_per_token": 2.2e-7, + "litellm_provider": "bedrock_converse", + "max_input_tokens": 262144, + "max_output_tokens": 131072, + "max_tokens": 131072, + "mode": "chat", + "output_cost_per_token": 8.8e-7, + "supports_function_calling": true, + "supports_reasoning": true, + "supports_tool_choice": true, + "supports_native_structured_output": true, + "input_cost_per_token_batches": 1.1e-7, + "output_cost_per_token_batches": 4.4e-7 + }, + "qwen.qwen3-32b-v1:0": { + "input_cost_per_token": 1.5e-7, + "litellm_provider": "bedrock_converse", + "max_input_tokens": 131072, + "max_output_tokens": 16384, + "max_tokens": 16384, + "mode": "chat", + "output_cost_per_token": 6e-7, + "supports_function_calling": true, + "supports_reasoning": true, + "supports_tool_choice": true, + "supports_native_structured_output": true + }, + "qwen.qwen3-coder-30b-a3b-v1:0": { + "input_cost_per_token": 1.5e-7, + "litellm_provider": "bedrock_converse", + "max_input_tokens": 262144, + "max_output_tokens": 131072, + "max_tokens": 131072, + "mode": "chat", + "output_cost_per_token": 6e-7, + "supports_function_calling": true, + "supports_reasoning": true, + "supports_tool_choice": true, + "supports_native_structured_output": true + }, + "qwen.qwen3-coder-480b-a35b-v1:0": { + "input_cost_per_token": 2.2e-7, + "litellm_provider": "bedrock_converse", + "max_input_tokens": 262000, + "max_output_tokens": 65536, + "max_tokens": 65536, + "mode": "chat", + "output_cost_per_token": 0.0000018, + "supports_function_calling": true, + "supports_reasoning": true, + "supports_tool_choice": true, + "supports_native_structured_output": true + }, + "qwen.qwen3-coder-next": { + "input_cost_per_token": 5e-7, + "litellm_provider": "bedrock_converse", + "max_input_tokens": 262144, + "max_output_tokens": 8192, + "max_tokens": 8192, + "mode": "chat", + "output_cost_per_token": 0.0000012, + "supports_function_calling": true, + "supports_system_messages": true, + "supports_tool_choice": true, + "source": "https://aws.amazon.com/bedrock/pricing/" + }, + "qwen.qwen3-next-80b-a3b": { + "input_cost_per_token": 1.5e-7, + "litellm_provider": "bedrock_converse", + "max_input_tokens": 128000, + "max_output_tokens": 8192, + "max_tokens": 8192, + "mode": "chat", + "output_cost_per_token": 0.0000012, + "supports_function_calling": true, + "supports_system_messages": true, + "supports_native_structured_output": true + }, + "qwen.qwen3-vl-235b-a22b": { + "input_cost_per_token": 5.3e-7, + "litellm_provider": "bedrock_converse", + "max_input_tokens": 128000, + "max_output_tokens": 8192, + "max_tokens": 8192, + "mode": "chat", + "output_cost_per_token": 0.00000266, + "supports_function_calling": true, + "supports_system_messages": true, + "supports_vision": true, + "supports_native_structured_output": true + }, + "qwen_ai_platform/deepseek-v4-flash": { + "cache_read_input_token_cost": 4e-8, + "input_cost_per_token": 2e-7, + "litellm_provider": "qwen_ai_platform", + "max_input_tokens": 1000000, + "max_output_tokens": 393216, + "max_tokens": 393216, + "mode": "chat", + "output_cost_per_token": 4e-7, + "source": "https://www.alibabacloud.com/help/en/model-studio/models", + "supports_function_calling": true, + "supports_prompt_caching": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_tool_choice": true + }, + "qwen_ai_platform/deepseek-v4-flash-0731": { + "cache_read_input_token_cost": 4e-8, + "input_cost_per_token": 2e-7, + "litellm_provider": "qwen_ai_platform", + "max_input_tokens": 1000000, + "max_output_tokens": 393216, + "max_tokens": 393216, + "mode": "chat", + "output_cost_per_token": 4e-7, + "source": "https://www.alibabacloud.com/help/en/model-studio/models", + "supports_function_calling": true, + "supports_prompt_caching": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_tool_choice": true + }, + "qwen_ai_platform/deepseek-v4-pro": { + "cache_read_input_token_cost": 2e-7, + "input_cost_per_token": 0.0000024, + "litellm_provider": "qwen_ai_platform", + "max_input_tokens": 1000000, + "max_output_tokens": 393216, + "max_tokens": 393216, + "mode": "chat", + "output_cost_per_token": 0.0000048, + "source": "https://www.alibabacloud.com/help/en/model-studio/models", + "supports_function_calling": true, + "supports_prompt_caching": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_tool_choice": true + }, + "qwen_ai_platform/glm-5.1": { + "cache_read_input_token_cost": 2.6e-7, + "input_cost_per_token": 0.0000014, + "litellm_provider": "qwen_ai_platform", + "max_input_tokens": 202745, + "max_output_tokens": 131072, + "max_tokens": 131072, + "mode": "chat", + "output_cost_per_token": 0.0000044, + "source": "https://www.alibabacloud.com/help/en/model-studio/models", + "supports_function_calling": true, + "supports_prompt_caching": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_tool_choice": true + }, + "qwen_ai_platform/glm-5.2": { + "cache_read_input_token_cost": 2.8e-7, + "input_cost_per_token": 0.0000014, + "litellm_provider": "qwen_ai_platform", + "max_input_tokens": 1048576, + "max_output_tokens": 131072, + "max_tokens": 131072, + "mode": "chat", + "output_cost_per_token": 0.0000044, + "source": "https://www.alibabacloud.com/help/en/model-studio/models", + "supports_function_calling": true, + "supports_prompt_caching": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_tool_choice": true + }, + "qwen_ai_platform/kimi-k2.7-code": { + "cache_read_input_token_cost": 1.9e-7, + "input_cost_per_token": 9.5e-7, + "litellm_provider": "qwen_ai_platform", + "max_input_tokens": 229376, + "max_output_tokens": 16384, + "max_tokens": 16384, + "mode": "chat", + "output_cost_per_token": 0.000004, + "source": "https://www.alibabacloud.com/help/en/model-studio/models", + "supports_function_calling": true, + "supports_prompt_caching": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_tool_choice": true, + "supports_vision": true + }, + "qwen_ai_platform/qwen-coder": { + "input_cost_per_token": 3e-7, + "litellm_provider": "qwen_ai_platform", + "max_input_tokens": 1000000, + "max_output_tokens": 16384, + "max_tokens": 16384, + "mode": "chat", + "output_cost_per_token": 0.0000015, + "source": "https://www.alibabacloud.com/help/en/model-studio/models", + "supports_function_calling": true, + "supports_reasoning": true, + "supports_tool_choice": true + }, + "qwen_ai_platform/qwen-flash": { + "litellm_provider": "qwen_ai_platform", + "max_input_tokens": 997952, + "max_output_tokens": 32768, + "max_tokens": 32768, + "mode": "chat", + "source": "https://www.alibabacloud.com/help/en/model-studio/models", + "supports_function_calling": true, + "supports_reasoning": true, + "supports_tool_choice": true, + "tiered_pricing": [ + { + "input_cost_per_token": 5e-8, + "output_cost_per_token": 4e-7, + "range": [ + 0, + 256000 + ] + }, + { + "input_cost_per_token": 2.5e-7, + "output_cost_per_token": 0.000002, + "range": [ + 256000, + 1000000 + ] + } + ] + }, + "qwen_ai_platform/qwen-flash-2025-07-28": { + "litellm_provider": "qwen_ai_platform", + "max_input_tokens": 997952, + "max_output_tokens": 32768, + "max_tokens": 32768, + "mode": "chat", + "source": "https://www.alibabacloud.com/help/en/model-studio/models", + "supports_function_calling": true, + "supports_reasoning": true, + "supports_tool_choice": true, + "tiered_pricing": [ + { + "input_cost_per_token": 5e-8, + "output_cost_per_token": 4e-7, + "range": [ + 0, + 256000 + ] + }, + { + "input_cost_per_token": 2.5e-7, + "output_cost_per_token": 0.000002, + "range": [ + 256000, + 1000000 + ] + } + ] + }, + "qwen_ai_platform/qwen-max": { + "input_cost_per_token": 0.0000016, + "litellm_provider": "qwen_ai_platform", + "max_input_tokens": 30720, + "max_output_tokens": 8192, + "max_tokens": 8192, + "mode": "chat", + "output_cost_per_token": 0.0000064, + "source": "https://www.alibabacloud.com/help/en/model-studio/models", + "supports_function_calling": true, + "supports_reasoning": true, + "supports_tool_choice": true + }, + "qwen_ai_platform/qwen-plus": { + "input_cost_per_token": 4e-7, + "litellm_provider": "qwen_ai_platform", + "max_input_tokens": 129024, + "max_output_tokens": 16384, + "max_tokens": 16384, + "mode": "chat", + "output_cost_per_token": 0.0000012, + "source": "https://www.alibabacloud.com/help/en/model-studio/models", + "supports_function_calling": true, + "supports_reasoning": true, + "supports_tool_choice": true + }, + "qwen_ai_platform/qwen-plus-2025-01-25": { + "input_cost_per_token": 4e-7, + "litellm_provider": "qwen_ai_platform", + "max_input_tokens": 129024, + "max_output_tokens": 8192, + "max_tokens": 8192, + "mode": "chat", + "output_cost_per_token": 0.0000012, + "source": "https://www.alibabacloud.com/help/en/model-studio/models", + "supports_function_calling": true, + "supports_reasoning": true, + "supports_tool_choice": true + }, + "qwen_ai_platform/qwen-plus-2025-04-28": { + "input_cost_per_token": 4e-7, + "litellm_provider": "qwen_ai_platform", + "max_input_tokens": 129024, + "max_output_tokens": 16384, + "max_tokens": 16384, + "mode": "chat", + "output_cost_per_reasoning_token": 0.000004, + "output_cost_per_token": 0.0000012, + "source": "https://www.alibabacloud.com/help/en/model-studio/models", + "supports_function_calling": true, + "supports_reasoning": true, + "supports_tool_choice": true + }, + "qwen_ai_platform/qwen-plus-2025-07-14": { + "input_cost_per_token": 4e-7, + "litellm_provider": "qwen_ai_platform", + "max_input_tokens": 129024, + "max_output_tokens": 16384, + "max_tokens": 16384, + "mode": "chat", + "output_cost_per_reasoning_token": 0.000004, + "output_cost_per_token": 0.0000012, + "source": "https://www.alibabacloud.com/help/en/model-studio/models", + "supports_function_calling": true, + "supports_reasoning": true, + "supports_tool_choice": true + }, + "qwen_ai_platform/qwen-plus-2025-07-28": { + "litellm_provider": "qwen_ai_platform", + "max_input_tokens": 997952, + "max_output_tokens": 32768, + "max_tokens": 32768, + "mode": "chat", + "source": "https://www.alibabacloud.com/help/en/model-studio/models", + "supports_function_calling": true, + "supports_reasoning": true, + "supports_tool_choice": true, + "tiered_pricing": [ + { + "input_cost_per_token": 4e-7, + "output_cost_per_reasoning_token": 0.000004, + "output_cost_per_token": 0.0000012, + "range": [ + 0, + 256000 + ] + }, + { + "input_cost_per_token": 0.0000012, + "output_cost_per_reasoning_token": 0.000012, + "output_cost_per_token": 0.0000036, + "range": [ + 256000, + 1000000 + ] + } + ] + }, + "qwen_ai_platform/qwen-plus-2025-09-11": { + "litellm_provider": "qwen_ai_platform", + "max_input_tokens": 997952, + "max_output_tokens": 32768, + "max_tokens": 32768, + "mode": "chat", + "source": "https://www.alibabacloud.com/help/en/model-studio/models", + "supports_function_calling": true, + "supports_reasoning": true, + "supports_tool_choice": true, + "tiered_pricing": [ + { + "input_cost_per_token": 4e-7, + "output_cost_per_reasoning_token": 0.000004, + "output_cost_per_token": 0.0000012, + "range": [ + 0, + 256000 + ] + }, + { + "input_cost_per_token": 0.0000012, + "output_cost_per_reasoning_token": 0.000012, + "output_cost_per_token": 0.0000036, + "range": [ + 256000, + 1000000 + ] + } + ] + }, + "qwen_ai_platform/qwen-plus-latest": { + "litellm_provider": "qwen_ai_platform", + "max_input_tokens": 997952, + "max_output_tokens": 32768, + "max_tokens": 32768, + "mode": "chat", + "source": "https://www.alibabacloud.com/help/en/model-studio/models", + "supports_function_calling": true, + "supports_reasoning": true, + "supports_tool_choice": true, + "tiered_pricing": [ + { + "input_cost_per_token": 4e-7, + "output_cost_per_reasoning_token": 0.000004, + "output_cost_per_token": 0.0000012, + "range": [ + 0, + 256000 + ] + }, + { + "input_cost_per_token": 0.0000012, + "output_cost_per_reasoning_token": 0.000012, + "output_cost_per_token": 0.0000036, + "range": [ + 256000, + 1000000 + ] + } + ] + }, + "qwen_ai_platform/qwen-turbo": { + "input_cost_per_token": 5e-8, + "litellm_provider": "qwen_ai_platform", + "max_input_tokens": 129024, + "max_output_tokens": 16384, + "max_tokens": 16384, + "mode": "chat", + "output_cost_per_reasoning_token": 5e-7, + "output_cost_per_token": 2e-7, + "source": "https://www.alibabacloud.com/help/en/model-studio/models", + "supports_function_calling": true, + "supports_reasoning": true, + "supports_tool_choice": true + }, + "qwen_ai_platform/qwen-turbo-2024-11-01": { + "input_cost_per_token": 5e-8, + "litellm_provider": "qwen_ai_platform", + "max_input_tokens": 1000000, + "max_output_tokens": 8192, + "max_tokens": 8192, + "mode": "chat", + "output_cost_per_token": 2e-7, + "source": "https://www.alibabacloud.com/help/en/model-studio/models", + "supports_function_calling": true, + "supports_reasoning": true, + "supports_tool_choice": true + }, + "qwen_ai_platform/qwen-turbo-2025-04-28": { + "input_cost_per_token": 5e-8, + "litellm_provider": "qwen_ai_platform", + "max_input_tokens": 1000000, + "max_output_tokens": 16384, + "max_tokens": 16384, + "mode": "chat", + "output_cost_per_reasoning_token": 5e-7, + "output_cost_per_token": 2e-7, + "source": "https://www.alibabacloud.com/help/en/model-studio/models", + "supports_function_calling": true, + "supports_reasoning": true, + "supports_tool_choice": true + }, + "qwen_ai_platform/qwen-turbo-latest": { + "input_cost_per_token": 5e-8, + "litellm_provider": "qwen_ai_platform", + "max_input_tokens": 1000000, + "max_output_tokens": 16384, + "max_tokens": 16384, + "mode": "chat", + "output_cost_per_reasoning_token": 5e-7, + "output_cost_per_token": 2e-7, + "source": "https://www.alibabacloud.com/help/en/model-studio/models", + "supports_function_calling": true, + "supports_reasoning": true, + "supports_tool_choice": true + }, + "qwen_ai_platform/qwen3-30b-a3b": { + "litellm_provider": "qwen_ai_platform", + "max_input_tokens": 129024, + "max_output_tokens": 16384, + "max_tokens": 16384, + "mode": "chat", + "source": "https://www.alibabacloud.com/help/en/model-studio/models", + "supports_function_calling": true, + "supports_reasoning": true, + "supports_tool_choice": true + }, + "qwen_ai_platform/qwen3-coder-flash": { + "litellm_provider": "qwen_ai_platform", + "max_input_tokens": 997952, + "max_output_tokens": 65536, + "max_tokens": 65536, + "mode": "chat", + "source": "https://www.alibabacloud.com/help/en/model-studio/models", + "supports_function_calling": true, + "supports_reasoning": true, + "supports_tool_choice": true, + "tiered_pricing": [ + { + "cache_read_input_token_cost": 8e-8, + "input_cost_per_token": 3e-7, + "output_cost_per_token": 0.0000015, + "range": [ + 0, + 32000 + ] + }, + { + "cache_read_input_token_cost": 1.2e-7, + "input_cost_per_token": 5e-7, + "output_cost_per_token": 0.0000025, + "range": [ + 32000, + 128000 + ] + }, + { + "cache_read_input_token_cost": 2e-7, + "input_cost_per_token": 8e-7, + "output_cost_per_token": 0.000004, + "range": [ + 128000, + 256000 + ] + }, + { + "cache_read_input_token_cost": 4e-7, + "input_cost_per_token": 0.0000016, + "output_cost_per_token": 0.0000096, + "range": [ + 256000, + 1000000 + ] + } + ] + }, + "qwen_ai_platform/qwen3-coder-flash-2025-07-28": { + "litellm_provider": "qwen_ai_platform", + "max_input_tokens": 997952, + "max_output_tokens": 65536, + "max_tokens": 65536, + "mode": "chat", + "source": "https://www.alibabacloud.com/help/en/model-studio/models", + "supports_function_calling": true, + "supports_reasoning": true, + "supports_tool_choice": true, + "tiered_pricing": [ + { + "input_cost_per_token": 3e-7, + "output_cost_per_token": 0.0000015, + "range": [ + 0, + 32000 + ] + }, + { + "input_cost_per_token": 5e-7, + "output_cost_per_token": 0.0000025, + "range": [ + 32000, + 128000 + ] + }, + { + "input_cost_per_token": 8e-7, + "output_cost_per_token": 0.000004, + "range": [ + 128000, + 256000 + ] + }, + { + "input_cost_per_token": 0.0000016, + "output_cost_per_token": 0.0000096, + "range": [ + 256000, + 1000000 + ] + } + ] + }, + "qwen_ai_platform/qwen3-coder-plus": { + "litellm_provider": "qwen_ai_platform", + "max_input_tokens": 997952, + "max_output_tokens": 65536, + "max_tokens": 65536, + "mode": "chat", + "source": "https://www.alibabacloud.com/help/en/model-studio/models", + "supports_function_calling": true, + "supports_reasoning": true, + "supports_tool_choice": true, + "tiered_pricing": [ + { + "cache_read_input_token_cost": 1e-7, + "input_cost_per_token": 0.000001, + "output_cost_per_token": 0.000005, + "range": [ + 0, + 32000 + ] + }, + { + "cache_read_input_token_cost": 1.8e-7, + "input_cost_per_token": 0.0000018, + "output_cost_per_token": 0.000009, + "range": [ + 32000, + 128000 + ] + }, + { + "cache_read_input_token_cost": 3e-7, + "input_cost_per_token": 0.000003, + "output_cost_per_token": 0.000015, + "range": [ + 128000, + 256000 + ] + }, + { + "cache_read_input_token_cost": 6e-7, + "input_cost_per_token": 0.000006, + "output_cost_per_token": 0.00006, + "range": [ + 256000, + 1000000 + ] + } + ] + }, + "qwen_ai_platform/qwen3-coder-plus-2025-07-22": { + "litellm_provider": "qwen_ai_platform", + "max_input_tokens": 997952, + "max_output_tokens": 65536, + "max_tokens": 65536, + "mode": "chat", + "source": "https://www.alibabacloud.com/help/en/model-studio/models", + "supports_function_calling": true, + "supports_reasoning": true, + "supports_tool_choice": true, + "tiered_pricing": [ + { + "input_cost_per_token": 0.000001, + "output_cost_per_token": 0.000005, + "range": [ + 0, + 32000 + ] + }, + { + "input_cost_per_token": 0.0000018, + "output_cost_per_token": 0.000009, + "range": [ + 32000, + 128000 + ] + }, + { + "input_cost_per_token": 0.000003, + "output_cost_per_token": 0.000015, + "range": [ + 128000, + 256000 + ] + }, + { + "input_cost_per_token": 0.000006, + "output_cost_per_token": 0.00006, + "range": [ + 256000, + 1000000 + ] + } + ] + }, + "qwen_ai_platform/qwen3-max": { + "litellm_provider": "qwen_ai_platform", + "max_input_tokens": 258048, + "max_output_tokens": 65536, + "max_tokens": 65536, + "mode": "chat", + "source": "https://www.alibabacloud.com/help/en/model-studio/models", + "supports_function_calling": true, + "supports_reasoning": true, + "supports_tool_choice": true, + "tiered_pricing": [ + { + "input_cost_per_token": 0.0000012, + "output_cost_per_token": 0.000006, + "range": [ + 0, + 32000 + ] + }, + { + "input_cost_per_token": 0.0000024, + "output_cost_per_token": 0.000012, + "range": [ + 32000, + 128000 + ] + }, + { + "input_cost_per_token": 0.000003, + "output_cost_per_token": 0.000015, + "range": [ + 128000, + 252000 + ] + } + ] + }, + "qwen_ai_platform/qwen3-max-2026-01-23": { + "litellm_provider": "qwen_ai_platform", + "max_input_tokens": 258048, + "max_output_tokens": 65536, + "max_tokens": 65536, + "mode": "chat", + "source": "https://www.alibabacloud.com/help/en/model-studio/models", + "supports_function_calling": true, + "supports_reasoning": true, + "supports_tool_choice": true, + "tiered_pricing": [ + { + "input_cost_per_token": 0.0000012, + "output_cost_per_token": 0.000006, + "range": [ + 0, + 32000 + ] + }, + { + "input_cost_per_token": 0.0000024, + "output_cost_per_token": 0.000012, + "range": [ + 32000, + 128000 + ] + }, + { + "input_cost_per_token": 0.000003, + "output_cost_per_token": 0.000015, + "range": [ + 128000, + 252000 + ] + } + ] + }, + "qwen_ai_platform/qwen3-max-preview": { + "litellm_provider": "qwen_ai_platform", + "max_input_tokens": 258048, + "max_output_tokens": 65536, + "max_tokens": 65536, + "mode": "chat", + "source": "https://www.alibabacloud.com/help/en/model-studio/models", + "supports_function_calling": true, + "supports_reasoning": true, + "supports_tool_choice": true, + "tiered_pricing": [ + { + "input_cost_per_token": 0.0000012, + "output_cost_per_token": 0.000006, + "range": [ + 0, + 32000 + ] + }, + { + "input_cost_per_token": 0.0000024, + "output_cost_per_token": 0.000012, + "range": [ + 32000, + 128000 + ] + }, + { + "input_cost_per_token": 0.000003, + "output_cost_per_token": 0.000015, + "range": [ + 128000, + 252000 + ] + } + ] + }, + "qwen_ai_platform/qwen3-next-80b-a3b-instruct": { + "input_cost_per_token": 1.5e-7, + "litellm_provider": "qwen_ai_platform", + "max_input_tokens": 262144, + "max_output_tokens": 65536, + "max_tokens": 65536, + "mode": "chat", + "output_cost_per_token": 0.0000012, + "source": "https://www.alibabacloud.com/help/en/model-studio/model-pricing", + "supports_function_calling": true, + "supports_tool_choice": true + }, + "qwen_ai_platform/qwen3-next-80b-a3b-thinking": { + "input_cost_per_token": 1.5e-7, + "litellm_provider": "qwen_ai_platform", + "max_input_tokens": 262144, + "max_output_tokens": 65536, + "max_tokens": 65536, + "mode": "chat", + "output_cost_per_token": 0.0000012, + "source": "https://www.alibabacloud.com/help/en/model-studio/model-pricing", + "supports_function_calling": true, + "supports_reasoning": true, + "supports_tool_choice": true + }, + "qwen_ai_platform/qwen3-vl-235b-a22b-instruct": { + "input_cost_per_token": 4e-7, + "litellm_provider": "qwen_ai_platform", + "max_input_tokens": 131072, + "max_output_tokens": 32768, + "max_tokens": 32768, + "mode": "chat", + "output_cost_per_token": 0.0000016, + "source": "https://www.alibabacloud.com/help/en/model-studio/model-pricing", + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_vision": true + }, + "qwen_ai_platform/qwen3-vl-235b-a22b-thinking": { + "input_cost_per_token": 4e-7, + "litellm_provider": "qwen_ai_platform", + "max_input_tokens": 131072, + "max_output_tokens": 32768, + "max_tokens": 32768, + "mode": "chat", + "output_cost_per_token": 0.000004, + "source": "https://www.alibabacloud.com/help/en/model-studio/model-pricing", + "supports_function_calling": true, + "supports_reasoning": true, + "supports_tool_choice": true, + "supports_vision": true + }, + "qwen_ai_platform/qwen3-vl-32b-instruct": { + "input_cost_per_token": 1.6e-7, + "litellm_provider": "qwen_ai_platform", + "max_input_tokens": 131072, + "max_output_tokens": 32768, + "max_tokens": 32768, + "mode": "chat", + "output_cost_per_token": 6.4e-7, + "source": "https://www.alibabacloud.com/help/en/model-studio/model-pricing", + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_vision": true + }, + "qwen_ai_platform/qwen3-vl-32b-thinking": { + "input_cost_per_token": 1.6e-7, + "litellm_provider": "qwen_ai_platform", + "max_input_tokens": 131072, + "max_output_tokens": 32768, + "max_tokens": 32768, + "mode": "chat", + "output_cost_per_token": 0.00000287, + "source": "https://www.alibabacloud.com/help/en/model-studio/model-pricing", + "supports_function_calling": true, + "supports_reasoning": true, + "supports_tool_choice": true, + "supports_vision": true + }, + "qwen_ai_platform/qwen3-vl-plus": { + "litellm_provider": "qwen_ai_platform", + "max_input_tokens": 260096, + "max_output_tokens": 32768, + "max_tokens": 32768, + "mode": "chat", + "source": "https://www.alibabacloud.com/help/en/model-studio/models", + "supports_function_calling": true, + "supports_reasoning": true, + "supports_tool_choice": true, + "supports_vision": true, + "tiered_pricing": [ + { + "input_cost_per_token": 2e-7, + "output_cost_per_token": 0.0000016, + "range": [ + 0, + 32000 + ] + }, + { + "input_cost_per_token": 3e-7, + "output_cost_per_token": 0.0000024, + "range": [ + 32000, + 128000 + ] + }, + { + "input_cost_per_token": 6e-7, + "output_cost_per_token": 0.0000048, + "range": [ + 128000, + 256000 + ] + } + ] + }, + "qwen_ai_platform/qwen3.5-plus": { + "litellm_provider": "qwen_ai_platform", + "max_input_tokens": 991808, + "max_output_tokens": 65536, + "max_tokens": 65536, + "mode": "chat", + "source": "https://www.alibabacloud.com/help/en/model-studio/models", + "supports_function_calling": true, + "supports_reasoning": true, + "supports_tool_choice": true, + "supports_vision": true, + "tiered_pricing": [ + { + "input_cost_per_token": 4e-7, + "output_cost_per_token": 0.0000024, + "range": [ + 0, + 256000 + ] + }, + { + "input_cost_per_token": 5e-7, + "output_cost_per_token": 0.000003, + "range": [ + 256000, + 1000000 + ] + } + ] + }, + "qwen_ai_platform/qwen3.7-max": { + "cache_read_input_token_cost": 5e-7, + "input_cost_per_token": 0.0000025, + "litellm_provider": "qwen_ai_platform", + "max_input_tokens": 991808, + "max_output_tokens": 65536, + "max_tokens": 65536, + "mode": "chat", + "output_cost_per_token": 0.0000075, + "source": "https://www.alibabacloud.com/help/en/model-studio/models", + "supports_function_calling": true, + "supports_prompt_caching": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_tool_choice": true + }, + "qwen_ai_platform/qwen3.7-plus": { + "litellm_provider": "qwen_ai_platform", + "max_input_tokens": 991808, + "max_output_tokens": 65536, + "max_tokens": 65536, + "mode": "chat", + "source": "https://www.alibabacloud.com/help/en/model-studio/models", + "supports_function_calling": true, + "supports_prompt_caching": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_tool_choice": true, + "supports_vision": true, + "tiered_pricing": [ + { + "cache_read_input_token_cost": 8e-8, + "input_cost_per_token": 4e-7, + "output_cost_per_token": 0.0000016, + "range": [ + 0, + 256000 + ] + }, + { + "cache_read_input_token_cost": 2.4e-7, + "input_cost_per_token": 0.0000012, + "output_cost_per_token": 0.0000048, + "range": [ + 256000, + 1000000 + ] + } + ] + }, + "qwen_ai_platform/qwen3.8-max": { + "cache_read_input_token_cost": 2.5e-7, + "input_cost_per_token": 0.000002, + "litellm_provider": "qwen_ai_platform", + "max_input_tokens": 991808, + "max_output_tokens": 131072, + "max_tokens": 131072, + "mode": "chat", + "output_cost_per_token": 0.000006, + "source": "https://www.alibabacloud.com/help/en/model-studio/models", + "supports_function_calling": true, + "supports_prompt_caching": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_tool_choice": true, + "supports_vision": true + }, + "qwen_ai_platform/qwq-plus": { + "input_cost_per_token": 8e-7, + "litellm_provider": "qwen_ai_platform", + "max_input_tokens": 98304, + "max_output_tokens": 8192, + "max_tokens": 8192, + "mode": "chat", + "output_cost_per_token": 0.0000024, + "source": "https://www.alibabacloud.com/help/en/model-studio/models", + "supports_function_calling": true, + "supports_reasoning": true, + "supports_tool_choice": true + }, + "qwencloud/deepseek-v4-flash": { + "cache_read_input_token_cost": 4e-8, + "input_cost_per_token": 2e-7, + "litellm_provider": "qwencloud", + "max_input_tokens": 1000000, + "max_output_tokens": 393216, + "max_tokens": 393216, + "mode": "chat", + "output_cost_per_token": 4e-7, + "source": "https://www.qwencloud.com/models", + "supports_function_calling": true, + "supports_prompt_caching": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_tool_choice": true + }, + "qwencloud/deepseek-v4-flash-0731": { + "cache_read_input_token_cost": 4e-8, + "input_cost_per_token": 2e-7, + "litellm_provider": "qwencloud", + "max_input_tokens": 1000000, + "max_output_tokens": 393216, + "max_tokens": 393216, + "mode": "chat", + "output_cost_per_token": 4e-7, + "source": "https://www.qwencloud.com/models", + "supports_function_calling": true, + "supports_prompt_caching": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_tool_choice": true + }, + "qwencloud/deepseek-v4-pro": { + "cache_read_input_token_cost": 2e-7, + "input_cost_per_token": 0.0000024, + "litellm_provider": "qwencloud", + "max_input_tokens": 1000000, + "max_output_tokens": 393216, + "max_tokens": 393216, + "mode": "chat", + "output_cost_per_token": 0.0000048, + "source": "https://www.qwencloud.com/models", + "supports_function_calling": true, + "supports_prompt_caching": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_tool_choice": true + }, + "qwencloud/glm-5.1": { + "cache_read_input_token_cost": 2.6e-7, + "input_cost_per_token": 0.0000014, + "litellm_provider": "qwencloud", + "max_input_tokens": 202745, + "max_output_tokens": 131072, + "max_tokens": 131072, + "mode": "chat", + "output_cost_per_token": 0.0000044, + "source": "https://www.qwencloud.com/models", + "supports_function_calling": true, + "supports_prompt_caching": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_tool_choice": true + }, + "qwencloud/glm-5.2": { + "cache_read_input_token_cost": 2.8e-7, + "input_cost_per_token": 0.0000014, + "litellm_provider": "qwencloud", + "max_input_tokens": 1048576, + "max_output_tokens": 131072, + "max_tokens": 131072, + "mode": "chat", + "output_cost_per_token": 0.0000044, + "source": "https://www.qwencloud.com/models", + "supports_function_calling": true, + "supports_prompt_caching": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_tool_choice": true + }, + "qwencloud/kimi-k2.7-code": { + "cache_read_input_token_cost": 1.9e-7, + "input_cost_per_token": 9.5e-7, + "litellm_provider": "qwencloud", + "max_input_tokens": 229376, + "max_output_tokens": 16384, + "max_tokens": 16384, + "mode": "chat", + "output_cost_per_token": 0.000004, + "source": "https://www.qwencloud.com/models", + "supports_function_calling": true, + "supports_prompt_caching": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_tool_choice": true, + "supports_vision": true + }, + "qwencloud/qwen-coder": { + "input_cost_per_token": 3e-7, + "litellm_provider": "qwencloud", + "max_input_tokens": 1000000, + "max_output_tokens": 16384, + "max_tokens": 16384, + "mode": "chat", + "output_cost_per_token": 0.0000015, + "source": "https://www.qwencloud.com/models", + "supports_function_calling": true, + "supports_reasoning": true, + "supports_tool_choice": true + }, + "qwencloud/qwen-flash": { + "litellm_provider": "qwencloud", + "max_input_tokens": 997952, + "max_output_tokens": 32768, + "max_tokens": 32768, + "mode": "chat", + "source": "https://www.qwencloud.com/models", + "supports_function_calling": true, + "supports_reasoning": true, + "supports_tool_choice": true, + "tiered_pricing": [ + { + "input_cost_per_token": 5e-8, + "output_cost_per_token": 4e-7, + "range": [ + 0, + 256000 + ] + }, + { + "input_cost_per_token": 2.5e-7, + "output_cost_per_token": 0.000002, + "range": [ + 256000, + 1000000 + ] + } + ] + }, + "qwencloud/qwen-flash-2025-07-28": { + "litellm_provider": "qwencloud", + "max_input_tokens": 997952, + "max_output_tokens": 32768, + "max_tokens": 32768, + "mode": "chat", + "source": "https://www.qwencloud.com/models", + "supports_function_calling": true, + "supports_reasoning": true, + "supports_tool_choice": true, + "tiered_pricing": [ + { + "input_cost_per_token": 5e-8, + "output_cost_per_token": 4e-7, + "range": [ + 0, + 256000 + ] + }, + { + "input_cost_per_token": 2.5e-7, + "output_cost_per_token": 0.000002, + "range": [ + 256000, + 1000000 + ] + } + ] + }, + "qwencloud/qwen-max": { + "input_cost_per_token": 0.0000016, + "litellm_provider": "qwencloud", + "max_input_tokens": 30720, + "max_output_tokens": 8192, + "max_tokens": 8192, + "mode": "chat", + "output_cost_per_token": 0.0000064, + "source": "https://www.qwencloud.com/models", + "supports_function_calling": true, + "supports_reasoning": true, + "supports_tool_choice": true + }, + "qwencloud/qwen-plus": { + "input_cost_per_token": 4e-7, + "litellm_provider": "qwencloud", + "max_input_tokens": 129024, + "max_output_tokens": 16384, + "max_tokens": 16384, + "mode": "chat", + "output_cost_per_token": 0.0000012, + "source": "https://www.qwencloud.com/models", + "supports_function_calling": true, + "supports_reasoning": true, + "supports_tool_choice": true + }, + "qwencloud/qwen-plus-2025-01-25": { + "input_cost_per_token": 4e-7, + "litellm_provider": "qwencloud", + "max_input_tokens": 129024, + "max_output_tokens": 8192, + "max_tokens": 8192, + "mode": "chat", + "output_cost_per_token": 0.0000012, + "source": "https://www.qwencloud.com/models", + "supports_function_calling": true, + "supports_reasoning": true, + "supports_tool_choice": true + }, + "qwencloud/qwen-plus-2025-04-28": { + "input_cost_per_token": 4e-7, + "litellm_provider": "qwencloud", + "max_input_tokens": 129024, + "max_output_tokens": 16384, + "max_tokens": 16384, + "mode": "chat", + "output_cost_per_reasoning_token": 0.000004, + "output_cost_per_token": 0.0000012, + "source": "https://www.qwencloud.com/models", + "supports_function_calling": true, + "supports_reasoning": true, + "supports_tool_choice": true + }, + "qwencloud/qwen-plus-2025-07-14": { + "input_cost_per_token": 4e-7, + "litellm_provider": "qwencloud", + "max_input_tokens": 129024, + "max_output_tokens": 16384, + "max_tokens": 16384, + "mode": "chat", + "output_cost_per_reasoning_token": 0.000004, + "output_cost_per_token": 0.0000012, + "source": "https://www.qwencloud.com/models", + "supports_function_calling": true, + "supports_reasoning": true, + "supports_tool_choice": true + }, + "qwencloud/qwen-plus-2025-07-28": { + "litellm_provider": "qwencloud", + "max_input_tokens": 997952, + "max_output_tokens": 32768, + "max_tokens": 32768, + "mode": "chat", + "source": "https://www.qwencloud.com/models", + "supports_function_calling": true, + "supports_reasoning": true, + "supports_tool_choice": true, + "tiered_pricing": [ + { + "input_cost_per_token": 4e-7, + "output_cost_per_reasoning_token": 0.000004, + "output_cost_per_token": 0.0000012, + "range": [ + 0, + 256000 + ] + }, + { + "input_cost_per_token": 0.0000012, + "output_cost_per_reasoning_token": 0.000012, + "output_cost_per_token": 0.0000036, + "range": [ + 256000, + 1000000 + ] + } + ] + }, + "qwencloud/qwen-plus-2025-09-11": { + "litellm_provider": "qwencloud", + "max_input_tokens": 997952, + "max_output_tokens": 32768, + "max_tokens": 32768, + "mode": "chat", + "source": "https://www.qwencloud.com/models", + "supports_function_calling": true, + "supports_reasoning": true, + "supports_tool_choice": true, + "tiered_pricing": [ + { + "input_cost_per_token": 4e-7, + "output_cost_per_reasoning_token": 0.000004, + "output_cost_per_token": 0.0000012, + "range": [ + 0, + 256000 + ] + }, + { + "input_cost_per_token": 0.0000012, + "output_cost_per_reasoning_token": 0.000012, + "output_cost_per_token": 0.0000036, + "range": [ + 256000, + 1000000 + ] + } + ] + }, + "qwencloud/qwen-plus-latest": { + "litellm_provider": "qwencloud", + "max_input_tokens": 997952, + "max_output_tokens": 32768, + "max_tokens": 32768, + "mode": "chat", + "source": "https://www.qwencloud.com/models", + "supports_function_calling": true, + "supports_reasoning": true, + "supports_tool_choice": true, + "tiered_pricing": [ + { + "input_cost_per_token": 4e-7, + "output_cost_per_reasoning_token": 0.000004, + "output_cost_per_token": 0.0000012, + "range": [ + 0, + 256000 + ] + }, + { + "input_cost_per_token": 0.0000012, + "output_cost_per_reasoning_token": 0.000012, + "output_cost_per_token": 0.0000036, + "range": [ + 256000, + 1000000 + ] + } + ] + }, + "qwencloud/qwen-turbo": { + "input_cost_per_token": 5e-8, + "litellm_provider": "qwencloud", + "max_input_tokens": 129024, + "max_output_tokens": 16384, + "max_tokens": 16384, + "mode": "chat", + "output_cost_per_reasoning_token": 5e-7, + "output_cost_per_token": 2e-7, + "source": "https://www.qwencloud.com/models", + "supports_function_calling": true, + "supports_reasoning": true, + "supports_tool_choice": true + }, + "qwencloud/qwen-turbo-2024-11-01": { + "input_cost_per_token": 5e-8, + "litellm_provider": "qwencloud", + "max_input_tokens": 1000000, + "max_output_tokens": 8192, + "max_tokens": 8192, + "mode": "chat", + "output_cost_per_token": 2e-7, + "source": "https://www.qwencloud.com/models", + "supports_function_calling": true, + "supports_reasoning": true, + "supports_tool_choice": true + }, + "qwencloud/qwen-turbo-2025-04-28": { + "input_cost_per_token": 5e-8, + "litellm_provider": "qwencloud", + "max_input_tokens": 1000000, + "max_output_tokens": 16384, + "max_tokens": 16384, + "mode": "chat", + "output_cost_per_reasoning_token": 5e-7, + "output_cost_per_token": 2e-7, + "source": "https://www.qwencloud.com/models", + "supports_function_calling": true, + "supports_reasoning": true, + "supports_tool_choice": true + }, + "qwencloud/qwen-turbo-latest": { + "input_cost_per_token": 5e-8, + "litellm_provider": "qwencloud", + "max_input_tokens": 1000000, + "max_output_tokens": 16384, + "max_tokens": 16384, + "mode": "chat", + "output_cost_per_reasoning_token": 5e-7, + "output_cost_per_token": 2e-7, + "source": "https://www.qwencloud.com/models", + "supports_function_calling": true, + "supports_reasoning": true, + "supports_tool_choice": true + }, + "qwencloud/qwen3-30b-a3b": { + "litellm_provider": "qwencloud", + "max_input_tokens": 129024, + "max_output_tokens": 16384, + "max_tokens": 16384, + "mode": "chat", + "source": "https://www.qwencloud.com/models", + "supports_function_calling": true, + "supports_reasoning": true, + "supports_tool_choice": true + }, + "qwencloud/qwen3-coder-flash": { + "litellm_provider": "qwencloud", + "max_input_tokens": 997952, + "max_output_tokens": 65536, + "max_tokens": 65536, + "mode": "chat", + "source": "https://www.qwencloud.com/models", + "supports_function_calling": true, + "supports_reasoning": true, + "supports_tool_choice": true, + "tiered_pricing": [ + { + "cache_read_input_token_cost": 8e-8, + "input_cost_per_token": 3e-7, + "output_cost_per_token": 0.0000015, + "range": [ + 0, + 32000 + ] + }, + { + "cache_read_input_token_cost": 1.2e-7, + "input_cost_per_token": 5e-7, + "output_cost_per_token": 0.0000025, + "range": [ + 32000, + 128000 + ] + }, + { + "cache_read_input_token_cost": 2e-7, + "input_cost_per_token": 8e-7, + "output_cost_per_token": 0.000004, + "range": [ + 128000, + 256000 + ] + }, + { + "cache_read_input_token_cost": 4e-7, + "input_cost_per_token": 0.0000016, + "output_cost_per_token": 0.0000096, + "range": [ + 256000, + 1000000 + ] + } + ] + }, + "qwencloud/qwen3-coder-flash-2025-07-28": { + "litellm_provider": "qwencloud", + "max_input_tokens": 997952, + "max_output_tokens": 65536, + "max_tokens": 65536, + "mode": "chat", + "source": "https://www.qwencloud.com/models", + "supports_function_calling": true, + "supports_reasoning": true, + "supports_tool_choice": true, + "tiered_pricing": [ + { + "input_cost_per_token": 3e-7, + "output_cost_per_token": 0.0000015, + "range": [ + 0, + 32000 + ] + }, + { + "input_cost_per_token": 5e-7, + "output_cost_per_token": 0.0000025, + "range": [ + 32000, + 128000 + ] + }, + { + "input_cost_per_token": 8e-7, + "output_cost_per_token": 0.000004, + "range": [ + 128000, + 256000 + ] + }, + { + "input_cost_per_token": 0.0000016, + "output_cost_per_token": 0.0000096, + "range": [ + 256000, + 1000000 + ] + } + ] + }, + "qwencloud/qwen3-coder-plus": { + "litellm_provider": "qwencloud", + "max_input_tokens": 997952, + "max_output_tokens": 65536, + "max_tokens": 65536, + "mode": "chat", + "source": "https://www.qwencloud.com/models", + "supports_function_calling": true, + "supports_reasoning": true, + "supports_tool_choice": true, + "tiered_pricing": [ + { + "cache_read_input_token_cost": 1e-7, + "input_cost_per_token": 0.000001, + "output_cost_per_token": 0.000005, + "range": [ + 0, + 32000 + ] + }, + { + "cache_read_input_token_cost": 1.8e-7, + "input_cost_per_token": 0.0000018, + "output_cost_per_token": 0.000009, + "range": [ + 32000, + 128000 + ] + }, + { + "cache_read_input_token_cost": 3e-7, + "input_cost_per_token": 0.000003, + "output_cost_per_token": 0.000015, + "range": [ + 128000, + 256000 + ] + }, + { + "cache_read_input_token_cost": 6e-7, + "input_cost_per_token": 0.000006, + "output_cost_per_token": 0.00006, + "range": [ + 256000, + 1000000 + ] + } + ] + }, + "qwencloud/qwen3-coder-plus-2025-07-22": { + "litellm_provider": "qwencloud", + "max_input_tokens": 997952, + "max_output_tokens": 65536, + "max_tokens": 65536, + "mode": "chat", + "source": "https://www.qwencloud.com/models", + "supports_function_calling": true, + "supports_reasoning": true, + "supports_tool_choice": true, + "tiered_pricing": [ + { + "input_cost_per_token": 0.000001, + "output_cost_per_token": 0.000005, + "range": [ + 0, + 32000 + ] + }, + { + "input_cost_per_token": 0.0000018, + "output_cost_per_token": 0.000009, + "range": [ + 32000, + 128000 + ] + }, + { + "input_cost_per_token": 0.000003, + "output_cost_per_token": 0.000015, + "range": [ + 128000, + 256000 + ] + }, + { + "input_cost_per_token": 0.000006, + "output_cost_per_token": 0.00006, + "range": [ + 256000, + 1000000 + ] + } + ] + }, + "qwencloud/qwen3-max": { + "litellm_provider": "qwencloud", + "max_input_tokens": 258048, + "max_output_tokens": 65536, + "max_tokens": 65536, + "mode": "chat", + "source": "https://www.qwencloud.com/models", + "supports_function_calling": true, + "supports_reasoning": true, + "supports_tool_choice": true, + "tiered_pricing": [ + { + "input_cost_per_token": 0.0000012, + "output_cost_per_token": 0.000006, + "range": [ + 0, + 32000 + ] + }, + { + "input_cost_per_token": 0.0000024, + "output_cost_per_token": 0.000012, + "range": [ + 32000, + 128000 + ] + }, + { + "input_cost_per_token": 0.000003, + "output_cost_per_token": 0.000015, + "range": [ + 128000, + 252000 + ] + } + ] + }, + "qwencloud/qwen3-max-2026-01-23": { + "litellm_provider": "qwencloud", + "max_input_tokens": 258048, + "max_output_tokens": 65536, + "max_tokens": 65536, + "mode": "chat", + "source": "https://www.qwencloud.com/models", + "supports_function_calling": true, + "supports_reasoning": true, + "supports_tool_choice": true, + "tiered_pricing": [ + { + "input_cost_per_token": 0.0000012, + "output_cost_per_token": 0.000006, + "range": [ + 0, + 32000 + ] + }, + { + "input_cost_per_token": 0.0000024, + "output_cost_per_token": 0.000012, + "range": [ + 32000, + 128000 + ] + }, + { + "input_cost_per_token": 0.000003, + "output_cost_per_token": 0.000015, + "range": [ + 128000, + 252000 + ] + } + ] + }, + "qwencloud/qwen3-max-preview": { + "litellm_provider": "qwencloud", + "max_input_tokens": 258048, + "max_output_tokens": 65536, + "max_tokens": 65536, + "mode": "chat", + "source": "https://www.qwencloud.com/models", + "supports_function_calling": true, + "supports_reasoning": true, + "supports_tool_choice": true, + "tiered_pricing": [ + { + "input_cost_per_token": 0.0000012, + "output_cost_per_token": 0.000006, + "range": [ + 0, + 32000 + ] + }, + { + "input_cost_per_token": 0.0000024, + "output_cost_per_token": 0.000012, + "range": [ + 32000, + 128000 + ] + }, + { + "input_cost_per_token": 0.000003, + "output_cost_per_token": 0.000015, + "range": [ + 128000, + 252000 + ] + } + ] + }, + "qwencloud/qwen3-next-80b-a3b-instruct": { + "input_cost_per_token": 1.5e-7, + "litellm_provider": "qwencloud", + "max_input_tokens": 262144, + "max_output_tokens": 65536, + "max_tokens": 65536, "mode": "chat", - "output_cost_per_token": 0, - "source": "https://platform.publicai.co/docs", + "output_cost_per_token": 0.0000012, + "source": "https://www.qwencloud.com/models", "supports_function_calling": true, "supports_tool_choice": true }, - "publicai/aisingapore/Qwen-SEA-LION-v4-32B-IT": { - "input_cost_per_token": 0, - "litellm_provider": "publicai", - "max_input_tokens": 32768, - "max_output_tokens": 4096, - "max_tokens": 4096, + "qwencloud/qwen3-next-80b-a3b-thinking": { + "input_cost_per_token": 1.5e-7, + "litellm_provider": "qwencloud", + "max_input_tokens": 262144, + "max_output_tokens": 65536, + "max_tokens": 65536, "mode": "chat", - "output_cost_per_token": 0, - "source": "https://platform.publicai.co/docs", + "output_cost_per_token": 0.0000012, + "source": "https://www.qwencloud.com/models", "supports_function_calling": true, + "supports_reasoning": true, "supports_tool_choice": true }, - "publicai/allenai/Olmo-3-32B-Think": { - "input_cost_per_token": 0, - "litellm_provider": "publicai", - "max_input_tokens": 32768, - "max_output_tokens": 4096, - "max_tokens": 4096, + "qwencloud/qwen3-vl-235b-a22b-instruct": { + "input_cost_per_token": 4e-7, + "litellm_provider": "qwencloud", + "max_input_tokens": 131072, + "max_output_tokens": 32768, + "max_tokens": 32768, "mode": "chat", - "output_cost_per_token": 0, - "source": "https://platform.publicai.co/docs", + "output_cost_per_token": 0.0000016, + "source": "https://www.qwencloud.com/models", "supports_function_calling": true, "supports_tool_choice": true, - "supports_reasoning": true + "supports_vision": true }, - "publicai/allenai/Olmo-3-7B-Instruct": { - "input_cost_per_token": 0, - "litellm_provider": "publicai", - "max_input_tokens": 32768, - "max_output_tokens": 4096, - "max_tokens": 4096, + "qwencloud/qwen3-vl-235b-a22b-thinking": { + "input_cost_per_token": 4e-7, + "litellm_provider": "qwencloud", + "max_input_tokens": 131072, + "max_output_tokens": 32768, + "max_tokens": 32768, "mode": "chat", - "output_cost_per_token": 0, - "source": "https://platform.publicai.co/docs", + "output_cost_per_token": 0.000004, + "source": "https://www.qwencloud.com/models", "supports_function_calling": true, - "supports_tool_choice": true + "supports_reasoning": true, + "supports_tool_choice": true, + "supports_vision": true }, - "publicai/allenai/Olmo-3-7B-Think": { - "input_cost_per_token": 0, - "litellm_provider": "publicai", - "max_input_tokens": 32768, - "max_output_tokens": 4096, - "max_tokens": 4096, + "qwencloud/qwen3-vl-32b-instruct": { + "input_cost_per_token": 1.6e-7, + "litellm_provider": "qwencloud", + "max_input_tokens": 131072, + "max_output_tokens": 32768, + "max_tokens": 32768, "mode": "chat", - "output_cost_per_token": 0, - "source": "https://platform.publicai.co/docs", + "output_cost_per_token": 6.4e-7, + "source": "https://www.qwencloud.com/models", "supports_function_calling": true, "supports_tool_choice": true, - "supports_reasoning": true - }, - "publicai/swiss-ai/apertus-70b-instruct": { - "input_cost_per_token": 0, - "litellm_provider": "publicai", - "max_input_tokens": 8192, - "max_output_tokens": 4096, - "max_tokens": 4096, - "mode": "chat", - "output_cost_per_token": 0, - "source": "https://platform.publicai.co/docs", - "supports_function_calling": false, - "supports_tool_choice": false - }, - "publicai/swiss-ai/apertus-8b-instruct": { - "input_cost_per_token": 0, - "litellm_provider": "publicai", - "max_input_tokens": 8192, - "max_output_tokens": 4096, - "max_tokens": 4096, - "mode": "chat", - "output_cost_per_token": 0, - "source": "https://platform.publicai.co/docs", - "supports_function_calling": false, - "supports_tool_choice": false + "supports_vision": true }, - "qwen.qwen3-235b-a22b-2507-v1:0": { - "input_cost_per_token": 2.2e-7, - "litellm_provider": "bedrock_converse", - "max_input_tokens": 262144, - "max_output_tokens": 131072, - "max_tokens": 131072, + "qwencloud/qwen3-vl-32b-thinking": { + "input_cost_per_token": 1.6e-7, + "litellm_provider": "qwencloud", + "max_input_tokens": 131072, + "max_output_tokens": 32768, + "max_tokens": 32768, "mode": "chat", - "output_cost_per_token": 8.8e-7, + "output_cost_per_token": 0.00000287, + "source": "https://www.qwencloud.com/models", "supports_function_calling": true, "supports_reasoning": true, "supports_tool_choice": true, - "supports_native_structured_output": true + "supports_vision": true }, - "qwen.qwen3-32b-v1:0": { - "input_cost_per_token": 1.5e-7, - "litellm_provider": "bedrock_converse", - "max_input_tokens": 131072, - "max_output_tokens": 16384, - "max_tokens": 16384, + "qwencloud/qwen3-vl-plus": { + "litellm_provider": "qwencloud", + "max_input_tokens": 260096, + "max_output_tokens": 32768, + "max_tokens": 32768, "mode": "chat", - "output_cost_per_token": 6e-7, + "source": "https://www.qwencloud.com/models", "supports_function_calling": true, "supports_reasoning": true, "supports_tool_choice": true, - "supports_native_structured_output": true + "supports_vision": true, + "tiered_pricing": [ + { + "input_cost_per_token": 2e-7, + "output_cost_per_token": 0.0000016, + "range": [ + 0, + 32000 + ] + }, + { + "input_cost_per_token": 3e-7, + "output_cost_per_token": 0.0000024, + "range": [ + 32000, + 128000 + ] + }, + { + "input_cost_per_token": 6e-7, + "output_cost_per_token": 0.0000048, + "range": [ + 128000, + 256000 + ] + } + ] }, - "qwen.qwen3-coder-30b-a3b-v1:0": { - "input_cost_per_token": 1.5e-7, - "litellm_provider": "bedrock_converse", - "max_input_tokens": 262144, - "max_output_tokens": 131072, - "max_tokens": 131072, + "qwencloud/qwen3.5-plus": { + "litellm_provider": "qwencloud", + "max_input_tokens": 991808, + "max_output_tokens": 65536, + "max_tokens": 65536, "mode": "chat", - "output_cost_per_token": 6e-7, + "source": "https://www.qwencloud.com/models", "supports_function_calling": true, "supports_reasoning": true, "supports_tool_choice": true, - "supports_native_structured_output": true + "supports_vision": true, + "tiered_pricing": [ + { + "input_cost_per_token": 4e-7, + "output_cost_per_token": 0.0000024, + "range": [ + 0, + 256000 + ] + }, + { + "input_cost_per_token": 5e-7, + "output_cost_per_token": 0.000003, + "range": [ + 256000, + 1000000 + ] + } + ] }, - "qwen.qwen3-coder-480b-a35b-v1:0": { - "input_cost_per_token": 2.2e-7, - "litellm_provider": "bedrock_converse", - "max_input_tokens": 262000, + "qwencloud/qwen3.7-max": { + "cache_read_input_token_cost": 5e-7, + "input_cost_per_token": 0.0000025, + "litellm_provider": "qwencloud", + "max_input_tokens": 991808, "max_output_tokens": 65536, "max_tokens": 65536, "mode": "chat", - "output_cost_per_token": 0.0000018, + "output_cost_per_token": 0.0000075, + "source": "https://www.qwencloud.com/models", "supports_function_calling": true, + "supports_prompt_caching": true, "supports_reasoning": true, - "supports_tool_choice": true, - "supports_native_structured_output": true + "supports_response_schema": true, + "supports_tool_choice": true }, - "qwen.qwen3-coder-next": { - "input_cost_per_token": 5e-7, - "litellm_provider": "bedrock_converse", - "max_input_tokens": 262144, - "max_output_tokens": 8192, - "max_tokens": 8192, + "qwencloud/qwen3.7-plus": { + "litellm_provider": "qwencloud", + "max_input_tokens": 991808, + "max_output_tokens": 65536, + "max_tokens": 65536, "mode": "chat", - "output_cost_per_token": 0.0000012, + "source": "https://www.qwencloud.com/models", "supports_function_calling": true, - "supports_system_messages": true, + "supports_prompt_caching": true, + "supports_reasoning": true, + "supports_response_schema": true, "supports_tool_choice": true, - "source": "https://aws.amazon.com/bedrock/pricing/" + "supports_vision": true, + "tiered_pricing": [ + { + "cache_read_input_token_cost": 8e-8, + "input_cost_per_token": 4e-7, + "output_cost_per_token": 0.0000016, + "range": [ + 0, + 256000 + ] + }, + { + "cache_read_input_token_cost": 2.4e-7, + "input_cost_per_token": 0.0000012, + "output_cost_per_token": 0.0000048, + "range": [ + 256000, + 1000000 + ] + } + ] }, - "qwen.qwen3-next-80b-a3b": { - "input_cost_per_token": 1.5e-7, - "litellm_provider": "bedrock_converse", - "max_input_tokens": 128000, - "max_output_tokens": 8192, - "max_tokens": 8192, + "qwencloud/qwen3.8-max": { + "cache_read_input_token_cost": 2.5e-7, + "input_cost_per_token": 0.000002, + "litellm_provider": "qwencloud", + "max_input_tokens": 991808, + "max_output_tokens": 131072, + "max_tokens": 131072, "mode": "chat", - "output_cost_per_token": 0.0000012, + "output_cost_per_token": 0.000006, + "source": "https://www.qwencloud.com/models", "supports_function_calling": true, - "supports_system_messages": true, - "supports_native_structured_output": true + "supports_prompt_caching": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_tool_choice": true, + "supports_vision": true }, - "qwen.qwen3-vl-235b-a22b": { - "input_cost_per_token": 5.3e-7, - "litellm_provider": "bedrock_converse", - "max_input_tokens": 128000, + "qwencloud/qwq-plus": { + "input_cost_per_token": 8e-7, + "litellm_provider": "qwencloud", + "max_input_tokens": 98304, "max_output_tokens": 8192, "max_tokens": 8192, "mode": "chat", - "output_cost_per_token": 0.00000266, + "output_cost_per_token": 0.0000024, + "source": "https://www.qwencloud.com/models", "supports_function_calling": true, - "supports_system_messages": true, - "supports_vision": true, - "supports_native_structured_output": true + "supports_reasoning": true, + "supports_tool_choice": true }, "replicate/anthropic/claude-3.5-haiku": { "input_cost_per_token": 0.000001, @@ -32710,7 +38731,8 @@ "supports_system_messages": true, "supports_tool_choice": true, "supports_response_schema": true, - "supports_prompt_caching": true + "supports_prompt_caching": true, + "prompt_cache_min_tokens": 1024 }, "replicate/anthropic/claude-4.5-haiku": { "input_cost_per_token": 0.000001, @@ -32723,7 +38745,8 @@ "supports_system_messages": true, "supports_tool_choice": true, "supports_response_schema": true, - "supports_prompt_caching": true + "supports_prompt_caching": true, + "prompt_cache_min_tokens": 4096 }, "replicate/anthropic/claude-4.5-sonnet": { "input_cost_per_token": 0.000003, @@ -32736,7 +38759,8 @@ "supports_system_messages": true, "supports_tool_choice": true, "supports_response_schema": true, - "supports_prompt_caching": true + "supports_prompt_caching": true, + "prompt_cache_min_tokens": 1024 }, "replicate/deepseek-ai/deepseek-r1": { "input_cost_per_token": 0.00000375, @@ -33521,6 +39545,40 @@ "supports_vision": true, "supports_reasoning": true }, + "scx-ai/GLM-5.2": { + "cache_read_input_token_cost": 2.2e-7, + "input_cost_per_token": 6.1e-7, + "litellm_provider": "scx-ai", + "max_input_tokens": 1048576, + "max_output_tokens": 131072, + "max_tokens": 131072, + "mode": "chat", + "output_cost_per_token": 0.00000198, + "source": "https://scx.ai/pricing", + "supports_function_calling": true, + "supports_prompt_caching": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_tool_choice": true, + "supports_vision": false + }, + "scx-ai/Qwen3.8-Max": { + "cache_read_input_token_cost": 2.1e-7, + "input_cost_per_token": 0.00000165, + "litellm_provider": "scx-ai", + "max_input_tokens": 1000000, + "max_output_tokens": 131072, + "max_tokens": 131072, + "mode": "chat", + "output_cost_per_token": 0.00000499, + "source": "https://scx.ai/pricing", + "supports_function_calling": true, + "supports_prompt_caching": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_tool_choice": true, + "supports_vision": true + }, "snowflake/claude-3-5-sonnet": { "litellm_provider": "snowflake", "max_input_tokens": 200000, @@ -33567,7 +39625,8 @@ "supports_prompt_caching": true, "supports_system_messages": true, "supports_reasoning": true, - "supports_response_schema": true + "supports_response_schema": true, + "prompt_cache_min_tokens": 1024 }, "snowflake/claude-4-sonnet": { "max_tokens": 16384, @@ -33582,7 +39641,8 @@ "supports_vision": true, "supports_prompt_caching": true, "supports_system_messages": true, - "supports_response_schema": true + "supports_response_schema": true, + "prompt_cache_min_tokens": 1024 }, "snowflake/claude-haiku-4-5": { "max_tokens": 16384, @@ -33597,7 +39657,8 @@ "supports_vision": true, "supports_prompt_caching": true, "supports_system_messages": true, - "supports_response_schema": true + "supports_response_schema": true, + "prompt_cache_min_tokens": 4096 }, "snowflake/claude-sonnet-4-5": { "max_tokens": 16384, @@ -33612,10 +39673,12 @@ "supports_vision": true, "supports_prompt_caching": true, "supports_system_messages": true, - "supports_response_schema": true + "supports_response_schema": true, + "prompt_cache_min_tokens": 1024 }, "snowflake/claude-sonnet-4-6": { "supports_adaptive_thinking": true, + "supports_legacy_thinking": true, "max_tokens": 16384, "max_input_tokens": 200000, "max_output_tokens": 16384, @@ -33628,7 +39691,8 @@ "supports_vision": true, "supports_prompt_caching": true, "supports_system_messages": true, - "supports_response_schema": true + "supports_response_schema": true, + "prompt_cache_min_tokens": 1024 }, "snowflake/deepseek-r1": { "litellm_provider": "snowflake", @@ -33937,6 +40001,26 @@ "supports_reasoning": true, "supports_vision": false }, + "tencent/minimax-m3": { + "cache_creation_input_token_cost": 0, + "cache_read_input_token_cost": 6e-8, + "input_cost_per_token": 3e-7, + "input_cost_per_token_cache_hit": 6e-8, + "litellm_provider": "tencent", + "max_input_tokens": 1000000, + "mode": "chat", + "output_cost_per_token": 0.0000012, + "source": "https://www.tencentcloud.com/products/tokenhub", + "supported_endpoints": [ + "/v1/chat/completions" + ], + "supports_adaptive_thinking": true, + "supports_function_calling": true, + "supports_native_streaming": true, + "supports_prompt_caching": true, + "supports_reasoning": true, + "supports_vision": false + }, "tensormesh/MiniMaxAI/MiniMax-M2.5": { "litellm_provider": "tensormesh", "mode": "chat", @@ -34133,7 +40217,34 @@ "mode": "chat", "output_cost_per_token": 1e-7 }, + "together_ai/MiniMaxAI/MiniMax-M3": { + "cache_read_input_token_cost": 6e-8, + "input_cost_per_token": 3e-7, + "litellm_provider": "together_ai", + "max_input_tokens": 524288, + "max_tokens": 524288, + "mode": "chat", + "output_cost_per_token": 0.0000012, + "source": "https://docs.together.ai/docs/serverless-models", + "supports_function_calling": true, + "supports_parallel_function_calling": true, + "supports_prompt_caching": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_tool_choice": true, + "supports_vision": true + }, + "together_ai/Prism-ML/Ternary-Bonsai-27B": { + "input_cost_per_token": 0, + "litellm_provider": "together_ai", + "max_input_tokens": 262144, + "max_tokens": 262144, + "mode": "chat", + "output_cost_per_token": 0, + "source": "https://docs.together.ai/docs/serverless-models" + }, "together_ai/Qwen/Qwen2.5-72B-Instruct-Turbo": { + "deprecation_date": "2026-02-06", "litellm_provider": "together_ai", "mode": "chat", "supports_function_calling": true, @@ -34150,6 +40261,7 @@ "supports_tool_choice": true }, "together_ai/Qwen/Qwen3-235B-A22B-Instruct-2507-tput": { + "deprecation_date": "2026-07-10", "input_cost_per_token": 2e-7, "litellm_provider": "together_ai", "max_input_tokens": 262000, @@ -34162,6 +40274,7 @@ "supports_tool_choice": true }, "together_ai/Qwen/Qwen3-235B-A22B-Thinking-2507": { + "deprecation_date": "2026-04-16", "input_cost_per_token": 6.5e-7, "litellm_provider": "together_ai", "max_input_tokens": 256000, @@ -34174,6 +40287,7 @@ "supports_tool_choice": true }, "together_ai/Qwen/Qwen3-235B-A22B-fp8-tput": { + "deprecation_date": "2026-02-06", "input_cost_per_token": 2e-7, "litellm_provider": "together_ai", "max_input_tokens": 40000, @@ -34185,6 +40299,7 @@ "supports_tool_choice": false }, "together_ai/Qwen/Qwen3-Coder-480B-A35B-Instruct-FP8": { + "deprecation_date": "2026-06-04", "input_cost_per_token": 0.000002, "litellm_provider": "together_ai", "max_input_tokens": 256000, @@ -34197,9 +40312,13 @@ "supports_tool_choice": true }, "together_ai/Qwen/Qwen3-Next-80B-A3B-Instruct": { + "deprecation_date": "2026-04-02", "input_cost_per_token": 1.5e-7, "litellm_provider": "together_ai", "max_input_tokens": 262144, + "metadata": { + "successor": "together_ai/Qwen/Qwen3.7-Plus" + }, "mode": "chat", "output_cost_per_token": 0.0000015, "source": "https://www.together.ai/models/qwen3-next-80b-a3b-instruct", @@ -34209,9 +40328,13 @@ "supports_tool_choice": true }, "together_ai/Qwen/Qwen3-Next-80B-A3B-Thinking": { + "deprecation_date": "2026-02-25", "input_cost_per_token": 1.5e-7, "litellm_provider": "together_ai", "max_input_tokens": 262144, + "metadata": { + "successor": "together_ai/Qwen/Qwen3.6-Plus" + }, "mode": "chat", "output_cost_per_token": 0.0000015, "source": "https://www.together.ai/models/qwen3-next-80b-a3b-thinking", @@ -34221,23 +40344,104 @@ "supports_tool_choice": true }, "together_ai/Qwen/Qwen3.5-397B-A17B": { + "cache_read_input_token_cost": 3.5e-7, + "deprecation_date": "2026-06-29", "input_cost_per_token": 6e-7, "litellm_provider": "together_ai", "max_input_tokens": 262144, "mode": "chat", "output_cost_per_token": 0.0000036, - "source": "https://www.together.ai/models/Qwen/Qwen3.5-397B-A17B", + "source": "https://www.together.ai/models/qwen3-5-397b-a17b", "supports_function_calling": true, "supports_parallel_function_calling": true, + "supports_prompt_caching": true, "supports_response_schema": true, "supports_tool_choice": true }, + "together_ai/Qwen/Qwen3.5-9B": { + "input_cost_per_token": 1.7e-7, + "litellm_provider": "together_ai", + "max_input_tokens": 262144, + "max_tokens": 262144, + "mode": "chat", + "output_cost_per_token": 2.5e-7, + "source": "https://docs.together.ai/docs/serverless-models", + "supports_function_calling": true, + "supports_parallel_function_calling": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_tool_choice": true, + "supports_vision": true + }, + "together_ai/Qwen/Qwen3.6-Plus": { + "input_cost_per_token": 5e-7, + "litellm_provider": "together_ai", + "max_input_tokens": 1000000, + "max_tokens": 1000000, + "mode": "chat", + "output_cost_per_token": 0.000003, + "source": "https://docs.together.ai/docs/serverless-models", + "supports_reasoning": true + }, + "together_ai/Qwen/Qwen3.7-Max": { + "cache_read_input_token_cost": 5e-7, + "input_cost_per_token": 0.0000025, + "litellm_provider": "together_ai", + "max_input_tokens": 1000000, + "max_tokens": 1000000, + "mode": "chat", + "output_cost_per_token": 0.0000075, + "source": "https://docs.together.ai/docs/serverless-models", + "supports_prompt_caching": true + }, + "together_ai/Qwen/Qwen3.7-Plus": { + "input_cost_per_token": 3.2e-7, + "litellm_provider": "together_ai", + "max_input_tokens": 1000000, + "max_tokens": 1000000, + "mode": "chat", + "output_cost_per_token": 0.00000128, + "source": "https://docs.together.ai/docs/serverless-models" + }, + "together_ai/Qwen/Qwen3.8-2.4T-A95B": { + "cache_read_input_token_cost": 5e-7, + "input_cost_per_token": 0.0000025, + "litellm_provider": "together_ai", + "max_input_tokens": 1010000, + "max_tokens": 1010000, + "mode": "chat", + "output_cost_per_token": 0.00000625, + "source": "https://docs.together.ai/docs/serverless-models", + "supports_prompt_caching": true + }, + "together_ai/Qwen/Qwen3.8-Flash": { + "input_cost_per_token": 1.5e-7, + "litellm_provider": "together_ai", + "max_input_tokens": 1000000, + "max_tokens": 1000000, + "mode": "chat", + "output_cost_per_token": 4.7e-7, + "source": "https://docs.together.ai/docs/serverless-models" + }, + "together_ai/arize-ai/qwen-2-1.5b-instruct": { + "input_cost_per_token": 1e-7, + "litellm_provider": "together_ai", + "max_input_tokens": 32768, + "max_tokens": 32768, + "mode": "chat", + "output_cost_per_token": 1e-7, + "source": "https://docs.together.ai/docs/serverless-models" + }, "together_ai/deepseek-ai/DeepSeek-R1": { + "deprecation_date": "2026-05-14", "input_cost_per_token": 0.000003, "litellm_provider": "together_ai", "max_input_tokens": 128000, "max_output_tokens": 20480, "max_tokens": 20480, + "metadata": { + "successor": "together_ai/deepseek-ai/DeepSeek-V4-Pro-0813" + }, "mode": "chat", "output_cost_per_token": 0.000007, "supports_function_calling": true, @@ -34246,6 +40450,7 @@ "supports_tool_choice": true }, "together_ai/deepseek-ai/DeepSeek-R1-0528-tput": { + "deprecation_date": "2026-02-03", "input_cost_per_token": 5.5e-7, "litellm_provider": "together_ai", "max_input_tokens": 128000, @@ -34263,6 +40468,9 @@ "max_input_tokens": 65536, "max_output_tokens": 8192, "max_tokens": 8192, + "metadata": { + "successor": "together_ai/deepseek-ai/DeepSeek-V4-Pro-0813" + }, "mode": "chat", "output_cost_per_token": 0.00000125, "supports_function_calling": true, @@ -34271,9 +40479,13 @@ "supports_tool_choice": true }, "together_ai/deepseek-ai/DeepSeek-V3.1": { + "deprecation_date": "2026-05-14", "input_cost_per_token": 6e-7, "litellm_provider": "together_ai", "max_tokens": 16384, + "metadata": { + "successor": "together_ai/deepseek-ai/DeepSeek-V4-Pro-0813" + }, "mode": "chat", "output_cost_per_token": 0.0000017, "source": "https://www.together.ai/models/deepseek-v3-1", @@ -34284,7 +40496,79 @@ "max_input_tokens": 128000, "max_output_tokens": 16384 }, + "together_ai/deepseek-ai/DeepSeek-V4-Flash-0731": { + "cache_read_input_token_cost": 3e-8, + "input_cost_per_token": 1.4e-7, + "litellm_provider": "together_ai", + "max_input_tokens": 1048576, + "max_tokens": 1048576, + "mode": "chat", + "output_cost_per_token": 2.8e-7, + "source": "https://docs.together.ai/docs/serverless-models", + "supports_function_calling": true, + "supports_parallel_function_calling": true, + "supports_prompt_caching": true, + "supports_response_schema": true, + "supports_tool_choice": true + }, + "together_ai/deepseek-ai/DeepSeek-V4-Pro": { + "deprecation_date": "2026-08-27", + "cache_read_input_token_cost": 2e-7, + "input_cost_per_token": 0.00000174, + "litellm_provider": "together_ai", + "max_input_tokens": 512000, + "max_tokens": 512000, + "mode": "chat", + "output_cost_per_token": 0.00000348, + "source": "https://docs.together.ai/docs/serverless-models", + "supports_function_calling": true, + "supports_parallel_function_calling": true, + "supports_prompt_caching": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_tool_choice": true + }, + "together_ai/deepseek-ai/DeepSeek-V4-Pro-0813": { + "cache_read_input_token_cost": 1.3e-7, + "input_cost_per_token": 0.00000132, + "litellm_provider": "together_ai", + "max_input_tokens": 1048576, + "max_tokens": 1048576, + "mode": "chat", + "output_cost_per_token": 0.00000396, + "source": "https://docs.together.ai/docs/serverless-models", + "supports_function_calling": true, + "supports_parallel_function_calling": true, + "supports_prompt_caching": true, + "supports_response_schema": true, + "supports_tool_choice": true + }, + "together_ai/google/gemma-3n-E4B-it": { + "deprecation_date": "2026-08-25", + "input_cost_per_token": 6e-8, + "litellm_provider": "together_ai", + "max_input_tokens": 32768, + "max_tokens": 32768, + "mode": "chat", + "output_cost_per_token": 1.2e-7, + "source": "https://docs.together.ai/docs/serverless-models" + }, + "together_ai/google/gemma-4-31B-it": { + "input_cost_per_token": 3.9e-7, + "litellm_provider": "together_ai", + "max_input_tokens": 262144, + "max_tokens": 262144, + "mode": "chat", + "output_cost_per_token": 9.7e-7, + "source": "https://docs.together.ai/docs/serverless-models", + "supports_function_calling": true, + "supports_parallel_function_calling": true, + "supports_response_schema": true, + "supports_tool_choice": true, + "supports_vision": true + }, "together_ai/meta-llama/Llama-3.2-3B-Instruct-Turbo": { + "deprecation_date": "2026-03-06", "litellm_provider": "together_ai", "mode": "chat", "supports_function_calling": true, @@ -34293,16 +40577,20 @@ "supports_tool_choice": true }, "together_ai/meta-llama/Llama-3.3-70B-Instruct-Turbo": { - "input_cost_per_token": 8.8e-7, + "input_cost_per_token": 0.00000104, "litellm_provider": "together_ai", + "max_input_tokens": 131072, + "max_tokens": 131072, "mode": "chat", - "output_cost_per_token": 8.8e-7, + "output_cost_per_token": 0.00000104, + "source": "https://docs.together.ai/docs/serverless-models", "supports_function_calling": true, "supports_parallel_function_calling": true, "supports_response_schema": true, "supports_tool_choice": true }, "together_ai/meta-llama/Llama-3.3-70B-Instruct-Turbo-Free": { + "deprecation_date": "2025-11-13", "input_cost_per_token": 0, "litellm_provider": "together_ai", "mode": "chat", @@ -34313,6 +40601,7 @@ "supports_tool_choice": true }, "together_ai/meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8": { + "deprecation_date": "2026-03-31", "input_cost_per_token": 2.7e-7, "litellm_provider": "together_ai", "mode": "chat", @@ -34323,6 +40612,7 @@ "supports_tool_choice": true }, "together_ai/meta-llama/Llama-4-Scout-17B-16E-Instruct": { + "deprecation_date": "2026-02-06", "input_cost_per_token": 1.8e-7, "litellm_provider": "together_ai", "mode": "chat", @@ -34332,7 +40622,18 @@ "supports_response_schema": true, "supports_tool_choice": true }, + "together_ai/meta-llama/Llama-Guard-4-12B": { + "deprecation_date": "2026-08-25", + "input_cost_per_token": 2e-7, + "litellm_provider": "together_ai", + "max_input_tokens": 1048576, + "max_tokens": 1048576, + "mode": "chat", + "output_cost_per_token": 2e-7, + "source": "https://docs.together.ai/docs/serverless-models" + }, "together_ai/meta-llama/Meta-Llama-3.1-405B-Instruct-Turbo": { + "deprecation_date": "2026-02-06", "input_cost_per_token": 0.0000035, "litellm_provider": "together_ai", "mode": "chat", @@ -34343,6 +40644,7 @@ "supports_tool_choice": true }, "together_ai/meta-llama/Meta-Llama-3.1-70B-Instruct-Turbo": { + "deprecation_date": "2026-02-25", "input_cost_per_token": 8.8e-7, "litellm_provider": "together_ai", "mode": "chat", @@ -34353,6 +40655,7 @@ "supports_tool_choice": true }, "together_ai/meta-llama/Meta-Llama-3.1-8B-Instruct-Turbo": { + "deprecation_date": "2026-03-06", "input_cost_per_token": 1.8e-7, "litellm_provider": "together_ai", "mode": "chat", @@ -34362,7 +40665,19 @@ "supports_response_schema": true, "supports_tool_choice": true }, + "together_ai/meta-models/Muse-Glimmer-30B": { + "cache_read_input_token_cost": 4e-8, + "input_cost_per_token": 3.5e-7, + "litellm_provider": "together_ai", + "max_input_tokens": 131072, + "max_tokens": 131072, + "mode": "chat", + "output_cost_per_token": 0.0000015, + "source": "https://docs.together.ai/docs/serverless-models", + "supports_prompt_caching": true + }, "together_ai/mistralai/Mistral-7B-Instruct-v0.1": { + "deprecation_date": "2025-11-13", "litellm_provider": "together_ai", "mode": "chat", "supports_function_calling": true, @@ -34371,6 +40686,7 @@ "supports_tool_choice": true }, "together_ai/mistralai/Mistral-Small-24B-Instruct-2501": { + "deprecation_date": "2026-04-02", "litellm_provider": "together_ai", "mode": "chat", "supports_function_calling": true, @@ -34378,6 +40694,7 @@ "supports_tool_choice": true }, "together_ai/mistralai/Mixtral-8x7B-Instruct-v0.1": { + "deprecation_date": "2026-04-16", "input_cost_per_token": 6e-7, "litellm_provider": "together_ai", "mode": "chat", @@ -34390,6 +40707,9 @@ "together_ai/moonshotai/Kimi-K2-Instruct": { "input_cost_per_token": 0.000001, "litellm_provider": "together_ai", + "metadata": { + "successor": "together_ai/moonshotai/Kimi-K3" + }, "mode": "chat", "output_cost_per_token": 0.000003, "source": "https://www.together.ai/models/kimi-k2-instruct", @@ -34399,9 +40719,13 @@ "supports_tool_choice": true }, "together_ai/moonshotai/Kimi-K2-Instruct-0905": { + "deprecation_date": "2026-03-06", "input_cost_per_token": 0.000001, "litellm_provider": "together_ai", "max_input_tokens": 262144, + "metadata": { + "successor": "together_ai/moonshotai/Kimi-K3" + }, "mode": "chat", "output_cost_per_token": 0.000003, "source": "https://www.together.ai/models/kimi-k2-0905", @@ -34410,11 +40734,14 @@ "supports_tool_choice": true }, "together_ai/moonshotai/Kimi-K2.5": { + "deprecation_date": "2026-05-21", "input_cost_per_token": 5e-7, "litellm_provider": "together_ai", "max_input_tokens": 256000, - "max_output_tokens": 256000, "max_tokens": 256000, + "metadata": { + "successor": "together_ai/moonshotai/Kimi-K3" + }, "mode": "chat", "output_cost_per_token": 0.0000028, "source": "https://www.together.ai/models/kimi-k2-5", @@ -34423,11 +40750,66 @@ "supports_vision": true, "supports_reasoning": true }, + "together_ai/moonshotai/Kimi-K2.7-Code": { + "deprecation_date": "2026-08-27", + "cache_read_input_token_cost": 1.9e-7, + "input_cost_per_token": 9.5e-7, + "litellm_provider": "together_ai", + "max_input_tokens": 262144, + "max_tokens": 262144, + "mode": "chat", + "output_cost_per_token": 0.000004, + "source": "https://docs.together.ai/docs/serverless-models", + "supports_function_calling": true, + "supports_parallel_function_calling": true, + "supports_prompt_caching": true, + "supports_response_schema": true, + "supports_tool_choice": true, + "supports_vision": true + }, + "together_ai/moonshotai/Kimi-K3": { + "cache_read_input_token_cost": 3e-7, + "input_cost_per_token": 0.000003, + "litellm_provider": "together_ai", + "max_input_tokens": 1048576, + "max_tokens": 1048576, + "mode": "chat", + "output_cost_per_token": 0.000015, + "reasoning_effort_levels": [ + "low", + "high", + "max" + ], + "source": "https://docs.together.ai/docs/serverless-models", + "supports_function_calling": true, + "supports_parallel_function_calling": true, + "supports_prompt_caching": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_tool_choice": true, + "supports_vision": true + }, + "together_ai/nvidia/nemotron-3-ultra-550b-a55b": { + "deprecation_date": "2026-08-27", + "cache_read_input_token_cost": 2e-7, + "input_cost_per_token": 6e-7, + "litellm_provider": "together_ai", + "max_input_tokens": 512288, + "max_tokens": 512288, + "mode": "chat", + "output_cost_per_token": 0.0000036, + "source": "https://docs.together.ai/docs/serverless-models", + "supports_function_calling": true, + "supports_parallel_function_calling": true, + "supports_prompt_caching": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_tool_choice": true + }, "together_ai/openai/gpt-oss-120b": { "input_cost_per_token": 1.5e-7, "litellm_provider": "together_ai", "max_input_tokens": 131072, - "max_output_tokens": 131072, "max_tokens": 131072, "mode": "chat", "output_cost_per_token": 6e-7, @@ -34441,7 +40823,7 @@ "together_ai/openai/gpt-oss-20b": { "input_cost_per_token": 5e-8, "litellm_provider": "together_ai", - "max_input_tokens": 128000, + "max_input_tokens": 131072, "mode": "chat", "output_cost_per_token": 2e-7, "source": "https://www.together.ai/models/gpt-oss-20b", @@ -34450,6 +40832,42 @@ "supports_response_schema": true, "supports_tool_choice": true }, + "together_ai/pearl-ai/gemma-4-31b-it": { + "deprecation_date": "2026-08-27", + "input_cost_per_token": 2.8e-7, + "litellm_provider": "together_ai", + "max_input_tokens": 262144, + "max_tokens": 262144, + "mode": "chat", + "output_cost_per_token": 8.6e-7, + "source": "https://docs.together.ai/docs/serverless-models" + }, + "together_ai/thinkingmachines/Inkling": { + "cache_read_input_token_cost": 1.7e-7, + "input_cost_per_token": 0.000001, + "litellm_provider": "together_ai", + "max_input_tokens": 524288, + "max_tokens": 524288, + "mode": "chat", + "output_cost_per_token": 0.00000405, + "source": "https://docs.together.ai/docs/serverless-models", + "supports_function_calling": true, + "supports_parallel_function_calling": true, + "supports_prompt_caching": true, + "supports_response_schema": true, + "supports_tool_choice": true + }, + "together_ai/thinkingmachines/Inkling-Small": { + "cache_read_input_token_cost": 1e-7, + "input_cost_per_token": 5e-7, + "litellm_provider": "together_ai", + "max_input_tokens": 524288, + "max_tokens": 524288, + "mode": "chat", + "output_cost_per_token": 0.0000012, + "source": "https://docs.together.ai/docs/serverless-models", + "supports_prompt_caching": true + }, "together_ai/togethercomputer/CodeLlama-34b-Instruct": { "litellm_provider": "together_ai", "mode": "chat", @@ -34458,6 +40876,7 @@ "supports_tool_choice": true }, "together_ai/zai-org/GLM-4.5-Air-FP8": { + "deprecation_date": "2026-04-02", "input_cost_per_token": 2e-7, "litellm_provider": "together_ai", "max_input_tokens": 128000, @@ -34473,8 +40892,10 @@ "input_cost_per_token": 6e-7, "litellm_provider": "together_ai", "max_input_tokens": 200000, - "max_output_tokens": 200000, "max_tokens": 200000, + "metadata": { + "successor": "together_ai/zai-org/GLM-5.2" + }, "mode": "chat", "output_cost_per_token": 0.0000022, "source": "https://www.together.ai/models/glm-4-6", @@ -34484,11 +40905,14 @@ "supports_tool_choice": true }, "together_ai/zai-org/GLM-4.7": { + "deprecation_date": "2026-04-02", "input_cost_per_token": 4.5e-7, "litellm_provider": "together_ai", "max_input_tokens": 200000, - "max_output_tokens": 200000, "max_tokens": 200000, + "metadata": { + "successor": "together_ai/zai-org/GLM-5.2" + }, "mode": "chat", "output_cost_per_token": 0.000002, "source": "https://www.together.ai/models/glm-4-7", @@ -34497,6 +40921,58 @@ "supports_reasoning": true, "supports_tool_choice": true }, + "together_ai/zai-org/GLM-5.2": { + "cache_read_input_token_cost": 2.6e-7, + "input_cost_per_token": 0.0000014, + "litellm_provider": "together_ai", + "max_input_tokens": 1048575, + "max_output_tokens": 128000, + "max_tokens": 128000, + "mode": "chat", + "output_cost_per_token": 0.0000044, + "source": "https://docs.together.ai/docs/serverless-models", + "supports_function_calling": true, + "supports_parallel_function_calling": true, + "supports_prompt_caching": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_tool_choice": true + }, + "together_ai/zai-org/GLM-5.3": { + "cache_read_input_token_cost": 2.6e-7, + "input_cost_per_token": 0.0000014, + "litellm_provider": "together_ai", + "max_input_tokens": 1048575, + "max_output_tokens": 128000, + "max_tokens": 128000, + "mode": "chat", + "output_cost_per_token": 0.0000044, + "source": "https://docs.together.ai/docs/serverless-models", + "supports_function_calling": true, + "supports_parallel_function_calling": true, + "supports_prompt_caching": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_tool_choice": true + }, + "together_ai/zai-org/GLM-5.3-Flash": { + "cache_read_input_token_cost": 3e-8, + "input_cost_per_token": 1.5e-7, + "litellm_provider": "together_ai", + "max_input_tokens": 1048575, + "max_output_tokens": 128000, + "max_tokens": 128000, + "mode": "chat", + "output_cost_per_token": 5e-7, + "source": "https://docs.together.ai/docs/serverless-models", + "supports_function_calling": true, + "supports_parallel_function_calling": true, + "supports_prompt_caching": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_tool_choice": true, + "supports_vision": true + }, "twelvelabs.pegasus-1-2-v1:0": { "input_cost_per_video_per_second": 0.00049, "output_cost_per_token": 0.0000075, @@ -34764,6 +41240,7 @@ "search_context_size_medium": 0.01 }, "supports_adaptive_thinking": true, + "thinking_always_on": true, "supports_mid_conversation_system": true, "supports_assistant_prefill": false, "supports_computer_use": true, @@ -34781,7 +41258,45 @@ "supports_output_config": true, "bedrock_output_config_effort_ceiling": "xhigh", "supports_parallel_tool_use_config": true, - "prompt_cache_min_tokens": 1024 + "prompt_cache_min_tokens": 512 + }, + "us.anthropic.claude-fable-5-1": { + "cache_creation_input_token_cost": 0.00001375, + "cache_creation_input_token_cost_above_1hr": 0.000022, + "cache_read_input_token_cost": 2.75e-7, + "input_cost_per_token": 0.000011, + "litellm_provider": "bedrock_converse", + "max_input_tokens": 1000000, + "max_output_tokens": 128000, + "max_tokens": 128000, + "mode": "chat", + "output_cost_per_token": 0.000055, + "search_context_cost_per_query": { + "search_context_size_high": 0.01, + "search_context_size_low": 0.01, + "search_context_size_medium": 0.01 + }, + "supports_adaptive_thinking": true, + "thinking_always_on": true, + "supports_mid_conversation_system": true, + "supports_assistant_prefill": false, + "supports_computer_use": true, + "supports_forced_tool_use": false, + "supports_function_calling": true, + "supports_pdf_input": true, + "supports_prompt_caching": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_sampling_params": false, + "supports_tool_choice": true, + "supports_vision": true, + "supports_xhigh_reasoning_effort": true, + "supports_native_structured_output": false, + "supports_max_reasoning_effort": true, + "supports_output_config": true, + "bedrock_output_config_effort_ceiling": "xhigh", + "supports_parallel_tool_use_config": true, + "prompt_cache_min_tokens": 512 }, "us.anthropic.claude-haiku-4-5-20251001-v1:0": { "cache_creation_input_token_cost": 0.000001375, @@ -34807,7 +41322,9 @@ "supports_vision": true, "supports_native_structured_output": true, "supports_parallel_tool_use_config": true, - "prompt_cache_min_tokens": 4096 + "prompt_cache_min_tokens": 4096, + "input_cost_per_token_batches": 5.5e-7, + "output_cost_per_token_batches": 0.00000275 }, "us.anthropic.claude-opus-4-1-20250805-v1:0": { "cache_creation_input_token_cost": 0.00001875, @@ -34896,6 +41413,7 @@ }, "us.anthropic.claude-opus-4-6-v1": { "supports_adaptive_thinking": true, + "supports_legacy_thinking": true, "cache_creation_input_token_cost": 0.000006875, "cache_creation_input_token_cost_above_1hr": 0.000011, "cache_read_input_token_cost": 5.5e-7, @@ -35032,7 +41550,7 @@ "supports_tool_choice": true, "supports_vision": true, "supports_xhigh_reasoning_effort": true, - "supports_native_structured_output": true, + "supports_native_structured_output": false, "supports_max_reasoning_effort": true, "supports_output_config": true, "supports_parallel_tool_use_config": true, @@ -35103,10 +41621,13 @@ "supports_vision": true, "supports_native_structured_output": true, "supports_parallel_tool_use_config": true, - "prompt_cache_min_tokens": 1024 + "prompt_cache_min_tokens": 1024, + "input_cost_per_token_batches": 0.00000165, + "output_cost_per_token_batches": 0.00000825 }, "us.anthropic.claude-sonnet-4-6": { "supports_adaptive_thinking": true, + "supports_legacy_thinking": true, "cache_creation_input_token_cost": 0.000004125, "cache_creation_input_token_cost_above_1hr": 0.0000066, "cache_read_input_token_cost": 3.3e-7, @@ -35168,7 +41689,7 @@ "supports_tool_choice": true, "supports_vision": true, "supports_xhigh_reasoning_effort": true, - "supports_native_structured_output": true, + "supports_native_structured_output": false, "supports_max_reasoning_effort": true, "supports_output_config": true, "bedrock_output_config_effort_ceiling": "xhigh", @@ -35343,6 +41864,84 @@ "supports_function_calling": true, "supports_tool_choice": false }, + "us.openai.gpt-5.6-luna": { + "input_cost_per_token": 2.2e-7, + "input_cost_per_token_above_272k_tokens": 4.4e-7, + "cache_creation_input_token_cost": 2.75e-7, + "cache_creation_input_token_cost_above_272k_tokens": 5.5e-7, + "cache_read_input_token_cost": 2.2e-8, + "cache_read_input_token_cost_above_272k_tokens": 4.4e-8, + "output_cost_per_token": 0.00000132, + "output_cost_per_token_above_272k_tokens": 0.00000198, + "litellm_provider": "bedrock_converse", + "max_input_tokens": 1000000, + "max_output_tokens": 128000, + "max_tokens": 128000, + "mode": "chat", + "supported_modalities": [ + "text", + "image" + ], + "supported_output_modalities": [ + "text" + ], + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_reasoning": true, + "supports_vision": true + }, + "us.openai.gpt-5.6-sol": { + "input_cost_per_token": 0.0000044, + "input_cost_per_token_above_272k_tokens": 0.0000088, + "cache_creation_input_token_cost": 0.0000055, + "cache_creation_input_token_cost_above_272k_tokens": 0.000011, + "cache_read_input_token_cost": 4.4e-7, + "cache_read_input_token_cost_above_272k_tokens": 8.8e-7, + "output_cost_per_token": 0.000022, + "output_cost_per_token_above_272k_tokens": 0.000033, + "litellm_provider": "bedrock_converse", + "max_input_tokens": 1000000, + "max_output_tokens": 128000, + "max_tokens": 128000, + "mode": "chat", + "supported_modalities": [ + "text", + "image" + ], + "supported_output_modalities": [ + "text" + ], + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_reasoning": true, + "supports_vision": true + }, + "us.openai.gpt-5.6-terra": { + "input_cost_per_token": 0.0000022, + "input_cost_per_token_above_272k_tokens": 0.0000044, + "cache_creation_input_token_cost": 0.00000275, + "cache_creation_input_token_cost_above_272k_tokens": 0.0000055, + "cache_read_input_token_cost": 2.2e-7, + "cache_read_input_token_cost_above_272k_tokens": 4.4e-7, + "output_cost_per_token": 0.0000132, + "output_cost_per_token_above_272k_tokens": 0.0000198, + "litellm_provider": "bedrock_converse", + "max_input_tokens": 1000000, + "max_output_tokens": 128000, + "max_tokens": 128000, + "mode": "chat", + "supported_modalities": [ + "text", + "image" + ], + "supported_output_modalities": [ + "text" + ], + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_reasoning": true, + "supports_vision": true + }, "us.twelvelabs.pegasus-1-2-v1:0": { "input_cost_per_video_per_second": 0.00049, "output_cost_per_token": 0.0000075, @@ -35382,7 +41981,7 @@ "max_tokens": 500000, "mode": "chat", "supports_function_calling": true, - "supports_prompt_caching": true, + "supports_prompt_caching": false, "supports_reasoning": true, "supports_tool_choice": true, "supports_vision": true @@ -35697,7 +42296,8 @@ "supports_reasoning": true, "supports_response_schema": true, "supports_tool_choice": true, - "supports_vision": true + "supports_vision": true, + "prompt_cache_min_tokens": 4096 }, "vercel_ai_gateway/anthropic/claude-opus-4": { "cache_creation_input_token_cost": 0.00001875, @@ -35716,7 +42316,8 @@ "supports_reasoning": true, "supports_response_schema": true, "supports_tool_choice": true, - "supports_vision": true + "supports_vision": true, + "prompt_cache_min_tokens": 1024 }, "vercel_ai_gateway/anthropic/claude-opus-4.1": { "cache_creation_input_token_cost": 0.00001875, @@ -35735,7 +42336,8 @@ "supports_reasoning": true, "supports_response_schema": true, "supports_tool_choice": true, - "supports_vision": true + "supports_vision": true, + "prompt_cache_min_tokens": 1024 }, "vercel_ai_gateway/anthropic/claude-opus-4.5": { "cache_creation_input_token_cost": 0.00000625, @@ -35755,10 +42357,12 @@ "supports_response_schema": true, "supports_tool_choice": true, "supports_vision": true, - "supports_output_config": true + "supports_output_config": true, + "prompt_cache_min_tokens": 4096 }, "vercel_ai_gateway/anthropic/claude-opus-4.6": { "supports_adaptive_thinking": true, + "supports_legacy_thinking": true, "cache_creation_input_token_cost": 0.00000625, "cache_read_input_token_cost": 5e-7, "input_cost_per_token": 0.000005, @@ -35776,7 +42380,8 @@ "supports_response_schema": true, "supports_tool_choice": true, "supports_vision": true, - "supports_output_config": true + "supports_output_config": true, + "prompt_cache_min_tokens": 4096 }, "vercel_ai_gateway/anthropic/claude-sonnet-4": { "cache_creation_input_token_cost": 0.00000375, @@ -35795,7 +42400,8 @@ "supports_reasoning": true, "supports_response_schema": true, "supports_tool_choice": true, - "supports_vision": true + "supports_vision": true, + "prompt_cache_min_tokens": 1024 }, "vercel_ai_gateway/anthropic/claude-sonnet-4.5": { "cache_creation_input_token_cost": 0.00000375, @@ -35813,7 +42419,8 @@ "supports_prompt_caching": true, "supports_reasoning": true, "supports_tool_choice": true, - "supports_vision": true + "supports_vision": true, + "prompt_cache_min_tokens": 1024 }, "vercel_ai_gateway/cohere/command-a": { "input_cost_per_token": 0.0000025, @@ -36781,9 +43388,82 @@ "search_context_size_medium": 0.01 }, "supports_adaptive_thinking": true, + "thinking_always_on": true, + "supports_assistant_prefill": false, + "supports_computer_use": true, + "supports_function_calling": true, + "supports_pdf_input": true, + "supports_prompt_caching": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_sampling_params": false, + "supports_tool_choice": true, + "supports_vision": true, + "supports_xhigh_reasoning_effort": true, + "supports_max_reasoning_effort": true, + "prompt_cache_min_tokens": 512 + }, + "vertex_ai/claude-fable-5-1": { + "regional_endpoint_uplift_multiplier": 1.1, + "supports_mid_conversation_system": true, + "cache_creation_input_token_cost": 0.0000125, + "cache_creation_input_token_cost_above_1hr": 0.00002, + "cache_read_input_token_cost": 2.5e-7, + "input_cost_per_token": 0.00001, + "litellm_provider": "vertex_ai-anthropic_models", + "max_input_tokens": 1000000, + "max_output_tokens": 128000, + "max_tokens": 128000, + "mode": "chat", + "output_cost_per_token": 0.00005, + "search_context_cost_per_query": { + "search_context_size_high": 0.01, + "search_context_size_low": 0.01, + "search_context_size_medium": 0.01 + }, + "supports_adaptive_thinking": true, + "thinking_always_on": true, + "supports_assistant_prefill": false, + "supports_computer_use": true, + "supports_forced_tool_use": false, + "supports_function_calling": true, + "supports_native_structured_output": true, + "supports_pdf_input": true, + "supports_prompt_caching": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_sampling_params": false, + "supports_tool_choice": true, + "supports_vision": true, + "supports_xhigh_reasoning_effort": true, + "supports_max_reasoning_effort": true, + "prompt_cache_min_tokens": 512 + }, + "vertex_ai/claude-fable-5-1@default": { + "regional_endpoint_uplift_multiplier": 1.1, + "supports_mid_conversation_system": true, + "cache_creation_input_token_cost": 0.0000125, + "cache_creation_input_token_cost_above_1hr": 0.00002, + "cache_read_input_token_cost": 2.5e-7, + "input_cost_per_token": 0.00001, + "litellm_provider": "vertex_ai-anthropic_models", + "max_input_tokens": 1000000, + "max_output_tokens": 128000, + "max_tokens": 128000, + "mode": "chat", + "output_cost_per_token": 0.00005, + "search_context_cost_per_query": { + "search_context_size_high": 0.01, + "search_context_size_low": 0.01, + "search_context_size_medium": 0.01 + }, + "supports_adaptive_thinking": true, + "thinking_always_on": true, "supports_assistant_prefill": false, "supports_computer_use": true, + "supports_forced_tool_use": false, "supports_function_calling": true, + "supports_native_structured_output": true, "supports_pdf_input": true, "supports_prompt_caching": true, "supports_reasoning": true, @@ -36792,7 +43472,8 @@ "supports_tool_choice": true, "supports_vision": true, "supports_xhigh_reasoning_effort": true, - "supports_max_reasoning_effort": true + "supports_max_reasoning_effort": true, + "prompt_cache_min_tokens": 512 }, "vertex_ai/claude-fable-5@default": { "deprecation_date": "2027-06-08", @@ -36814,6 +43495,7 @@ "search_context_size_medium": 0.01 }, "supports_adaptive_thinking": true, + "thinking_always_on": true, "supports_assistant_prefill": false, "supports_computer_use": true, "supports_function_calling": true, @@ -36825,7 +43507,8 @@ "supports_tool_choice": true, "supports_vision": true, "supports_xhigh_reasoning_effort": true, - "supports_max_reasoning_effort": true + "supports_max_reasoning_effort": true, + "prompt_cache_min_tokens": 512 }, "vertex_ai/claude-haiku-4-5": { "deprecation_date": "2026-10-15", @@ -37008,6 +43691,7 @@ "deprecation_date": "2027-02-05", "regional_endpoint_uplift_multiplier": 1.1, "supports_adaptive_thinking": true, + "supports_legacy_thinking": true, "cache_creation_input_token_cost": 0.00000625, "cache_creation_input_token_cost_above_1hr": 0.00001, "cache_read_input_token_cost": 5e-7, @@ -37040,6 +43724,7 @@ "deprecation_date": "2027-02-05", "regional_endpoint_uplift_multiplier": 1.1, "supports_adaptive_thinking": true, + "supports_legacy_thinking": true, "cache_creation_input_token_cost": 0.00000625, "cache_creation_input_token_cost_above_1hr": 0.00001, "cache_read_input_token_cost": 5e-7, @@ -37394,6 +44079,7 @@ "vertex_ai/claude-sonnet-4-6": { "regional_endpoint_uplift_multiplier": 1.1, "supports_adaptive_thinking": true, + "supports_legacy_thinking": true, "cache_creation_input_token_cost": 0.00000375, "cache_creation_input_token_cost_above_1hr": 0.000006, "cache_read_input_token_cost": 3e-7, @@ -37425,6 +44111,7 @@ "vertex_ai/claude-sonnet-4-6@default": { "regional_endpoint_uplift_multiplier": 1.1, "supports_adaptive_thinking": true, + "supports_legacy_thinking": true, "cache_creation_input_token_cost": 0.00000375, "cache_creation_input_token_cost_above_1hr": 0.000006, "cache_read_input_token_cost": 3e-7, @@ -37627,13 +44314,13 @@ "supports_tool_choice": true }, "vertex_ai/deepseek-ai/deepseek-v3.1-maas": { - "input_cost_per_token": 0.00000135, + "input_cost_per_token": 6e-7, "litellm_provider": "vertex_ai-deepseek_models", "max_input_tokens": 163840, "max_output_tokens": 32768, "max_tokens": 32768, "mode": "chat", - "output_cost_per_token": 0.0000054, + "output_cost_per_token": 0.0000017, "source": "https://cloud.google.com/vertex-ai/generative-ai/pricing#partner-models", "supported_regions": [ "us-central1" @@ -37756,7 +44443,8 @@ "search_context_size_medium": 0.014, "search_context_size_high": 0.014 }, - "web_search_billing_unit": "per_query" + "web_search_billing_unit": "per_query", + "google_maps_grounding_cost_per_query": 0.014 }, "vertex_ai/gemini-3-pro-preview": { "cache_read_input_token_cost": 2e-7, @@ -37869,7 +44557,46 @@ "search_context_size_medium": 0.014, "search_context_size_high": 0.014 }, - "web_search_billing_unit": "per_query" + "web_search_billing_unit": "per_query", + "google_maps_grounding_cost_per_query": 0.014 + }, + "vertex_ai/gemini-3.1-flash-lite-image": { + "cache_read_input_token_cost": 2.5e-8, + "input_cost_per_image": 0.00028, + "input_cost_per_token": 2.5e-7, + "input_cost_per_token_batches": 1.25e-7, + "litellm_provider": "vertex_ai-language-models", + "max_input_tokens": 65536, + "max_output_tokens": 4096, + "max_tokens": 4096, + "mode": "image_generation", + "output_cost_per_image": 0.0336, + "output_cost_per_image_token": 0.00003, + "output_cost_per_token": 0.0000015, + "output_cost_per_token_batches": 7.5e-7, + "source": "https://cloud.google.com/gemini-enterprise-agent-platform/generative-ai/pricing", + "supported_endpoints": [ + "/v1/chat/completions", + "/v1/completions", + "/v1/batch" + ], + "supported_modalities": [ + "text", + "image", + "video" + ], + "supported_output_modalities": [ + "text", + "image" + ], + "supports_function_calling": false, + "supports_pdf_input": true, + "supports_prompt_caching": true, + "supports_reasoning": false, + "supports_response_schema": false, + "supports_system_messages": true, + "supports_video_input": true, + "supports_vision": true }, "vertex_ai/gemini-3.1-flash-lite-preview": { "cache_read_input_token_cost": 2.5e-8, @@ -37917,7 +44644,8 @@ "search_context_size_medium": 0.014, "search_context_size_high": 0.014 }, - "web_search_billing_unit": "per_query" + "web_search_billing_unit": "per_query", + "google_maps_grounding_cost_per_query": 0.014 }, "vertex_ai/gemini-3.1-pro-preview": { "prompt_cache_min_tokens": 4096, @@ -37975,7 +44703,8 @@ "search_context_size_medium": 0.014, "search_context_size_high": 0.014 }, - "web_search_billing_unit": "per_query" + "web_search_billing_unit": "per_query", + "google_maps_grounding_cost_per_query": 0.014 }, "vertex_ai/gemini-3.1-pro-preview-customtools": { "prompt_cache_min_tokens": 4096, @@ -38033,14 +44762,15 @@ "search_context_size_medium": 0.014, "search_context_size_high": 0.014 }, - "web_search_billing_unit": "per_query" + "web_search_billing_unit": "per_query", + "google_maps_grounding_cost_per_query": 0.014 }, "vertex_ai/gemini-3.5-flash": { "prompt_cache_min_tokens": 4096, "deprecation_date": "2027-05-19", "cache_read_input_token_cost": 1.5e-7, "input_cost_per_token": 0.0000015, - "input_cost_per_audio_token": 0.000001, + "input_cost_per_audio_token": 0.0000015, "litellm_provider": "vertex_ai", "max_input_tokens": 1048576, "max_output_tokens": 65535, @@ -38079,7 +44809,7 @@ "supports_web_search": true, "supports_native_streaming": true, "input_cost_per_token_priority": 0.0000027, - "input_cost_per_audio_token_priority": 0.0000018, + "input_cost_per_audio_token_priority": 0.0000027, "output_cost_per_token_priority": 0.0000162, "cache_read_input_token_cost_priority": 2.7e-7, "search_context_cost_per_query": { @@ -38087,12 +44817,18 @@ "search_context_size_medium": 0.014, "search_context_size_high": 0.014 }, - "web_search_billing_unit": "per_query" + "web_search_billing_unit": "per_query", + "google_maps_grounding_cost_per_query": 0.014, + "input_cost_per_token_batches": 7.5e-7, + "output_cost_per_token_batches": 0.0000045, + "input_cost_per_token_flex": 7.5e-7, + "output_cost_per_token_flex": 0.0000045, + "cache_read_input_token_cost_flex": 7.5e-8 }, "vertex_ai/gemini-3.5-flash-lite": { "deprecation_date": "2027-07-21", "cache_read_input_token_cost": 3e-8, - "cache_read_input_token_cost_flex": 2e-8, + "cache_read_input_token_cost_flex": 1.5e-8, "cache_read_input_token_cost_priority": 5e-8, "input_cost_per_token": 3e-7, "input_cost_per_token_batches": 1.5e-7, @@ -38144,7 +44880,8 @@ "search_context_size_medium": 0.014, "search_context_size_high": 0.014 }, - "web_search_billing_unit": "per_query" + "web_search_billing_unit": "per_query", + "google_maps_grounding_cost_per_query": 0.014 }, "vertex_ai/gemini-3.6-flash": { "prompt_cache_min_tokens": 4096, @@ -38200,7 +44937,8 @@ "search_context_size_medium": 0.014, "search_context_size_high": 0.014 }, - "web_search_billing_unit": "per_query" + "web_search_billing_unit": "per_query", + "google_maps_grounding_cost_per_query": 0.014 }, "vertex_ai/gemini-3.7-flash": { "prompt_cache_min_tokens": 4096, @@ -38256,7 +44994,8 @@ "search_context_size_medium": 0.014, "search_context_size_high": 0.014 }, - "web_search_billing_unit": "per_query" + "web_search_billing_unit": "per_query", + "google_maps_grounding_cost_per_query": 0.014 }, "vertex_ai/google/gemma-4-26b-a4b-it-maas": { "input_cost_per_token": 1.5e-7, @@ -38676,13 +45415,13 @@ "supports_web_search": true }, "vertex_ai/openai/gpt-oss-120b-maas": { - "input_cost_per_token": 1.5e-7, + "input_cost_per_token": 9e-8, "litellm_provider": "vertex_ai-openai_models", "max_input_tokens": 131072, "max_output_tokens": 32768, "max_tokens": 32768, "mode": "chat", - "output_cost_per_token": 6e-7, + "output_cost_per_token": 3.6e-7, "source": "https://console.cloud.google.com/vertex-ai/publishers/openai/model-garden/gpt-oss-120b-maas", "supports_reasoning": true }, @@ -38698,13 +45437,13 @@ "supports_reasoning": true }, "vertex_ai/qwen/qwen3-235b-a22b-instruct-2507-maas": { - "input_cost_per_token": 2.5e-7, + "input_cost_per_token": 2.2e-7, "litellm_provider": "vertex_ai-qwen_models", "max_input_tokens": 262144, "max_output_tokens": 16384, "max_tokens": 16384, "mode": "chat", - "output_cost_per_token": 0.000001, + "output_cost_per_token": 8.8e-7, "source": "https://cloud.google.com/vertex-ai/generative-ai/pricing", "supported_regions": [ "global", @@ -38714,13 +45453,13 @@ "supports_tool_choice": true }, "vertex_ai/qwen/qwen3-coder-480b-a35b-instruct-maas": { - "input_cost_per_token": 0.000001, + "input_cost_per_token": 2.2e-7, "litellm_provider": "vertex_ai-qwen_models", "max_input_tokens": 262144, "max_output_tokens": 32768, "max_tokens": 32768, "mode": "chat", - "output_cost_per_token": 0.000004, + "output_cost_per_token": 0.0000018, "source": "https://cloud.google.com/vertex-ai/generative-ai/pricing", "supported_regions": [ "global" @@ -38767,7 +45506,7 @@ "max_tokens": 2000000, "mode": "chat", "output_cost_per_token": 5e-7, - "source": "https://docs.x.ai/docs/models (Vertex AI Model Garden)", + "source": "https://docs.x.ai/developers/models", "supports_function_calling": true, "supports_response_schema": true, "supports_tool_choice": true, @@ -38783,7 +45522,7 @@ "max_tokens": 2000000, "mode": "chat", "output_cost_per_token": 5e-7, - "source": "https://docs.x.ai/docs/models (Vertex AI Model Garden)", + "source": "https://docs.x.ai/developers/models", "supports_function_calling": true, "supports_reasoning": true, "supports_response_schema": true, @@ -38800,7 +45539,7 @@ "max_tokens": 2000000, "mode": "chat", "output_cost_per_token": 0.000006, - "source": "https://docs.x.ai/docs/models (Vertex AI Model Garden)", + "source": "https://docs.x.ai/developers/models", "supports_function_calling": true, "supports_response_schema": true, "supports_tool_choice": true, @@ -38816,7 +45555,7 @@ "max_tokens": 2000000, "mode": "chat", "output_cost_per_token": 0.000006, - "source": "https://docs.x.ai/docs/models (Vertex AI Model Garden)", + "source": "https://docs.x.ai/developers/models", "supports_function_calling": true, "supports_reasoning": true, "supports_response_schema": true, @@ -38864,7 +45603,7 @@ "max_output_tokens": 128000, "max_tokens": 128000, "mode": "chat", - "source": "https://www.volcengine.com/docs/82379/1330310", + "source": "https://docs.volcengine.com/docs/82379/1330310", "supports_function_calling": true, "supports_reasoning": true, "supports_tool_choice": false, @@ -38902,7 +45641,7 @@ "max_output_tokens": 128000, "max_tokens": 128000, "mode": "chat", - "source": "https://www.volcengine.com/docs/82379/1330310", + "source": "https://docs.volcengine.com/docs/82379/1330310", "supports_function_calling": true, "supports_reasoning": true, "supports_tool_choice": false, @@ -38940,7 +45679,7 @@ "max_output_tokens": 128000, "max_tokens": 128000, "mode": "chat", - "source": "https://www.volcengine.com/docs/82379/1330310", + "source": "https://docs.volcengine.com/docs/82379/1330310", "supports_function_calling": true, "supports_reasoning": true, "supports_tool_choice": false, @@ -38978,7 +45717,7 @@ "max_output_tokens": 128000, "max_tokens": 128000, "mode": "chat", - "source": "https://www.volcengine.com/docs/82379/1330310", + "source": "https://docs.volcengine.com/docs/82379/1330310", "supports_function_calling": true, "supports_reasoning": true, "supports_tool_choice": false, @@ -39010,6 +45749,16 @@ } ] }, + "wandb/JetBrains/Mellum2-12B-A2.5B-Instruct": { + "max_tokens": 131072, + "max_input_tokens": 131072, + "input_cost_per_token": 5e-8, + "output_cost_per_token": 1e-7, + "litellm_provider": "wandb", + "mode": "chat", + "supports_vision": false, + "source": "https://wandb.ai/site/pricing/tokens/" + }, "wandb/MiniMaxAI/MiniMax-M2.5": { "max_tokens": 197000, "max_input_tokens": 197000, @@ -39023,6 +45772,28 @@ "supports_reasoning": true, "supports_response_schema": true }, + "wandb/MiniMaxAI/MiniMax-M3": { + "max_tokens": 262144, + "max_input_tokens": 262144, + "input_cost_per_token": 2.3e-7, + "output_cost_per_token": 9.6e-7, + "cache_read_input_token_cost": 5e-8, + "supports_prompt_caching": true, + "litellm_provider": "wandb", + "mode": "chat", + "supports_vision": true, + "source": "https://wandb.ai/site/pricing/tokens/" + }, + "wandb/OpenPipe/Qwen3-14B-Instruct": { + "max_tokens": 32768, + "max_input_tokens": 32768, + "input_cost_per_token": 5e-8, + "output_cost_per_token": 2.2e-7, + "litellm_provider": "wandb", + "mode": "chat", + "supports_vision": false, + "source": "https://wandb.ai/site/pricing/tokens/" + }, "wandb/Qwen/Qwen3-235B-A22B-Instruct-2507": { "max_tokens": 262144, "max_input_tokens": 262144, @@ -39041,14 +45812,69 @@ "litellm_provider": "wandb", "mode": "chat" }, + "wandb/Qwen/Qwen3-30B-A3B-Instruct-2507": { + "max_tokens": 262144, + "max_input_tokens": 262144, + "input_cost_per_token": 1e-7, + "output_cost_per_token": 3e-7, + "litellm_provider": "wandb", + "mode": "chat", + "supports_vision": false, + "source": "https://wandb.ai/site/pricing/tokens/" + }, "wandb/Qwen/Qwen3-Coder-480B-A35B-Instruct": { "max_tokens": 262144, "max_input_tokens": 262144, "max_output_tokens": 262144, - "input_cost_per_token": 0.1, - "output_cost_per_token": 0.15, + "input_cost_per_token": 0.000001, + "output_cost_per_token": 0.0000015, "litellm_provider": "wandb", - "mode": "chat" + "mode": "chat", + "source": "https://wandb.ai/site/pricing/tokens/" + }, + "wandb/Qwen/Qwen3.5-35B-A3B": { + "max_tokens": 262144, + "max_input_tokens": 262144, + "input_cost_per_token": 2.5e-7, + "output_cost_per_token": 0.00000125, + "litellm_provider": "wandb", + "mode": "chat", + "supports_vision": true, + "source": "https://wandb.ai/site/pricing/tokens/" + }, + "wandb/Qwen/Qwen3.6-27B": { + "max_tokens": 262144, + "max_input_tokens": 262144, + "input_cost_per_token": 6e-7, + "output_cost_per_token": 0.0000036, + "cache_read_input_token_cost": 1.2e-7, + "supports_prompt_caching": true, + "litellm_provider": "wandb", + "mode": "chat", + "supports_vision": true, + "source": "https://wandb.ai/site/pricing/tokens/" + }, + "wandb/Qwen/Qwen3.6-35B-A3B": { + "max_tokens": 262144, + "max_input_tokens": 262144, + "input_cost_per_token": 2.5e-7, + "output_cost_per_token": 0.00000125, + "litellm_provider": "wandb", + "mode": "chat", + "supports_vision": true, + "source": "https://wandb.ai/site/pricing/tokens/" + }, + "wandb/Qwen/Qwen3.8-27B": { + "max_tokens": 262144, + "max_input_tokens": 262144, + "input_cost_per_token": 4e-7, + "output_cost_per_token": 0.000003, + "cache_read_input_token_cost": 1.5e-7, + "supports_prompt_caching": true, + "litellm_provider": "wandb", + "mode": "chat", + "supports_vision": true, + "source": "https://wandb.ai/site/pricing/tokens/" }, "wandb/deepseek-ai/DeepSeek-R1-0528": { "max_tokens": 161000, @@ -39070,30 +45896,99 @@ }, "wandb/deepseek-ai/DeepSeek-V3.1": { "max_tokens": 128000, - "max_input_tokens": 128000, + "max_input_tokens": 161000, "max_output_tokens": 128000, - "input_cost_per_token": 0.055, - "output_cost_per_token": 0.165, + "input_cost_per_token": 5.5e-7, + "output_cost_per_token": 0.00000165, "litellm_provider": "wandb", - "mode": "chat" + "mode": "chat", + "source": "https://wandb.ai/site/pricing/tokens/" + }, + "wandb/deepseek-ai/DeepSeek-V4-Flash": { + "max_tokens": 1048576, + "max_input_tokens": 1048576, + "input_cost_per_token": 1.4e-7, + "output_cost_per_token": 2.8e-7, + "cache_read_input_token_cost": 7e-8, + "supports_prompt_caching": true, + "litellm_provider": "wandb", + "mode": "chat", + "supports_vision": false, + "source": "https://wandb.ai/site/pricing/tokens/" + }, + "wandb/deepseek-ai/DeepSeek-V4-Flash-0731": { + "max_tokens": 262144, + "max_input_tokens": 262144, + "input_cost_per_token": 1.3e-7, + "output_cost_per_token": 2.8e-7, + "cache_read_input_token_cost": 7e-8, + "supports_prompt_caching": true, + "litellm_provider": "wandb", + "mode": "chat", + "supports_vision": false, + "source": "https://wandb.ai/site/pricing/tokens/" + }, + "wandb/deepseek-ai/DeepSeek-V4-Pro": { + "max_tokens": 1048576, + "max_input_tokens": 1048576, + "input_cost_per_token": 0.00000115, + "output_cost_per_token": 0.00000255, + "cache_read_input_token_cost": 2e-7, + "supports_prompt_caching": true, + "litellm_provider": "wandb", + "mode": "chat", + "supports_vision": false, + "source": "https://wandb.ai/site/pricing/tokens/" + }, + "wandb/google/gemma-4-31B-it": { + "max_tokens": 262144, + "max_input_tokens": 262144, + "input_cost_per_token": 1e-7, + "output_cost_per_token": 3.4e-7, + "litellm_provider": "wandb", + "mode": "chat", + "supports_vision": true, + "source": "https://wandb.ai/site/pricing/tokens/" + }, + "wandb/ibm-granite/granite-4.1-8b": { + "max_tokens": 131072, + "max_input_tokens": 131072, + "input_cost_per_token": 5e-8, + "output_cost_per_token": 1e-7, + "litellm_provider": "wandb", + "mode": "chat", + "supports_vision": false, + "source": "https://wandb.ai/site/pricing/tokens/" + }, + "wandb/meta-llama/Llama-3.1-70B-Instruct": { + "max_tokens": 128000, + "max_input_tokens": 128000, + "input_cost_per_token": 8e-7, + "output_cost_per_token": 8e-7, + "litellm_provider": "wandb", + "mode": "chat", + "supports_vision": false, + "source": "https://wandb.ai/site/pricing/tokens/" }, "wandb/meta-llama/Llama-3.1-8B-Instruct": { "max_tokens": 128000, "max_input_tokens": 128000, "max_output_tokens": 128000, - "input_cost_per_token": 0.022, - "output_cost_per_token": 0.022, + "input_cost_per_token": 2.2e-7, + "output_cost_per_token": 2.2e-7, "litellm_provider": "wandb", - "mode": "chat" + "mode": "chat", + "source": "https://wandb.ai/site/pricing/tokens/" }, "wandb/meta-llama/Llama-3.3-70B-Instruct": { "max_tokens": 128000, "max_input_tokens": 128000, "max_output_tokens": 128000, - "input_cost_per_token": 0.071, - "output_cost_per_token": 0.071, + "input_cost_per_token": 7.1e-7, + "output_cost_per_token": 7.1e-7, "litellm_provider": "wandb", - "mode": "chat" + "mode": "chat", + "source": "https://wandb.ai/site/pricing/tokens/" }, "wandb/meta-llama/Llama-4-Scout-17B-16E-Instruct": { "max_tokens": 64000, @@ -39137,23 +46032,73 @@ "supports_response_schema": true, "supports_vision": true }, + "wandb/moonshotai/Kimi-K2.6": { + "max_tokens": 262144, + "max_input_tokens": 262144, + "input_cost_per_token": 6.5e-7, + "output_cost_per_token": 0.00000341, + "cache_read_input_token_cost": 1.5e-7, + "supports_prompt_caching": true, + "litellm_provider": "wandb", + "mode": "chat", + "supports_vision": true, + "source": "https://wandb.ai/site/pricing/tokens/" + }, + "wandb/moonshotai/Kimi-K2.7-Code": { + "max_tokens": 262144, + "max_input_tokens": 262144, + "input_cost_per_token": 7.1e-7, + "output_cost_per_token": 0.0000035, + "cache_read_input_token_cost": 1.5e-7, + "supports_prompt_caching": true, + "litellm_provider": "wandb", + "mode": "chat", + "supports_vision": true, + "source": "https://wandb.ai/site/pricing/tokens/" + }, + "wandb/nvidia/NVIDIA-Nemotron-3-Ultra-550B-A55B": { + "max_tokens": 262144, + "max_input_tokens": 262144, + "input_cost_per_token": 7.5e-7, + "output_cost_per_token": 0.00000275, + "cache_read_input_token_cost": 1.5e-7, + "supports_prompt_caching": true, + "litellm_provider": "wandb", + "mode": "chat", + "supports_vision": false, + "source": "https://wandb.ai/site/pricing/tokens/" + }, + "wandb/nvidia/NVIDIA-Nemotron-3.5-Lightning-30B-A3B": { + "max_tokens": 262144, + "max_input_tokens": 262144, + "input_cost_per_token": 1e-7, + "output_cost_per_token": 2.5e-7, + "cache_read_input_token_cost": 5e-8, + "supports_prompt_caching": true, + "litellm_provider": "wandb", + "mode": "chat", + "supports_vision": false, + "source": "https://wandb.ai/site/pricing/tokens/" + }, "wandb/openai/gpt-oss-120b": { "max_tokens": 131072, "max_input_tokens": 131072, "max_output_tokens": 131072, - "input_cost_per_token": 0.015, - "output_cost_per_token": 0.06, + "input_cost_per_token": 3e-8, + "output_cost_per_token": 1.7e-7, "litellm_provider": "wandb", - "mode": "chat" + "mode": "chat", + "source": "https://wandb.ai/site/pricing/tokens/" }, "wandb/openai/gpt-oss-20b": { "max_tokens": 131072, "max_input_tokens": 131072, "max_output_tokens": 131072, - "input_cost_per_token": 0.005, - "output_cost_per_token": 0.02, + "input_cost_per_token": 3e-8, + "output_cost_per_token": 1.3e-7, "litellm_provider": "wandb", - "mode": "chat" + "mode": "chat", + "source": "https://wandb.ai/site/pricing/tokens/" }, "wandb/zai-org/GLM-4.5": { "max_tokens": 131072, @@ -39164,6 +46109,18 @@ "litellm_provider": "wandb", "mode": "chat" }, + "wandb/zai-org/GLM-5.2": { + "max_tokens": 262144, + "max_input_tokens": 262144, + "input_cost_per_token": 7.6e-7, + "output_cost_per_token": 0.00000242, + "cache_read_input_token_cost": 1.4e-7, + "supports_prompt_caching": true, + "litellm_provider": "wandb", + "mode": "chat", + "supports_vision": false, + "source": "https://wandb.ai/site/pricing/tokens/" + }, "watsonx/bigscience/mt0-xxl-13b": { "max_tokens": 8192, "max_input_tokens": 8192, @@ -39614,232 +46571,278 @@ "supports_web_search": true }, "xai/grok-3": { - "cache_read_input_token_cost": 7.5e-7, - "input_cost_per_token": 0.000003, + "cache_read_input_token_cost": 2e-7, + "input_cost_per_token": 0.00000125, "litellm_provider": "xai", "max_input_tokens": 131072, "max_output_tokens": 131072, "max_tokens": 131072, "mode": "chat", - "output_cost_per_token": 0.000015, + "output_cost_per_token": 0.0000025, "source": "https://x.ai/api#pricing", "supports_function_calling": true, "supports_prompt_caching": true, "supports_response_schema": false, "supports_tool_choice": true, "supports_web_search": true, - "deprecation_date": "2026-05-15" + "deprecation_date": "2026-05-15", + "input_cost_per_token_above_200k_tokens": 0.0000025, + "output_cost_per_token_above_200k_tokens": 0.000005, + "cache_read_input_token_cost_above_200k_tokens": 4e-7 }, "xai/grok-3-beta": { - "cache_read_input_token_cost": 7.5e-7, - "input_cost_per_token": 0.000003, + "cache_read_input_token_cost": 2e-7, + "input_cost_per_token": 0.00000125, "litellm_provider": "xai", "max_input_tokens": 131072, "max_output_tokens": 131072, "max_tokens": 131072, "mode": "chat", - "output_cost_per_token": 0.000015, + "output_cost_per_token": 0.0000025, "source": "https://x.ai/api#pricing", "supports_function_calling": true, "supports_prompt_caching": true, "supports_response_schema": false, "supports_tool_choice": true, - "supports_web_search": true + "supports_web_search": true, + "deprecation_date": "2026-05-15", + "input_cost_per_token_above_200k_tokens": 0.0000025, + "output_cost_per_token_above_200k_tokens": 0.000005, + "cache_read_input_token_cost_above_200k_tokens": 4e-7 }, "xai/grok-3-fast-beta": { - "cache_read_input_token_cost": 0.00000125, - "input_cost_per_token": 0.000005, + "cache_read_input_token_cost": 2e-7, + "input_cost_per_token": 0.00000125, "litellm_provider": "xai", "max_input_tokens": 131072, "max_output_tokens": 131072, "max_tokens": 131072, "mode": "chat", - "output_cost_per_token": 0.000025, + "output_cost_per_token": 0.0000025, "source": "https://x.ai/api#pricing", "supports_function_calling": true, "supports_prompt_caching": true, "supports_response_schema": false, "supports_tool_choice": true, - "supports_web_search": true + "supports_web_search": true, + "deprecation_date": "2026-05-15", + "input_cost_per_token_above_200k_tokens": 0.0000025, + "output_cost_per_token_above_200k_tokens": 0.000005, + "cache_read_input_token_cost_above_200k_tokens": 4e-7 }, "xai/grok-3-fast-latest": { - "cache_read_input_token_cost": 0.00000125, - "input_cost_per_token": 0.000005, + "cache_read_input_token_cost": 2e-7, + "input_cost_per_token": 0.00000125, "litellm_provider": "xai", "max_input_tokens": 131072, "max_output_tokens": 131072, "max_tokens": 131072, "mode": "chat", - "output_cost_per_token": 0.000025, + "output_cost_per_token": 0.0000025, "source": "https://x.ai/api#pricing", "supports_function_calling": true, "supports_prompt_caching": true, "supports_response_schema": false, "supports_tool_choice": true, - "supports_web_search": true + "supports_web_search": true, + "deprecation_date": "2026-05-15", + "input_cost_per_token_above_200k_tokens": 0.0000025, + "output_cost_per_token_above_200k_tokens": 0.000005, + "cache_read_input_token_cost_above_200k_tokens": 4e-7 }, "xai/grok-3-latest": { - "cache_read_input_token_cost": 7.5e-7, - "input_cost_per_token": 0.000003, + "cache_read_input_token_cost": 2e-7, + "input_cost_per_token": 0.00000125, "litellm_provider": "xai", "max_input_tokens": 131072, "max_output_tokens": 131072, "max_tokens": 131072, "mode": "chat", - "output_cost_per_token": 0.000015, + "output_cost_per_token": 0.0000025, "source": "https://x.ai/api#pricing", "supports_function_calling": true, "supports_prompt_caching": true, "supports_response_schema": false, "supports_tool_choice": true, - "supports_web_search": true + "supports_web_search": true, + "deprecation_date": "2026-05-15", + "input_cost_per_token_above_200k_tokens": 0.0000025, + "output_cost_per_token_above_200k_tokens": 0.000005, + "cache_read_input_token_cost_above_200k_tokens": 4e-7 }, "xai/grok-3-mini": { - "cache_read_input_token_cost": 7.5e-8, + "cache_read_input_token_cost": 2e-7, "deprecation_date": "2026-02-28", - "input_cost_per_token": 3e-7, + "input_cost_per_token": 0.00000125, "litellm_provider": "xai", "max_input_tokens": 131072, "max_output_tokens": 131072, "max_tokens": 131072, "mode": "chat", - "output_cost_per_token": 5e-7, + "output_cost_per_token": 0.0000025, "source": "https://x.ai/api#pricing", "supports_function_calling": true, "supports_prompt_caching": true, "supports_reasoning": true, "supports_response_schema": false, "supports_tool_choice": true, - "supports_web_search": true + "supports_web_search": true, + "input_cost_per_token_above_200k_tokens": 0.0000025, + "output_cost_per_token_above_200k_tokens": 0.000005, + "cache_read_input_token_cost_above_200k_tokens": 4e-7 }, "xai/grok-3-mini-beta": { - "cache_read_input_token_cost": 7.5e-8, + "cache_read_input_token_cost": 2e-7, "deprecation_date": "2026-02-28", - "input_cost_per_token": 3e-7, + "input_cost_per_token": 0.00000125, "litellm_provider": "xai", "max_input_tokens": 131072, "max_output_tokens": 131072, "max_tokens": 131072, "mode": "chat", - "output_cost_per_token": 5e-7, + "output_cost_per_token": 0.0000025, "source": "https://x.ai/api#pricing", "supports_function_calling": true, "supports_prompt_caching": true, "supports_reasoning": true, "supports_response_schema": false, "supports_tool_choice": true, - "supports_web_search": true + "supports_web_search": true, + "input_cost_per_token_above_200k_tokens": 0.0000025, + "output_cost_per_token_above_200k_tokens": 0.000005, + "cache_read_input_token_cost_above_200k_tokens": 4e-7 }, "xai/grok-3-mini-fast": { - "cache_read_input_token_cost": 1.5e-7, - "input_cost_per_token": 6e-7, + "cache_read_input_token_cost": 2e-7, + "input_cost_per_token": 0.00000125, "litellm_provider": "xai", "max_input_tokens": 131072, "max_output_tokens": 131072, "max_tokens": 131072, "mode": "chat", - "output_cost_per_token": 0.000004, + "output_cost_per_token": 0.0000025, "source": "https://x.ai/api#pricing", "supports_function_calling": true, "supports_prompt_caching": true, "supports_reasoning": true, "supports_response_schema": false, "supports_tool_choice": true, - "supports_web_search": true + "supports_web_search": true, + "deprecation_date": "2026-02-28", + "input_cost_per_token_above_200k_tokens": 0.0000025, + "output_cost_per_token_above_200k_tokens": 0.000005, + "cache_read_input_token_cost_above_200k_tokens": 4e-7 }, "xai/grok-3-mini-fast-beta": { - "cache_read_input_token_cost": 1.5e-7, - "input_cost_per_token": 6e-7, + "cache_read_input_token_cost": 2e-7, + "input_cost_per_token": 0.00000125, "litellm_provider": "xai", "max_input_tokens": 131072, "max_output_tokens": 131072, "max_tokens": 131072, "mode": "chat", - "output_cost_per_token": 0.000004, + "output_cost_per_token": 0.0000025, "source": "https://x.ai/api#pricing", "supports_function_calling": true, "supports_prompt_caching": true, "supports_reasoning": true, "supports_response_schema": false, "supports_tool_choice": true, - "supports_web_search": true + "supports_web_search": true, + "deprecation_date": "2026-02-28", + "input_cost_per_token_above_200k_tokens": 0.0000025, + "output_cost_per_token_above_200k_tokens": 0.000005, + "cache_read_input_token_cost_above_200k_tokens": 4e-7 }, "xai/grok-3-mini-fast-latest": { - "cache_read_input_token_cost": 1.5e-7, - "input_cost_per_token": 6e-7, + "cache_read_input_token_cost": 2e-7, + "input_cost_per_token": 0.00000125, "litellm_provider": "xai", "max_input_tokens": 131072, "max_output_tokens": 131072, "max_tokens": 131072, "mode": "chat", - "output_cost_per_token": 0.000004, + "output_cost_per_token": 0.0000025, "source": "https://x.ai/api#pricing", "supports_function_calling": true, "supports_prompt_caching": true, "supports_reasoning": true, "supports_response_schema": false, "supports_tool_choice": true, - "supports_web_search": true + "supports_web_search": true, + "deprecation_date": "2026-02-28", + "input_cost_per_token_above_200k_tokens": 0.0000025, + "output_cost_per_token_above_200k_tokens": 0.000005, + "cache_read_input_token_cost_above_200k_tokens": 4e-7 }, "xai/grok-3-mini-latest": { - "cache_read_input_token_cost": 7.5e-8, - "input_cost_per_token": 3e-7, + "cache_read_input_token_cost": 2e-7, + "input_cost_per_token": 0.00000125, "litellm_provider": "xai", "max_input_tokens": 131072, "max_output_tokens": 131072, "max_tokens": 131072, "mode": "chat", - "output_cost_per_token": 5e-7, + "output_cost_per_token": 0.0000025, "source": "https://x.ai/api#pricing", "supports_function_calling": true, "supports_prompt_caching": true, "supports_reasoning": true, "supports_response_schema": false, "supports_tool_choice": true, - "supports_web_search": true + "supports_web_search": true, + "deprecation_date": "2026-02-28", + "input_cost_per_token_above_200k_tokens": 0.0000025, + "output_cost_per_token_above_200k_tokens": 0.000005, + "cache_read_input_token_cost_above_200k_tokens": 4e-7 }, "xai/grok-4": { - "input_cost_per_token": 0.000003, + "input_cost_per_token": 0.00000125, "litellm_provider": "xai", "max_input_tokens": 256000, "max_output_tokens": 256000, "max_tokens": 256000, "mode": "chat", - "output_cost_per_token": 0.000015, + "output_cost_per_token": 0.0000025, "source": "https://docs.x.ai/docs/models", "supports_function_calling": true, "supports_prompt_caching": true, "supports_tool_choice": true, - "supports_web_search": true + "supports_web_search": true, + "deprecation_date": "2026-05-15", + "cache_read_input_token_cost": 2e-7, + "input_cost_per_token_above_200k_tokens": 0.0000025, + "output_cost_per_token_above_200k_tokens": 0.000005, + "cache_read_input_token_cost_above_200k_tokens": 4e-7 }, "xai/grok-4-0709": { - "input_cost_per_token": 0.000003, - "input_cost_per_token_above_128k_tokens": 0.000006, + "input_cost_per_token": 0.00000125, "litellm_provider": "xai", "max_input_tokens": 256000, "max_output_tokens": 256000, "max_tokens": 256000, "mode": "chat", - "output_cost_per_token": 0.000015, - "output_cost_per_token_above_128k_tokens": 0.00003, + "output_cost_per_token": 0.0000025, "source": "https://docs.x.ai/docs/models", "supports_function_calling": true, "supports_prompt_caching": true, "supports_tool_choice": true, "supports_web_search": true, - "deprecation_date": "2026-05-15" + "deprecation_date": "2026-05-15", + "cache_read_input_token_cost": 2e-7, + "input_cost_per_token_above_200k_tokens": 0.0000025, + "output_cost_per_token_above_200k_tokens": 0.000005, + "cache_read_input_token_cost_above_200k_tokens": 4e-7 }, "xai/grok-4-1-fast": { - "cache_read_input_token_cost": 5e-8, - "input_cost_per_token": 2e-7, - "input_cost_per_token_above_128k_tokens": 4e-7, + "cache_read_input_token_cost": 2e-7, + "input_cost_per_token": 0.00000125, "litellm_provider": "xai", "max_input_tokens": 2000000, "max_output_tokens": 2000000, "max_tokens": 2000000, "mode": "chat", - "output_cost_per_token": 5e-7, - "output_cost_per_token_above_128k_tokens": 0.000001, + "output_cost_per_token": 0.0000025, "source": "https://docs.x.ai/docs/models/grok-4-1-fast-reasoning", "supports_audio_input": true, "supports_function_calling": true, @@ -39848,19 +46851,21 @@ "supports_response_schema": true, "supports_tool_choice": true, "supports_vision": true, - "supports_web_search": true + "supports_web_search": true, + "deprecation_date": "2026-05-15", + "input_cost_per_token_above_200k_tokens": 0.0000025, + "output_cost_per_token_above_200k_tokens": 0.000005, + "cache_read_input_token_cost_above_200k_tokens": 4e-7 }, "xai/grok-4-1-fast-non-reasoning": { - "cache_read_input_token_cost": 5e-8, - "input_cost_per_token": 2e-7, - "input_cost_per_token_above_128k_tokens": 4e-7, + "cache_read_input_token_cost": 2e-7, + "input_cost_per_token": 0.00000125, "litellm_provider": "xai", "max_input_tokens": 2000000, "max_output_tokens": 2000000, "max_tokens": 2000000, "mode": "chat", - "output_cost_per_token": 5e-7, - "output_cost_per_token_above_128k_tokens": 0.000001, + "output_cost_per_token": 0.0000025, "source": "https://docs.x.ai/docs/models/grok-4-1-fast-non-reasoning", "supports_audio_input": true, "supports_function_calling": true, @@ -39869,19 +46874,20 @@ "supports_tool_choice": true, "supports_vision": true, "supports_web_search": true, - "deprecation_date": "2026-05-15" + "deprecation_date": "2026-05-15", + "input_cost_per_token_above_200k_tokens": 0.0000025, + "output_cost_per_token_above_200k_tokens": 0.000005, + "cache_read_input_token_cost_above_200k_tokens": 4e-7 }, "xai/grok-4-1-fast-non-reasoning-latest": { - "cache_read_input_token_cost": 5e-8, - "input_cost_per_token": 2e-7, - "input_cost_per_token_above_128k_tokens": 4e-7, + "cache_read_input_token_cost": 2e-7, + "input_cost_per_token": 0.00000125, "litellm_provider": "xai", "max_input_tokens": 2000000, "max_output_tokens": 2000000, "max_tokens": 2000000, "mode": "chat", - "output_cost_per_token": 5e-7, - "output_cost_per_token_above_128k_tokens": 0.000001, + "output_cost_per_token": 0.0000025, "source": "https://docs.x.ai/docs/models/grok-4-1-fast-non-reasoning", "supports_audio_input": true, "supports_function_calling": true, @@ -39890,19 +46896,20 @@ "supports_tool_choice": true, "supports_vision": true, "supports_web_search": true, - "deprecation_date": "2026-05-15" + "deprecation_date": "2026-05-15", + "input_cost_per_token_above_200k_tokens": 0.0000025, + "output_cost_per_token_above_200k_tokens": 0.000005, + "cache_read_input_token_cost_above_200k_tokens": 4e-7 }, "xai/grok-4-1-fast-reasoning": { - "cache_read_input_token_cost": 5e-8, - "input_cost_per_token": 2e-7, - "input_cost_per_token_above_128k_tokens": 4e-7, + "cache_read_input_token_cost": 2e-7, + "input_cost_per_token": 0.00000125, "litellm_provider": "xai", "max_input_tokens": 2000000, "max_output_tokens": 2000000, "max_tokens": 2000000, "mode": "chat", - "output_cost_per_token": 5e-7, - "output_cost_per_token_above_128k_tokens": 0.000001, + "output_cost_per_token": 0.0000025, "source": "https://docs.x.ai/docs/models/grok-4-1-fast-reasoning", "supports_audio_input": true, "supports_function_calling": true, @@ -39912,19 +46919,20 @@ "supports_tool_choice": true, "supports_vision": true, "supports_web_search": true, - "deprecation_date": "2026-05-15" + "deprecation_date": "2026-05-15", + "input_cost_per_token_above_200k_tokens": 0.0000025, + "output_cost_per_token_above_200k_tokens": 0.000005, + "cache_read_input_token_cost_above_200k_tokens": 4e-7 }, "xai/grok-4-1-fast-reasoning-latest": { - "cache_read_input_token_cost": 5e-8, - "input_cost_per_token": 2e-7, - "input_cost_per_token_above_128k_tokens": 4e-7, + "cache_read_input_token_cost": 2e-7, + "input_cost_per_token": 0.00000125, "litellm_provider": "xai", "max_input_tokens": 2000000, "max_output_tokens": 2000000, "max_tokens": 2000000, "mode": "chat", - "output_cost_per_token": 5e-7, - "output_cost_per_token_above_128k_tokens": 0.000001, + "output_cost_per_token": 0.0000025, "source": "https://docs.x.ai/docs/models/grok-4-1-fast-reasoning", "supports_audio_input": true, "supports_function_calling": true, @@ -39934,59 +46942,88 @@ "supports_tool_choice": true, "supports_vision": true, "supports_web_search": true, - "deprecation_date": "2026-05-15" + "deprecation_date": "2026-05-15", + "input_cost_per_token_above_200k_tokens": 0.0000025, + "output_cost_per_token_above_200k_tokens": 0.000005, + "cache_read_input_token_cost_above_200k_tokens": 4e-7 }, "xai/grok-4-fast-non-reasoning": { - "cache_read_input_token_cost": 5e-8, - "input_cost_per_token": 2e-7, - "input_cost_per_token_above_128k_tokens": 4e-7, + "cache_read_input_token_cost": 2e-7, + "input_cost_per_token": 0.00000125, "litellm_provider": "xai", "max_input_tokens": 2000000, "max_output_tokens": 2000000, "max_tokens": 2000000, "mode": "chat", - "output_cost_per_token": 5e-7, - "output_cost_per_token_above_128k_tokens": 0.000001, + "output_cost_per_token": 0.0000025, "source": "https://docs.x.ai/docs/models", "supports_function_calling": true, "supports_prompt_caching": true, "supports_tool_choice": true, "supports_web_search": true, - "deprecation_date": "2026-05-15" + "deprecation_date": "2026-05-15", + "input_cost_per_token_above_200k_tokens": 0.0000025, + "output_cost_per_token_above_200k_tokens": 0.000005, + "cache_read_input_token_cost_above_200k_tokens": 4e-7 }, "xai/grok-4-fast-reasoning": { - "cache_read_input_token_cost": 5e-8, - "input_cost_per_token": 2e-7, - "input_cost_per_token_above_128k_tokens": 4e-7, + "cache_read_input_token_cost": 2e-7, + "input_cost_per_token": 0.00000125, "litellm_provider": "xai", "max_input_tokens": 2000000, "max_output_tokens": 2000000, "max_tokens": 2000000, "mode": "chat", - "output_cost_per_token": 5e-7, - "output_cost_per_token_above_128k_tokens": 0.000001, + "output_cost_per_token": 0.0000025, "source": "https://docs.x.ai/docs/models", "supports_function_calling": true, "supports_prompt_caching": true, "supports_tool_choice": true, "supports_web_search": true, - "deprecation_date": "2026-05-15" + "deprecation_date": "2026-05-15", + "input_cost_per_token_above_200k_tokens": 0.0000025, + "output_cost_per_token_above_200k_tokens": 0.000005, + "cache_read_input_token_cost_above_200k_tokens": 4e-7 }, "xai/grok-4-latest": { - "input_cost_per_token": 0.000003, - "input_cost_per_token_above_128k_tokens": 0.000006, + "input_cost_per_token": 0.00000125, "litellm_provider": "xai", "max_input_tokens": 256000, "max_output_tokens": 256000, "max_tokens": 256000, "mode": "chat", - "output_cost_per_token": 0.000015, - "output_cost_per_token_above_128k_tokens": 0.00003, + "output_cost_per_token": 0.0000025, "source": "https://docs.x.ai/docs/models", "supports_function_calling": true, "supports_prompt_caching": true, "supports_tool_choice": true, - "supports_web_search": true + "supports_web_search": true, + "deprecation_date": "2026-05-15", + "cache_read_input_token_cost": 2e-7, + "input_cost_per_token_above_200k_tokens": 0.0000025, + "output_cost_per_token_above_200k_tokens": 0.000005, + "cache_read_input_token_cost_above_200k_tokens": 4e-7 + }, + "xai/grok-4.20": { + "cache_read_input_token_cost": 2e-7, + "input_cost_per_token": 0.00000125, + "litellm_provider": "xai", + "max_input_tokens": 1000000, + "max_output_tokens": 1000000, + "max_tokens": 1000000, + "mode": "chat", + "output_cost_per_token": 0.0000025, + "source": "https://docs.x.ai/docs/models", + "supports_function_calling": true, + "supports_reasoning": true, + "supports_tool_choice": true, + "supports_vision": true, + "supports_web_search": true, + "input_cost_per_token_above_200k_tokens": 0.0000025, + "output_cost_per_token_above_200k_tokens": 0.000005, + "cache_read_input_token_cost_above_200k_tokens": 4e-7, + "supports_prompt_caching": true, + "supports_response_schema": true }, "xai/grok-4.20-0309-non-reasoning": { "cache_read_input_token_cost": 2e-7, @@ -40112,6 +47149,88 @@ "cache_read_input_token_cost_above_200k_tokens": 4e-7, "supports_response_schema": true }, + "xai/grok-4.20-non-reasoning": { + "cache_read_input_token_cost": 2e-7, + "input_cost_per_token": 0.00000125, + "litellm_provider": "xai", + "max_input_tokens": 1000000, + "max_output_tokens": 1000000, + "max_tokens": 1000000, + "mode": "chat", + "output_cost_per_token": 0.0000025, + "source": "https://docs.x.ai/docs/models", + "supports_function_calling": true, + "supports_prompt_caching": true, + "supports_tool_choice": true, + "supports_vision": true, + "supports_web_search": true, + "input_cost_per_token_above_200k_tokens": 0.0000025, + "output_cost_per_token_above_200k_tokens": 0.000005, + "cache_read_input_token_cost_above_200k_tokens": 4e-7, + "supports_response_schema": true + }, + "xai/grok-4.20-non-reasoning-latest": { + "cache_read_input_token_cost": 2e-7, + "input_cost_per_token": 0.00000125, + "litellm_provider": "xai", + "max_input_tokens": 1000000, + "max_output_tokens": 1000000, + "max_tokens": 1000000, + "mode": "chat", + "output_cost_per_token": 0.0000025, + "source": "https://docs.x.ai/docs/models", + "supports_function_calling": true, + "supports_prompt_caching": true, + "supports_tool_choice": true, + "supports_vision": true, + "supports_web_search": true, + "input_cost_per_token_above_200k_tokens": 0.0000025, + "output_cost_per_token_above_200k_tokens": 0.000005, + "cache_read_input_token_cost_above_200k_tokens": 4e-7, + "supports_response_schema": true + }, + "xai/grok-4.20-reasoning": { + "cache_read_input_token_cost": 2e-7, + "input_cost_per_token": 0.00000125, + "litellm_provider": "xai", + "max_input_tokens": 1000000, + "max_output_tokens": 1000000, + "max_tokens": 1000000, + "mode": "chat", + "output_cost_per_token": 0.0000025, + "source": "https://docs.x.ai/docs/models", + "supports_function_calling": true, + "supports_reasoning": true, + "supports_tool_choice": true, + "supports_vision": true, + "supports_web_search": true, + "input_cost_per_token_above_200k_tokens": 0.0000025, + "output_cost_per_token_above_200k_tokens": 0.000005, + "cache_read_input_token_cost_above_200k_tokens": 4e-7, + "supports_prompt_caching": true, + "supports_response_schema": true + }, + "xai/grok-4.20-reasoning-latest": { + "cache_read_input_token_cost": 2e-7, + "input_cost_per_token": 0.00000125, + "litellm_provider": "xai", + "max_input_tokens": 1000000, + "max_output_tokens": 1000000, + "max_tokens": 1000000, + "mode": "chat", + "output_cost_per_token": 0.0000025, + "source": "https://docs.x.ai/docs/models", + "supports_function_calling": true, + "supports_reasoning": true, + "supports_tool_choice": true, + "supports_vision": true, + "supports_web_search": true, + "input_cost_per_token_above_200k_tokens": 0.0000025, + "output_cost_per_token_above_200k_tokens": 0.000005, + "cache_read_input_token_cost_above_200k_tokens": 4e-7, + "supports_prompt_caching": true, + "supports_response_schema": true + }, "xai/grok-4.3": { "cache_read_input_token_cost": 2e-7, "cache_read_input_token_cost_above_200k_tokens": 4e-7, @@ -40268,7 +47387,8 @@ "output_cost_per_token_above_200k_tokens": 0.000004, "cache_read_input_token_cost_above_200k_tokens": 4e-7, "supports_response_schema": true, - "supports_vision": true + "supports_vision": true, + "deprecation_date": "2026-05-15" }, "xai/grok-code-fast-1": { "cache_read_input_token_cost": 2e-7, @@ -40288,7 +47408,8 @@ "output_cost_per_token_above_200k_tokens": 0.000004, "cache_read_input_token_cost_above_200k_tokens": 4e-7, "supports_response_schema": true, - "supports_vision": true + "supports_vision": true, + "deprecation_date": "2026-05-15" }, "xai/grok-code-fast-1-0825": { "cache_read_input_token_cost": 2e-7, @@ -40308,7 +47429,8 @@ "output_cost_per_token_above_200k_tokens": 0.000004, "cache_read_input_token_cost_above_200k_tokens": 4e-7, "supports_response_schema": true, - "supports_vision": true + "supports_vision": true, + "deprecation_date": "2026-05-15" }, "xai/grok-vision-beta": { "input_cost_per_image": 0.000005, @@ -40534,5 +47656,51 @@ "supports_reasoning": true, "supports_tool_choice": true, "source": "https://docs.z.ai/guides/overview/pricing" + }, + "zai/glm-5.2": { + "cache_creation_input_token_cost": 0, + "cache_read_input_token_cost": 2.6e-7, + "input_cost_per_token": 0.0000014, + "litellm_provider": "zai", + "max_input_tokens": 1000000, + "max_output_tokens": 128000, + "mode": "chat", + "output_cost_per_token": 0.0000044, + "source": "https://docs.z.ai/guides/overview/pricing", + "supports_function_calling": true, + "supports_prompt_caching": true, + "supports_reasoning": true, + "supports_tool_choice": true + }, + "zai/glm-5.3": { + "cache_creation_input_token_cost": 0, + "cache_read_input_token_cost": 2.6e-7, + "input_cost_per_token": 0.0000014, + "litellm_provider": "zai", + "max_input_tokens": 1000000, + "max_output_tokens": 128000, + "mode": "chat", + "output_cost_per_token": 0.0000044, + "source": "https://docs.z.ai/guides/overview/pricing", + "supports_function_calling": true, + "supports_prompt_caching": true, + "supports_reasoning": true, + "supports_tool_choice": true + }, + "zai/glm-5.3-flash": { + "cache_creation_input_token_cost": 0, + "cache_read_input_token_cost": 3e-8, + "input_cost_per_token": 1.5e-7, + "output_cost_per_token": 5e-7, + "litellm_provider": "zai", + "max_input_tokens": 1048576, + "max_output_tokens": 128000, + "mode": "chat", + "supports_function_calling": true, + "supports_prompt_caching": true, + "supports_reasoning": true, + "supports_tool_choice": true, + "source": "https://docs.z.ai/guides/overview/pricing", + "supports_vision": true } } \ No newline at end of file diff --git a/cecli/resources/providers.json b/cecli/resources/providers.json index 20f87122be4..349b3ea9121 100644 --- a/cecli/resources/providers.json +++ b/cecli/resources/providers.json @@ -326,14 +326,16 @@ "api_key_env": [ "OPENCODE_GO_API_KEY" ], - "display_name": "opencode-go" + "display_name": "opencode-go", + "session_header": "x-opencode-session" }, "opencode-zen": { "api_base": "https://opencode.ai/zen/v1", "api_key_env": [ "OPENCODE_ZEN_API_KEY" ], - "display_name": "opencode-zen" + "display_name": "opencode-zen", + "session_header": "x-opencode-session" }, "ovhcloud": { "api_base": "https://oai.endpoints.kepler.ai.cloud.ovh.net/v1", diff --git a/cecli/tools/edit_file.py b/cecli/tools/edit_file.py index a2f792f958b..c9bc930e43d 100644 --- a/cecli/tools/edit_file.py +++ b/cecli/tools/edit_file.py @@ -101,7 +101,7 @@ class Tool(BaseTool): "start_line": { "type": "string", "description": ( - "The first line of the edit: " + "The first line of the edit (inclusive): " "its exact text if unique, its hashed prefix " f"(e.g., '{HASH_DELIMITER}WecX{HASH_DELIMITER}') if duplicated, " "or '@000' for empty files." diff --git a/cecli/tools/read_file.py b/cecli/tools/read_file.py index c3c10b2cba9..cfedcb7f460 100644 --- a/cecli/tools/read_file.py +++ b/cecli/tools/read_file.py @@ -682,7 +682,24 @@ def execute(cls, coder, read, **kwargs): def format_model_response( cls, coder, rel_path, s_idx, e_idx, hashed_lines, current=False, skip_truncation=False ): - """Format a file's context range as hash-prefixed lines for the model.""" + """Format a file's context range as hash-prefixed lines for the model. + + When ``current`` is True the range is already present in the persisted + FILE_CONTEXTS block, so we return a lightweight reference instead of + re-sending the content (avoids duplicating context on repeated reads). + """ + + if current: + return { + "file_path": rel_path, + "status": "current", + "start_line": s_idx + 1, + "end_line": e_idx + 1, + "total_lines": len(hashed_lines), + "prefixed_contents": "", + "outline": "", + "note": "Already in context from a previous read; content not re-sent.", + } hashed_content = "\n".join(hashed_lines[s_idx : e_idx + 1]) token_count = coder.main_model.token_count(hashed_content) diff --git a/cecli/tools/utils/helpers.py b/cecli/tools/utils/helpers.py index 559adec9a15..c9b6e082178 100644 --- a/cecli/tools/utils/helpers.py +++ b/cecli/tools/utils/helpers.py @@ -5,6 +5,7 @@ import traceback from cecli.helpers import responses +from cecli.helpers.hashline import strip_hashline class ToolError(Exception): @@ -280,7 +281,15 @@ def apply_change( """ Writes the new content, tracks the change, and updates coder state. Returns the final change ID. Raises ToolError on tracking failure. + + Both ``original_content`` and ``new_content`` are stripped of any HashPos/hashline + content-ID prefixes before being written or tracked, so the Base1024 IDs (which + may contain non-ASCII characters) can never leak into the on-disk source and + break the parser. """ + new_content = strip_hashline(new_content) + original_content = strip_hashline(original_content) + coder.io.write_text(abs_path, new_content) try: final_change_id = coder.change_tracker.track_change( diff --git a/cecli/tui/app.py b/cecli/tui/app.py index cc4b884583f..f33a40930f5 100644 --- a/cecli/tui/app.py +++ b/cecli/tui/app.py @@ -72,6 +72,7 @@ def __init__(self, coder_worker, output_queue, input_queue, args): self._symbols_cache = None self._symbols_files_hash = None self._mouse_hold_timer = None + self._git_branch_fp = None self._currently_generating = False # Sub-agent tracking @@ -394,6 +395,11 @@ def on_mount(self): self.begin_capture_print(output_container, stdout=True, stderr=True) self.set_interval(0.05, self.check_output_queue) + + # Cheap poll for git branch changes (HEAD) rather than a full git + # resolve on a fixed cadence; only refresh the footer when it changes. + self.set_interval(5, self._check_git_branch) + self.worker.start() self.query_one("#input").focus() @@ -880,6 +886,14 @@ def on_input_area_submit(self, message: InputArea.Submit): self._handle_spawn_agent_command(user_input, stripped) return + # Intercept /workspace to open an already-registered workspace + # sub-agent immediately, mirroring /spawn-agent. + if stripped == "/workspace" or stripped.startswith("/workspace "): + parts = stripped.split(maxsplit=1) + if len(parts) == 2 and parts[1].strip().startswith("ws:"): + self._handle_workspace_command(user_input, stripped) + return + # Intercept queue management commands (/queue, /list-queue, /remove-queue) # to dispatch immediately without a full generation cycle - they only # modify the active coder's prompt_queue. @@ -1079,6 +1093,41 @@ async def _run_spawn(): self.worker.loop.call_soon_threadsafe(lambda: self.worker.loop.create_task(_run_spawn())) + def _handle_workspace_command(self, user_input: str, stripped: str) -> None: + """Dispatch /workspace immediately without a full generation cycle. + + Opening an already-registered workspace sub-agent mirrors /spawn-agent, so + it is scheduled on the worker's event loop to allow spawning while the + primary coder is generating. + """ + from cecli.commands.workspace import WorkspaceCommand + + parts = stripped.split(maxsplit=1) + spawn_args = parts[1].strip() if len(parts) > 1 else "" + + input_area = self.query_one("#input", InputArea) + input_area.value = "" + + if not spawn_args: + self.show_error("Usage: /workspace ") + return + + # Save to history and echo the command before dispatching + input_area.save_to_history(user_input) + self.add_user_message(user_input) + + coder = self.worker.coder + if self.worker.loop is None: + self.show_error("Worker loop not available. Cannot open workspace sub-agent.") + return + + async def _run_workspace(): + await WorkspaceCommand.execute(coder.io, coder, spawn_args) + + self.worker.loop.call_soon_threadsafe( + lambda: self.worker.loop.create_task(_run_workspace()) + ) + def set_input_value(self, text) -> None: """Find the input widget and set focus to it.""" input_area = self.query_one("#input", InputArea) @@ -1420,6 +1469,37 @@ def _refresh_footer(self): except Exception: pass + def _git_branch_fingerprint(self): + """Return a cheap signature for the active repo's checked-out branch. + + The ``.git/HEAD`` file holds the branch reference (``ref: refs/heads/``) + and is rewritten on every checkout/switch and on rename of the current + branch, so its content alone is enough to detect a displayed-branch-name + change without running git. Returns ``None`` when there is no usable repo. + """ + repo = getattr(self._get_visible_coder(), "repo", None) + if not repo: + return None + + try: + git_dir = Path(repo.repo.git_dir) + except Exception: + return None + + try: + return (git_dir / "HEAD").read_text(errors="replace").strip() + except OSError: + return None + + def _check_git_branch(self): + """Cheap poll: refresh the footer only when the branch fingerprint changed.""" + fingerprint = self._git_branch_fingerprint() + if fingerprint is None or fingerprint == self._git_branch_fp: + return + + self._git_branch_fp = fingerprint + self._refresh_footer() + def _sync_sub_agent_display(self) -> None: """Update the InputContainer border title with mode and sub-agent pills. diff --git a/cecli/tui/widgets/completion_bar.py b/cecli/tui/widgets/completion_bar.py index 24ea86e11d8..ef159a91b54 100644 --- a/cecli/tui/widgets/completion_bar.py +++ b/cecli/tui/widgets/completion_bar.py @@ -113,8 +113,8 @@ def _compute_display_names(self) -> None: self._display_names = [] return - # Check if these look like file paths (contain /) - has_paths = any("/" in s for s in self.suggestions) + # Check if these look like file paths (contain a path separator) + has_paths = any(os.sep in s or (os.altsep and os.altsep in s) for s in self.suggestions) if not has_paths: # Commands or non-path items - show as-is @@ -122,26 +122,35 @@ def _compute_display_names(self) -> None: self._display_names = self.suggestions[:] return + # Absolute path completions (e.g. a /workspace path argument) must stay + # rooted at the filesystem/drive root. Converting them with relpath + # would turn them into misleading "../.." relative paths. + is_absolute = all(os.path.isabs(s) for s in self.suggestions) + + if is_absolute: + candidates = self.suggestions + else: + candidates = [os.path.relpath(s) for s in self.suggestions] + # Find common directory prefix - dirs = [os.path.dirname(s) for s in self.suggestions] + dirs = [os.path.dirname(s) for s in candidates] if dirs and all(d == dirs[0] for d in dirs) and dirs[0]: # All in same directory - self._common_prefix = dirs[0] + "/" - self._display_names = [os.path.basename(s) for s in self.suggestions] + self._common_prefix = dirs[0] + os.sep + self._display_names = [os.path.basename(s) for s in candidates] else: # Find longest common path prefix - self.suggestions = [os.path.relpath(suggestion) for suggestion in self.suggestions] - common = os.path.commonpath(self.suggestions) if self.suggestions else "" - if common and "/" in common: + common = os.path.commonpath(candidates) if candidates else "" + if common and os.sep in common: # Use the directory part of common prefix - self._common_prefix = common.rsplit("/", 1)[0] + "/" if "/" in common else "" + self._common_prefix = common.rsplit(os.sep, 1)[0] + os.sep if self._common_prefix: - self._display_names = [s[len(self._common_prefix) :] for s in self.suggestions] + self._display_names = [s[len(self._common_prefix) :] for s in candidates] else: - self._display_names = self.suggestions[:] + self._display_names = candidates[:] else: self._common_prefix = "" - self._display_names = self.suggestions[:] + self._display_names = candidates[:] def compose(self) -> ComposeResult: """Create the bar layout.""" diff --git a/cecli/website/docs/config/model-providers.md b/cecli/website/docs/config/model-providers.md index 24723af0359..2093f644175 100644 --- a/cecli/website/docs/config/model-providers.md +++ b/cecli/website/docs/config/model-providers.md @@ -27,6 +27,7 @@ Each provider is defined as a JSON object with the following keys: | `supports_stream` | No | Set to `false` if the provider does not support streaming responses | | `requires_api_key` | No | Set to `false` if the provider does not require an API key (default: `true`) | | `base_url_env` | No | A list of environment variable names that can override `api_base` (takes precedence if set) | +| `session_header` | No | Name of a request header that carries a per-session unique key | ## Configuration File Usage @@ -146,16 +147,69 @@ Cecli ships with several built-in providers defined in `providers.json`. These a | Provider | Slug | API Base | |----------|------|----------| +| AI21 Labs | `ai21` | `https://api.ai21.com/studio/v1` | +| Anyscale | `anyscale` | `https://api.endpoints.anyscale.com/v1` | | Apertis | `apertis` | `https://api.stima.tech/v1` | +| Azure OpenAI | `azure` | `https://{resource}.openai.azure.com/openai/deployments/{deployment}` | +| Azure AI | `azure_ai` | `https://{resource}.services.ai.azure.com` | +| Baseten | `baseten` | `https://inference.baseten.co/v1` | +| AWS Bedrock | `bedrock` | `https://bedrock-runtime.{region}.amazonaws.com` | +| Bedrock Mantle | `bedrock_mantle` | `https://bedrock-mantle.{region}.api.aws/v1` | +| Cerebras | `cerebras` | `https://api.cerebras.ai/v1` | +| ChatGPT | `chatgpt` | `https://chatgpt.com/backend-api/codex` | | Chutes | `chutes` | `https://llm.chutes.ai/v1/` | +| Cloudflare | `cloudflare` | `https://api.cloudflare.com/client/v4/accounts/{account_id}/ai/v1` | +| Codestral | `codestral` | `https://codestral.mistral.ai/v1` | +| Crusoe | `crusoe` | `https://managed-inference-api-proxy.crusoecloud.com/v1` | +| Darkbloom | `darkbloom` | `https://api.darkbloom.dev/v1` | +| DashScope | `dashscope` | `https://dashscope.aliyuncs.com/compatible-mode/v1` | +| Databricks | `databricks` | `https://{workspace}.cloud.databricks.com` | +| DeepInfra | `deepinfra` | `https://api.deepinfra.com/v1/openai` | +| Featherless AI | `featherless_ai` | `https://api.featherless.ai/v1` | | Fireworks AI | `fireworks_ai` | `https://api.fireworks.ai/inference/v1` | +| Friendli AI | `friendliai` | `https://api.friendli.ai/serverless/v1` | +| GMI Cloud | `gmi` | `https://api.gmi-serving.com/v1` | +| Gradient AI | `gradient_ai` | `https://inference.do-ai.run/v1` | +| Groq | `groq` | `https://api.groq.com/openai/v1` | | Helicone | `helicone` | `https://ai-gateway.helicone.ai/` | +| Hyperbolic | `hyperbolic` | `https://api.hyperbolic.xyz/v1` | +| Inception Labs | `inception` | `https://api.inceptionlabs.ai/v1` | +| Lambda | `lambda_ai` | `https://api.lambda.ai/v1` | +| Lemonade | `lemonade` | `http://localhost:8000/api/v1` | +| LibertAI | `libertai` | `https://api.libertai.io/v1` | +| LlamaGate | `llamagate` | `https://api.llamagate.dev/v1` | +| Meta Llama | `meta_llama` | `https://api.llama.com/compat/v1` | +| MiniMax | `minimax` | `https://api.minimax.io/v1` | +| Mistral | `mistral` | `https://api.mistral.ai/v1` | +| Moonshot AI | `moonshot` | `https://api.moonshot.ai/v1` | +| Morph | `morph` | `https://api.morphllm.com/v1` | | Nano-GPT | `nano-gpt` | `https://nano-gpt.com/api/v1` | +| Nebius AI Studio | `nebius` | `https://api.studio.nebius.ai/v1` | +| Novita AI | `novita` | `https://api.novita.ai/v3/openai` | +| Nscale | `nscale` | `https://inference.api.nscale.com/v1` | +| Ollama | `ollama` | `http://localhost:11434/v1` | +| OpenCode Go | `opencode-go` | `https://opencode.ai/zen/go/v1` | +| OpenCode Zen | `opencode-zen` | `https://opencode.ai/zen/v1` | +| OVHcloud | `ovhcloud` | `https://oai.endpoints.kepler.ai.cloud.ovh.net/v1` | +| Perplexity | `perplexity` | `https://api.perplexity.ai` | +| Pinstripes | `pinstripes` | `https://pinstripes.io/v1` | | Poe | `poe` | `https://api.poe.com/v1` | | PublicAI | `publicai` | `https://api.publicai.co/v1` | +| SambaNova | `sambanova` | `https://api.sambanova.ai/v1` | +| Sarvam | `sarvam` | `https://api.sarvam.ai/v1` | +| Scaleway | `scaleway` | `https://api.scaleway.ai/v1` | | Synthetic | `synthetic` | `https://api.synthetic.new/openai/v1` | +| Tencent | `tencent` | `https://tokenhub-intl.tencentcloudmaas.com/v1` | +| TensorMesh | `tensormesh` | `https://serverless.tensormesh.ai/v1` | +| Together AI | `together_ai` | `https://api.together.xyz/v1` | +| v0 | `v0` | `https://api.v0.dev/v1` | | Venice AI | `veniceai` | `https://api.venice.ai/api/v1` | +| Vercel AI Gateway | `vercel_ai_gateway` | `https://ai-gateway.vercel.sh/v1` | +| Volcengine | `volcengine` | `https://ark.cn-beijing.volces.com/api/v3` | +| Weights & Biases | `wandb` | `https://api.inference.wandb.ai/v1` | +| xAI | `xai` | `https://api.x.ai/v1` | | Xiaomi MiMo | `xiaomi_mimo` | `https://api.xiaomimimo.com/v1` | +| Z.ai | `zai` | `https://api.z.ai/api/paas/v4` | ## Troubleshooting diff --git a/cecli/website/docs/config/subagents.md b/cecli/website/docs/config/subagents.md index 104b08daa4e..f253d44ef59 100644 --- a/cecli/website/docs/config/subagents.md +++ b/cecli/website/docs/config/subagents.md @@ -73,7 +73,7 @@ agent-config: |---------|-------------| | `/spawn-agent ` | Spawn a sub-agent without a prompt (non-blocking — waits for user input) | | `/spawn-agent ` | Spawn a sub-agent with a prompt (non-blocking — starts processing immediately) | -| `/open ` | Register and open a `ws:{name}` workspace sub-agent rooted at `` (ad-hoc, no config file required) | +| `/workspace ` | Register and open a `ws:{name}` workspace sub-agent rooted at `` (ad-hoc, no config file required) | | `/reap-agent` | Force destroy the currently active sub-agent | > **Tip**: `/spawn-agent` supports tab completion of sub-agent names. diff --git a/cecli/website/docs/config/workspaces.md b/cecli/website/docs/config/workspaces.md index 747c93c96f7..81b0e15f2c6 100644 --- a/cecli/website/docs/config/workspaces.md +++ b/cecli/website/docs/config/workspaces.md @@ -5,28 +5,27 @@ description: Workspaces turn multiple git repositories into agent-ready sub-agen --- # Workspaces -Workspaces let you manage several git repositories as one unit and, crucially, turn each repository into an agent you can delegate to. A workspace is defined by a `.cecli.workspaces.yml` file that lists its projects. Each project is either: +Workspaces let you manage several git repositories as one unit and, crucially, turn each repository into an agent you can delegate to. Workspaces can be defined in the `.cecli.conf.yml` file or in a `.cecli.workspaces.yml` file that lists the linked projects. Each project is either: -- **local** — an existing on-disk git root referenced by an absolute `path:` (used in-place, no cloning). +- **local** — an existing on-disk git root referenced by an absolute `path:`. - **clone** — a remote `repo:` URL that is cloned into `~/.cecli/workspaces/{workspace}/{project}/main`. ## Workspace sub-agents When a workspace is active, each project automatically becomes an **implicit `ws:{project}` sub-agent**. These agents are modelled on the built-in `worker` sub-agent but with two key differences: -- Their `root` is **overridden** to point at the project's git root (the - in-place `path:` directory for local projects, or the cloned checkout for `repo:` projects), so the agent operates inside that repository. +- Their `root` is **overridden** to point at the project's git root (the in-place `path:` directory for local projects, or the cloned checkout for `repo:` projects), so the agent operates inside that repository. - Their agent config sets `allow_nested_delegation: true`, so a `ws:*` agent can itself serve as a base for further delegations. -Because `ws:{name}` agents are registered with the sub-agent registry, they are available through the normal mechanisms: +Because `ws:{name}` agents are registered with the sub-agent registry, they are available through the other existing mechanisms: - The `Delegate` tool (from a primary agent) - `/spawn-agent ws:{name}` (interactively) -- `/open ` (ad-hoc, no config file required) +- `/workspace ` (ad-hoc, no config file required) You can find the agent name reported by `/workspace` (e.g. `ws:app`). -`/open app /path/to/app` opens a `ws:app` sub-agent rooted at the given path without needing a `.cecli.workspaces.yml` file. The path must be an existing git root; the agent is registered immediately and becomes the foreground agent. +`/workspace app /path/to/app` opens a `ws:app` sub-agent rooted at the given path without needing a `.cecli.workspaces.yml` file. The path must be an existing git root; the agent is registered immediately and becomes the foreground agent. Each project may carry a `metadata` block that configures its `ws:{name}` agent the same way a sub-agent `.md` front-matter does: `model`, `hooks` and `auto_reap` map to the config fields, and any other key (e.g. `agent-config`) is merged into the agent's metadata. `root`, `name` and `description` are always derived from the project definition and cannot be overridden by `metadata`. @@ -48,7 +47,6 @@ workspaces: projects: - name: app path: /abs/path/to/app - primary: true # At most one project can be primary metadata: # Optional sub-agent front-matter model: agent-config: @@ -70,7 +68,6 @@ workspaces: | `name` | Yes | Unique project name; also names the `ws:{name}` sub-agent | | `path` | One of | Absolute path to an existing local git root | | `repo` | One of | Remote clone URL (cloned under `~/.cecli/workspaces/`) | -| `primary` | No | At most one project may set `primary: true` | | `branch` | No | Branch to check out when cloning (`repo:` projects) | | `use_current_branch`| No | Default `true`; set `false` to force branch switching on init | | `ignore` | No | Path to a custom ignore file for this project | @@ -79,19 +76,12 @@ workspaces: **Validation rules:** - Each project must have a `name` and **exactly one** of `path` or `repo`. -- At most one project may be marked `primary: true`. - Project names must be unique (they become `ws:{name}` agent names). - -### Path Layout - -| Layout | Prefix | Example | -|--------|--------|--------| -| **clone** (repo-based) | `{project}/main/{file}` | `app/main/src/main.py` | -| **local** (path-based) | `{project}/{file}` | `app/src/main.py` | +| ### Multiple Workspaces -You can define a list of workspaces and mark one `active: true` (at most one): +You can define a list of workspaces and mark at most one with `active: true`: ```yaml workspaces: @@ -116,8 +106,7 @@ cecli --workspaces path/to/workspaces.yml --workspace-name my-workspace Activating a workspace registers a `ws:{name}` sub-agent for each resolvable project. The primary agent's root is **unchanged** — multi-project work happens by delegating to the `ws:{name}` sub-agents, each rooted at its own project. -- For **local** workspaces, the configured `path:` directories are used - in-place — no cloning occurs. +- For **local** workspaces, the configured `path:` directories are used in-place — no cloning occurs. - For **clone** workspaces, `cecli` creates `~/.cecli/workspaces/{workspace}/` and clones each `repo:` project into `{workspace}/{project}/main`. Metadata is stored at the workspace root: @@ -140,6 +129,5 @@ Clone workspaces materialise under `~/.cecli/workspaces/`: ## Arguments -- `--workspaces `: Provide a JSON/YAML configuration or file path for - workspace initialization. +- `--workspaces `: Provide a JSON/YAML configuration or file path for workspace initialization. - `--workspace-name `: Specify the workspace name to activate. diff --git a/tests/basic/test_main.py b/tests/basic/test_main.py index 38e2ad7284e..8ea28c0842a 100644 --- a/tests/basic/test_main.py +++ b/tests/basic/test_main.py @@ -747,69 +747,6 @@ def test_boolean_flags(flag_arg, attr_name, expected, dummy_io, git_temp_dir): assert getattr(coder, attr_name) == expected -@pytest.mark.parametrize( - "model,setting_flag,setting_value,method_name,check_flag,should_warn,should_call", - [ - ( - "anthropic/claude-3-7-sonnet-20250219", - "--thinking-tokens", - "1000", - "set_thinking_tokens", - None, - False, - True, - ), - ( - "gpt-4o", - "--thinking-tokens", - "1000", - "set_thinking_tokens", - "--check-model-accepts-settings", - True, - False, - ), - ("o1", "--reasoning-effort", "3", "set_reasoning_effort", None, False, True), - ("gpt-3.5-turbo", "--reasoning-effort", "3", "set_reasoning_effort", None, True, False), - ], - ids=[ - "thinking_tokens_accepted", - "thinking_tokens_rejected", - "reasoning_effort_accepted", - "reasoning_effort_rejected", - ], -) -def test_accepts_settings_warnings( - dummy_io, - git_temp_dir, - mocker, - model, - setting_flag, - setting_value, - method_name, - check_flag, - should_warn, - should_call, -): - mock_warning = mocker.patch("cecli.io.InputOutput.tool_warning") - mock_method = mocker.patch(f"cecli.models.Model.{method_name}") - args = ["--model", model, setting_flag, setting_value, "--yes-always", "--exit"] - if check_flag: - args.insert(4, check_flag) - main(args, **dummy_io) - setting_name = setting_flag.lstrip("--").replace("-", "_") - warnings = [call[0][0] for call in mock_warning.call_args_list] - warning_shown = any(setting_name in w for w in warnings) - assert ( - warning_shown == should_warn - ), f"Expected warning={should_warn} for {setting_name} but got {warning_shown}" - if should_call: - # The CLI value must reach the setter; the setters are also invoked at - # init time with pipeline defaults, so use assert_any_call. - mock_method.assert_any_call(setting_value) - else: - mock_method.assert_not_called() - - def test_no_verify_ssl_sets_model_info_manager(dummy_io, git_temp_dir, mocker): mock_set_verify_ssl = mocker.patch("cecli.models.ModelInfoManager.set_verify_ssl") mock_model = mocker.patch("cecli.models.Model") @@ -1248,23 +1185,6 @@ def _fake_get(url, *, headers=None, timeout=None, verify=None): manager._cache_loaded.pop(provider_name, None) -def test_check_model_accepts_settings_flag(dummy_io, git_temp_dir, mocker): - mock_set_thinking = mocker.patch("cecli.models.Model.set_thinking_tokens") - main( - [ - "--model", - "gpt-4o", - "--thinking-tokens", - "1000", - "--check-model-accepts-settings", - "--yes-always", - "--exit", - ], - **dummy_io, - ) - mock_set_thinking.assert_not_called() - - def test_list_models_with_direct_resource_patch(dummy_io, mocker, capsys): test_file = Path(os.getcwd()) / "test-model-metadata.json" test_resource_models = { @@ -1303,36 +1223,6 @@ def test_reasoning_effort_applied_without_check_flag(dummy_io, mocker): mock_set_reasoning.assert_called_once_with("3") -def test_model_accepts_settings_attribute(dummy_io, git_temp_dir, mocker): - MockModel = mocker.patch("cecli.models.Model") - mock_instance = MockModel.return_value - mock_instance.name = "test-model" - mock_instance.accepts_settings = ["reasoning_effort"] - mock_instance.validate_environment.return_value = { - "missing_keys": [], - "keys_in_environment": [], - } - mock_instance.info = {} - mock_instance.weak_model_name = None - mock_instance.get_weak_model.return_value = None - main( - [ - "--model", - "test-model", - "--reasoning-effort", - "3", - "--thinking-tokens", - "1000", - "--check-model-accepts-settings", - "--yes-always", - "--exit", - ], - **dummy_io, - ) - mock_instance.set_reasoning_effort.assert_called_once_with("3") - mock_instance.set_thinking_tokens.assert_not_called() - - def test_argv_file_respects_git(dummy_io, git_temp_dir): fname = Path("not_in_git.txt") fname.touch() diff --git a/tests/commands/test_open.py b/tests/commands/test_workspace.py similarity index 51% rename from tests/commands/test_open.py rename to tests/commands/test_workspace.py index 5c5510a6e98..9d7cb4323b2 100644 --- a/tests/commands/test_open.py +++ b/tests/commands/test_workspace.py @@ -3,7 +3,7 @@ import pytest -from cecli.commands.open import OpenCommand +from cecli.commands.workspace import WorkspaceCommand @pytest.fixture @@ -22,24 +22,36 @@ def mock_io(): @pytest.fixture def mock_agent_service(): - with patch("cecli.commands.open.AgentService") as MockAgentService: - agent_service = MockAgentService.get_instance.return_value + agent_service = MagicMock() + with patch("cecli.helpers.agents.service.AgentService") as MockAgentService: + MockAgentService.get_instance.return_value = agent_service MockAgentService.get_registry.return_value = { "ws:app": MagicMock(metadata={"root": "/abs/app"}) } yield agent_service -class TestOpenCommand: +class TestWorkspaceCommand: @pytest.mark.asyncio - async def test_execute_missing_args(self, mock_coder, mock_io): - await OpenCommand.execute(mock_io, mock_coder, "") - mock_io.tool_error.assert_called_once_with("Usage: /open ") + async def test_execute_lists_agents_when_no_args(self, mock_coder, mock_io): + with patch("cecli.helpers.agents.service.AgentService") as MockAgentService: + MockAgentService.get_registry.return_value = { + "ws:app": MagicMock(metadata={"root": "/abs/app", "layout": "local"}), + "worker": MagicMock(metadata={}), + } + + await WorkspaceCommand.execute(mock_io, mock_coder, "") + + mock_io.print.assert_any_call("Workspace Sub-Agents:") + mock_io.print.assert_any_call(" - ws:app") + mock_io.print.assert_any_call(" Root: /abs/app") @pytest.mark.asyncio async def test_execute_invalid_path(self, mock_coder, mock_io): - with patch("cecli.commands.open.register_workspace_subagents", return_value=[]): - await OpenCommand.execute(mock_io, mock_coder, "app /no/such/path") + with patch( + "cecli.helpers.workspaces.subagents.register_workspace_subagents", return_value=[] + ): + await WorkspaceCommand.execute(mock_io, mock_coder, "app /no/such/path") open_path = Path("/no/such/path").expanduser() mock_io.tool_error.assert_called_once_with( @@ -52,8 +64,11 @@ async def test_execute_success_non_tui(self, mock_coder, mock_io, mock_agent_ser info.coder.uuid = "sub-uuid-1" mock_agent_service.spawn = AsyncMock(return_value=(MagicMock(), info)) - with patch("cecli.commands.open.register_workspace_subagents", return_value=["ws:app"]): - await OpenCommand.execute(mock_io, mock_coder, "app /abs/app") + with patch( + "cecli.helpers.workspaces.subagents.register_workspace_subagents", + return_value=["ws:app"], + ): + await WorkspaceCommand.execute(mock_io, mock_coder, "app /abs/app") # spawn is non-blocking with no prompt; the sub-agent becomes the foreground agent. mock_agent_service.spawn.assert_awaited_once_with( @@ -74,8 +89,11 @@ async def test_execute_success_tui(self, mock_coder, mock_io, mock_agent_service info.coder.uuid = "sub-uuid-1" mock_agent_service.spawn = AsyncMock(return_value=(MagicMock(), info)) - with patch("cecli.commands.open.register_workspace_subagents", return_value=["ws:app"]): - await OpenCommand.execute(mock_io, mock_coder, "app /abs/app") + with patch( + "cecli.helpers.workspaces.subagents.register_workspace_subagents", + return_value=["ws:app"], + ): + await WorkspaceCommand.execute(mock_io, mock_coder, "app /abs/app") tui.call_from_thread.assert_called_once_with(tui._switch_to_container, "sub-uuid-1") mock_io.tool_output.assert_called_once_with( @@ -88,8 +106,11 @@ async def test_execute_ws_prefix(self, mock_coder, mock_io, mock_agent_service): info.coder.uuid = "sub-uuid-1" mock_agent_service.spawn = AsyncMock(return_value=(MagicMock(), info)) - with patch("cecli.commands.open.register_workspace_subagents", return_value=["ws:app"]): - await OpenCommand.execute(mock_io, mock_coder, "ws:app /abs/app") + with patch( + "cecli.helpers.workspaces.subagents.register_workspace_subagents", + return_value=["ws:app"], + ): + await WorkspaceCommand.execute(mock_io, mock_coder, "ws:app /abs/app") mock_agent_service.spawn.assert_awaited_once_with( "ws:app", prompt=None, parent=mock_coder, auto_reap=False, independent=True @@ -99,20 +120,37 @@ async def test_execute_ws_prefix(self, mock_coder, mock_io, mock_agent_service): async def test_execute_spawn_error(self, mock_coder, mock_io, mock_agent_service): mock_agent_service.spawn = AsyncMock(side_effect=RuntimeError("boom")) - with patch("cecli.commands.open.register_workspace_subagents", return_value=["ws:app"]): - await OpenCommand.execute(mock_io, mock_coder, "app /abs/app") + with patch( + "cecli.helpers.workspaces.subagents.register_workspace_subagents", + return_value=["ws:app"], + ): + await WorkspaceCommand.execute(mock_io, mock_coder, "app /abs/app") mock_io.tool_error.assert_called_once_with( "Error opening workspace sub-agent 'ws:app': boom" ) + @pytest.mark.asyncio + async def test_execute_single_arg_opens_existing(self, mock_coder, mock_io, mock_agent_service): + info = MagicMock() + info.coder.uuid = "sub-uuid-1" + mock_agent_service.spawn = AsyncMock(return_value=(MagicMock(), info)) + + await WorkspaceCommand.execute(mock_io, mock_coder, "ws:app") + + mock_agent_service.spawn.assert_awaited_once_with( + "ws:app", prompt=None, parent=mock_coder, auto_reap=False, independent=True + ) + assert mock_agent_service.foreground_uuid == "sub-uuid-1" + mock_io.tool_output.assert_called_once_with("Opened workspace sub-agent 'ws:app'.") + def test_get_help(self): - assert "(/open )" in OpenCommand.get_help() + assert "/workspace " in WorkspaceCommand.get_help() def test_get_completions(self): - with patch("cecli.commands.open.AgentService") as MockAgentService: + with patch("cecli.helpers.agents.service.AgentService") as MockAgentService: MockAgentService.get_registry.return_value = { "ws:app": MagicMock(), "worker": MagicMock(), } - assert OpenCommand.get_completions(MagicMock(), MagicMock(), "") == ["ws:app"] + assert WorkspaceCommand.get_completions(MagicMock(), MagicMock(), "") == ["ws:app"] diff --git a/tests/conftest.py b/tests/conftest.py index b5f08d51b63..4d2a47e4151 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -1,8 +1,16 @@ import pytest +from cecli.helpers.model_config.registry import clear_default_registry from cecli.models import Model +# Model Fixtures +@pytest.fixture(autouse=True) +def _clear_model_config_default_registry(): + """Reset the per-model default registry between tests.""" + clear_default_registry() + + # Model Fixtures @pytest.fixture def gpt35_model(): diff --git a/tests/helpers/test_model_config.py b/tests/helpers/test_model_config.py index 3d3675a4ec7..dc2fa17170c 100644 --- a/tests/helpers/test_model_config.py +++ b/tests/helpers/test_model_config.py @@ -248,6 +248,15 @@ def test_reasoning_effort_defaults_to_medium(): ) +def test_glm_and_kimi_default_to_high_reasoning_effort(): + """GLM/Kimi models default to ``high`` effort, not ``medium``.""" + glm = _record(litellm_provider="zai") + kimi = _record(litellm_provider="moonshot") + + assert get_default_config("glm-4.6", [{"glm-4.6": glm}])["api"]["reasoning_effort"] == "high" + assert get_default_config("kimi-k2", [{"kimi-k2": kimi}])["api"]["reasoning_effort"] == "high" + + def test_vision_flag(): vision = _record(supports_vision=True) no_vision = _record(supports_vision=False) diff --git a/tests/helpers/workspaces/test_workspace.py b/tests/helpers/workspaces/test_workspace_manager.py similarity index 100% rename from tests/helpers/workspaces/test_workspace.py rename to tests/helpers/workspaces/test_workspace_manager.py diff --git a/tests/subagents/test_sub_agent_coder.py b/tests/subagents/test_sub_agent_coder.py index 9d13ce1e851..bcf77a9940a 100644 --- a/tests/subagents/test_sub_agent_coder.py +++ b/tests/subagents/test_sub_agent_coder.py @@ -146,6 +146,7 @@ def test_format_chat_chunks_enhanced_calls_services(self): mock_chunks.add_file_list_reminder.assert_called_once() mock_chunks.add_rules_messages.assert_called_once() mock_chunks.add_repo_map_messages.assert_called_once() + mock_chunks.add_active_skills_messages.assert_called_once() mock_chunks.add_readonly_files_messages.assert_called_once() mock_chunks.add_chat_files_messages.assert_called_once() mock_chunks.add_randomized_cta.assert_called_once() diff --git a/tests/tui/test_app.py b/tests/tui/test_app.py index 88f4fc7ddf0..a69f3127d63 100644 --- a/tests/tui/test_app.py +++ b/tests/tui/test_app.py @@ -346,3 +346,54 @@ def test_on_input_area_submit_intercepts_spawn_agent(tui_instance): "/spawn-agent reviewer review the code", "/spawn-agent reviewer review the code", ) + + +def test_handle_workspace_command_dispatches_to_worker_loop(tui_instance): + """Workspace open dispatch is scheduled on the worker loop without a generate cycle.""" + worker = MagicMock() + worker.loop = MagicMock() + worker.coder = MagicMock() + worker.coder.io = MagicMock() + tui_instance.worker = worker + + input_area = MagicMock() + tui_instance.query_one = MagicMock(return_value=input_area) + tui_instance.add_user_message = MagicMock() + + tui_instance._handle_workspace_command("/workspace ws:app", "/workspace ws:app") + + # Input cleared, history saved, command echoed + assert input_area.value == "" + input_area.save_to_history.assert_called_once_with("/workspace ws:app") + tui_instance.add_user_message.assert_called_once_with("/workspace ws:app") + + # Dispatch is scheduled on the worker loop + worker.loop.call_soon_threadsafe.assert_called_once() + callback = worker.loop.call_soon_threadsafe.call_args[0][0] + callback() + worker.loop.create_task.assert_called_once() + coro = worker.loop.create_task.call_args[0][0] + + import asyncio + + with patch( + "cecli.commands.workspace.WorkspaceCommand.execute", new=AsyncMock() + ) as mock_execute: + asyncio.run(coro) + mock_execute.assert_awaited_once_with(worker.coder.io, worker.coder, "ws:app") + + +def test_on_input_area_submit_intercepts_workspace(tui_instance): + """'/workspace ' is handled directly without reaching the generate path.""" + tui_instance.query_one = MagicMock(return_value=MagicMock()) + tui_instance._handle_workspace_command = MagicMock() + + message = MagicMock() + message.value = "/workspace ws:app" + + tui_instance.on_input_area_submit(message) + + tui_instance._handle_workspace_command.assert_called_once_with( + "/workspace ws:app", + "/workspace ws:app", + ) diff --git a/tests/tui/test_completion_bar.py b/tests/tui/test_completion_bar.py new file mode 100644 index 00000000000..6939d280147 --- /dev/null +++ b/tests/tui/test_completion_bar.py @@ -0,0 +1,65 @@ +import sys + +import pytest + +from cecli.tui.widgets.completion_bar import CompletionBar + +IS_WINDOWS = sys.platform == "win32" + + +@pytest.mark.skipif(IS_WINDOWS, reason="POSIX-only path separators") +def test_absolute_path_suggestions_stay_absolute(): + """Absolute suggestions are not converted to relative (../) paths.""" + bar = CompletionBar( + suggestions=["/mnt/", "/srv/", "/etc/", "/dev/", "/opt/"], + prefix="/workspace test /", + ) + bar._compute_display_names() + + # The stored suggestions must remain absolute so selection inserts the correct path. + assert bar.suggestions == ["/mnt/", "/srv/", "/etc/", "/dev/", "/opt/"] + # The shared filesystem root is shown once as a prefix. + assert bar._common_prefix == "/" + assert bar._display_names == ["mnt/", "srv/", "etc/", "dev/", "opt/"] + assert bar.current_selection == "/mnt/" + + +@pytest.mark.skipif(IS_WINDOWS, reason="POSIX-only path separators") +def test_relative_path_suggestions_kept(): + """Project-relative suggestions keep their existing display behavior.""" + bar = CompletionBar( + suggestions=["src/main.py", "src/util.py", "tests/test.py"], + prefix="/add ", + ) + bar._compute_display_names() + + assert bar.suggestions == ["src/main.py", "src/util.py", "tests/test.py"] + assert bar._display_names == ["src/main.py", "src/util.py", "tests/test.py"] + + +@pytest.mark.skipif(not IS_WINDOWS, reason="Windows-only path separators") +def test_windows_absolute_path_suggestions_stay_absolute(): + """Absolute suggestions are not converted to relative paths (Windows).""" + suggestions = ["C:\\mnt\\", "C:\\srv\\", "C:\\etc\\", "C:\\dev\\", "C:\\opt\\"] + bar = CompletionBar(suggestions=suggestions, prefix="C:\\workspace test ") + + bar._compute_display_names() + + # The stored suggestions must remain absolute so selection inserts the correct path. + assert bar.suggestions == suggestions + # The shared drive root is shown once as a prefix. + assert bar._common_prefix == "C:\\" + assert bar._display_names == ["mnt\\", "srv\\", "etc\\", "dev\\", "opt\\"] + assert bar.current_selection == "C:\\mnt\\" + + +@pytest.mark.skipif(not IS_WINDOWS, reason="Windows-only path separators") +def test_windows_relative_path_suggestions_kept(): + """Project-relative suggestions keep their display behavior (Windows).""" + suggestions = ["src\\main.py", "src\\util.py", "tests\\test.py"] + bar = CompletionBar(suggestions=suggestions, prefix="/add ") + + bar._compute_display_names() + + assert bar.suggestions == suggestions + assert bar._display_names == suggestions