mirror of
https://github.com/tiennm99/cheahjs-free-llm-api-resources.git
synced 2026-10-11 03:13:06 +00:00
Add Kilo Gateway as a free provider
OpenAI-compatible gateway currently serving 13 free models. Free model requests are rate limited to 200 requests/hour per IP, and the docs are explicit that this applies to anonymous and authenticated requests alike, so no account is needed. Every free model reports mayTrainOnYourPrompts, which the section notes. Based on #333, with the following corrections: - The model name mappings did not match the ids the API actually returns (poolside/laguna-xs.2:free vs poolside/laguna-xs-2.1:free), and included ids that are not free (openrouter/owl-alpha) or not present at all (nex-agi/nex-n2-pro:free), while missing three that are. Rebuilt the list from the live isFree=true set. Since MODEL_TO_NAME_MAPPING is shared, this also resolves nine raw ids in the OpenRouter section. - Dropped the `or ":free" in model_id` fallback in the free-model filter; isFree already covers every such id, and kilo-auto/free carries no suffix. Closes #333
This commit is contained in:
1 parent
b46bbbf5f1
commit
a5bea5f02c
3 files changed
+86
-9
No files matched your search
@@ -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.
|
||||
|
||||
+13
@@ -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 = {
|
||||
|
||||
@@ -541,6 +541,33 @@ def get_human_limits(model, seperator="<br>"):
|
||||
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"
|
||||
|
||||
Reference in new issue
Block a user