diff --git a/README.md b/README.md index c4def43..25d14d6 100644 --- a/README.md +++ b/README.md @@ -19,6 +19,7 @@ This lists various services that provide free access or credits towards API-base - [Mistral (Codestral)](#mistral-codestral) - [HuggingFace Inference Providers](#huggingface-inference-providers) - [Vercel AI Gateway](#vercel-ai-gateway) + - [Kilo Gateway](#kilo-gateway) - [OpenCode Zen](#opencode-zen) - [Cerebras](#cerebras) - [Groq](#groq) @@ -49,21 +50,21 @@ This lists various services that provide free access or credits towards API-base Models share a common quota. -- [cohere/north-mini-code:free](https://openrouter.ai/cohere/north-mini-code:free) +- [Cohere North Mini Code](https://openrouter.ai/cohere/north-mini-code:free) +- [Ling 3.0 Flash](https://openrouter.ai/inclusionai/ling-3.0-flash:free) +- [NVIDIA Nemotron 3 Nano Omni 30B A3B (Reasoning)](https://openrouter.ai/nvidia/nemotron-3-nano-omni-30b-a3b-reasoning:free) +- [NVIDIA Nemotron 3 Super 120B A12B](https://openrouter.ai/nvidia/nemotron-3-super-120b-a12b:free) +- [NVIDIA Nemotron 3 Ultra 550B A55B](https://openrouter.ai/nvidia/nemotron-3-ultra-550b-a55b:free) +- [NVIDIA Nemotron 3.5 Content Safety](https://openrouter.ai/nvidia/nemotron-3.5-content-safety:free) +- [Poolside Laguna M.1](https://openrouter.ai/poolside/laguna-m.1:free) +- [Poolside Laguna S 2.1](https://openrouter.ai/poolside/laguna-s-2.1:free) +- [Poolside Laguna XS 2.1](https://openrouter.ai/poolside/laguna-xs-2.1:free) - [google/gemma-4-26b-a4b-it:free](https://openrouter.ai/google/gemma-4-26b-a4b-it:free) - [google/gemma-4-31b-it:free](https://openrouter.ai/google/gemma-4-31b-it:free) -- [inclusionai/ling-3.0-flash:free](https://openrouter.ai/inclusionai/ling-3.0-flash:free) - [nvidia/nemotron-3-nano-30b-a3b:free](https://openrouter.ai/nvidia/nemotron-3-nano-30b-a3b:free) -- [nvidia/nemotron-3-nano-omni-30b-a3b-reasoning:free](https://openrouter.ai/nvidia/nemotron-3-nano-omni-30b-a3b-reasoning:free) -- [nvidia/nemotron-3-super-120b-a12b:free](https://openrouter.ai/nvidia/nemotron-3-super-120b-a12b:free) -- [nvidia/nemotron-3-ultra-550b-a55b:free](https://openrouter.ai/nvidia/nemotron-3-ultra-550b-a55b:free) -- [nvidia/nemotron-3.5-content-safety:free](https://openrouter.ai/nvidia/nemotron-3.5-content-safety:free) - [nvidia/nemotron-nano-12b-v2-vl:free](https://openrouter.ai/nvidia/nemotron-nano-12b-v2-vl:free) - [nvidia/nemotron-nano-9b-v2:free](https://openrouter.ai/nvidia/nemotron-nano-9b-v2:free) - [openai/gpt-oss-20b:free](https://openrouter.ai/openai/gpt-oss-20b:free) -- [poolside/laguna-m.1:free](https://openrouter.ai/poolside/laguna-m.1:free) -- [poolside/laguna-s-2.1:free](https://openrouter.ai/poolside/laguna-s-2.1:free) -- [poolside/laguna-xs-2.1:free](https://openrouter.ai/poolside/laguna-xs-2.1:free) ### [Google AI Studio](https://aistudio.google.com) @@ -134,6 +135,28 @@ The free tier covers a subset of the model catalogue, with per-model rate limits **Limits:** [$5/month](https://vercel.com/docs/ai-gateway/pricing) +### [Kilo Gateway](https://kilo.ai/docs/gateway) + +OpenAI-compatible gateway routing to various providers. Free models work without an account. + +All free models may use your prompts for training. + +**Limits:** [200 requests/hour per IP, shared across all free models](https://kilo.ai/docs/gateway/usage-and-billing#rate-limiting) + +- Cohere North Mini Code +- Kilo Auto Free (Router) +- Kwaipilot KAT-Coder-Pro V2.5 +- Ling 3.0 Flash +- NVIDIA Nemotron 3 Nano Omni 30B A3B (Reasoning) +- NVIDIA Nemotron 3 Super 120B A12B +- NVIDIA Nemotron 3 Ultra 550B A55B +- NVIDIA Nemotron 3.5 Content Safety +- OpenRouter Free Models (Router) +- Poolside Laguna M.1 +- Poolside Laguna S 2.1 +- Poolside Laguna XS 2.1 +- StepFun Step 3.7 Flash + ### [OpenCode Zen](https://opencode.ai/docs/zen/) AI gateway with curated models. diff --git a/src/data.py b/src/data.py index 26934c6..f55c0d5 100644 --- a/src/data.py +++ b/src/data.py @@ -262,6 +262,19 @@ MODEL_TO_NAME_MAPPING = { "compound-beta-mini": "Groq compound-beta-mini", "compound-beta": "Groq compound-beta", "shisa-ai/shisa-v2-llama3.3-70b": "Shisa V2 Llama 3.3 70B", + "cohere/north-mini-code:free": "Cohere North Mini Code", + "inclusionai/ling-3.0-flash:free": "Ling 3.0 Flash", + "kilo-auto/free": "Kilo Auto Free (Router)", + "kwaipilot/kat-coder-pro-v2.5:free": "Kwaipilot KAT-Coder-Pro V2.5", + "nvidia/nemotron-3-nano-omni-30b-a3b-reasoning:free": "NVIDIA Nemotron 3 Nano Omni 30B A3B (Reasoning)", + "nvidia/nemotron-3-super-120b-a12b:free": "NVIDIA Nemotron 3 Super 120B A12B", + "nvidia/nemotron-3-ultra-550b-a55b:free": "NVIDIA Nemotron 3 Ultra 550B A55B", + "nvidia/nemotron-3.5-content-safety:free": "NVIDIA Nemotron 3.5 Content Safety", + "openrouter/free": "OpenRouter Free Models (Router)", + "poolside/laguna-m.1:free": "Poolside Laguna M.1", + "poolside/laguna-s-2.1:free": "Poolside Laguna S 2.1", + "poolside/laguna-xs-2.1:free": "Poolside Laguna XS 2.1", + "stepfun/step-3.7-flash:free": "StepFun Step 3.7 Flash", } HYPERBOLIC_IGNORED_MODELS = { diff --git a/src/pull_available_models.py b/src/pull_available_models.py index 367505d..3265b6e 100644 --- a/src/pull_available_models.py +++ b/src/pull_available_models.py @@ -541,6 +541,33 @@ def get_human_limits(model, seperator="
"): return seperator.join([f"{value:,} {key}" for key, value in limits.items()]) +def fetch_kilo_models(logger): + logger.info("Fetching Kilo Gateway models...") + r = requests.get( + "https://api.kilo.ai/api/gateway/models", + headers={ + "Content-Type": "application/json", + }, + timeout=15, + ) + r.raise_for_status() + models = r.json()["data"] + logger.info(f"Fetched {len(models)} models from Kilo Gateway") + ret_models = [] + for model in models: + if not model.get("isFree", False): + continue + ret_models.append( + { + "id": model["id"], + "name": get_model_name(model["id"]), + } + ) + logger.info(f"Found {len(ret_models)} free models from Kilo Gateway") + ret_models = sorted(ret_models, key=lambda x: x["name"]) + return ret_models + + def generate_toc(markdown): toc_lines = [] # Find all ## and ### headings, but skip the main title (# ...) @@ -569,6 +596,7 @@ def main(): samba_logger = create_logger("SambaNova") scaleway_logger = create_logger("Scaleway") cohere_logger = create_logger("Cohere") + kilo_logger = create_logger("Kilo") fetch_concurrently = os.getenv("FETCH_CONCURRENTLY", "false").lower() == "true" @@ -582,6 +610,7 @@ def main(): executor.submit(fetch_samba_models, samba_logger), executor.submit(fetch_scaleway_models, scaleway_logger), executor.submit(fetch_cohere_models, cohere_logger), + executor.submit(fetch_kilo_models, kilo_logger), ] ( gemini_models, @@ -591,6 +620,7 @@ def main(): samba_models, scaleway_models, cohere_models, + kilo_models, ) = [f.result() for f in futures] # Fetch groq models after others complete @@ -603,6 +633,7 @@ def main(): samba_models = fetch_samba_models(samba_logger) scaleway_models = fetch_scaleway_models(scaleway_logger) cohere_models = fetch_cohere_models(cohere_logger) + kilo_models = fetch_kilo_models(kilo_logger) groq_models = fetch_groq_models(groq_logger) # Initialize markdown string for free providers @@ -772,6 +803,16 @@ def main(): model_list_markdown += "**Limits:** [$5/month](https://vercel.com/docs/ai-gateway/pricing)\n\n" model_list_markdown += "\n" + # --- Kilo Gateway --- + model_list_markdown += "### [Kilo Gateway](https://kilo.ai/docs/gateway)\n\n" + model_list_markdown += "OpenAI-compatible gateway routing to various providers. Free models work without an account.\n\n" + model_list_markdown += "All free models may use your prompts for training.\n\n" + model_list_markdown += "**Limits:** [200 requests/hour per IP, shared across all free models](https://kilo.ai/docs/gateway/usage-and-billing#rate-limiting)\n\n" + if kilo_models: + for model in kilo_models: + model_list_markdown += f"- {model['name']}\n" + model_list_markdown += "\n" + # --- OpenCode Zen --- model_list_markdown += "### [OpenCode Zen](https://opencode.ai/docs/zen/)\n\n" model_list_markdown += "AI gateway with curated models.\n\n"