Google AI Studio
# Python — Google GenAI SDK from google import genai client = genai.Client(api_key="YOUR_API_KEY") r = client.models.generate_content( model="gemini-2.5-flash", contents="Summarize free AI APIs in 3 bullets.", ) print(r.text)
Build production-minded AI features in 2026 using generous free tiers, OpenAI-compatible endpoints, and NVIDIA NIM—without a credit card where possible.
Shipping an AI-powered product no longer requires an enterprise budget on day one. In 2026, multiple providers offer strong models—reasoning, multimodal, code, and embeddings—through free tiers designed for developers, students, and early-stage teams.
These APIs let you prototype chat, RAG pipelines, agents, and vision workflows while you validate product-market fit. Most tiers are rate-limited rather than “toy” limited, so you can run real tests and demos. This guide maps the best no-card (or low-friction) options, with NVIDIA NIM called out for its broad catalog and OpenAI-compatible surface.
What’s available in 2026 (at a glance): frontier-class chat models on free quotas, fast inference on specialized hardware (e.g. Groq, Cerebras), unified routers (OpenRouter, GitHub Models), and hosted NVIDIA NIM microservices for 100+ models behind one familiar API shape.
Each block lists models, typical free limits (always confirm on the provider’s current docs), endpoint style, and a minimal snippet you can paste and run.
# Python — Google GenAI SDK from google import genai client = genai.Client(api_key="YOUR_API_KEY") r = client.models.generate_content( model="gemini-2.5-flash", contents="Summarize free AI APIs in 3 bullets.", ) print(r.text)
# OpenAI-compatible curl https://api.groq.com/openai/v1/chat/completions \ -H "Authorization: Bearer $GROQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"model":"llama-3.3-70b-versatile","messages":[{"role":"user","content":"Hello!"}]}'
# OpenAI-compatible chat completions curl https://integrate.api.nvidia.com/v1/chat/completions \ -H "Authorization: Bearer $NVIDIA_API_KEY" \ -H "Content-Type: application/json" \ -d '{"model":"nvidia/nim-model-id","messages":[{"role":"user","content":"Explain NIM in one sentence."}]}'
# JavaScript (Node 18+) const r = await fetch('https://api.mistral.ai/v1/chat/completions', { method: 'POST', headers: { 'Authorization': `Bearer ${process.env.MISTRAL_API_KEY}`, 'Content-Type': 'application/json', }, body: JSON.stringify({ model: 'mistral-small-latest', messages: [{ role: 'user', content: 'Hello!' }], }), }); console.log(await r.json());
# Python — OpenAI client pointed at Cerebras from openai import OpenAI client = OpenAI( base_url="https://api.cerebras.ai/v1", api_key="YOUR_CEREBRAS_KEY", ) r = client.chat.completions.create( model="llama-3.3-70b", messages=[{"role": "user", "content": "Hi!"}], ) print(r.choices[0].message.content)
curl https://api.deepseek.com/v1/chat/completions \ -H "Authorization: Bearer $DEEPSEEK_API_KEY" \ -H "Content-Type: application/json" \ -d '{"model":"deepseek-chat","messages":[{"role":"user","content":"Ping"}]}'
# Same shape as OpenAI — swap model id for a :free model when available curl https://openrouter.ai/api/v1/chat/completions \ -H "Authorization: Bearer $OPENROUTER_KEY" \ -H "HTTP-Referer: https://skillsxai.com" \ -H "X-Title: SkillsXAI Guide" \ -d '{"model":"meta-llama/llama-3.2-3b-instruct:free","messages":[{"role":"user","content":"Hello"}]}'
# Use GitHub token with models:read — see GitHub Models docs for auth header curl -L -X POST "https://models.inference.ai.azure.com/chat/completions" \ -H "Authorization: Bearer $GITHUB_TOKEN" \ -H "Content-Type: application/json" \ -d '{"model":"gpt-4o","messages":[{"role":"user","content":"Hi"}]}'
NVIDIA NIM (NVIDIA Inference Microservices) packages optimized inference for foundation models—large language models, vision, embeddings, and more—as containerized or cloud-hosted services. For developers, the key benefit is production-style latency and throughput on NVIDIA-accelerated infrastructure, often behind an OpenAI-compatible REST API so existing SDKs and patterns transfer with minimal rewrites.
build.nvidia.com or the current NIM signup URL). Sign in or create an NVIDIA account.
Screenshot: Landing page with “Sign In” top-right and hero explaining NIM / AI models.
Screenshot: Dashboard sidebar with “API Keys” or “Credentials” highlighted.
.env—never commit to git.
Screenshot: Modal showing a masked key with “Copy” button and warning that it won’t be shown again.
Screenshot: Model card with “API” tab showing base URL and example model id string.
chat/completions request (see templates below). A 200 JSON response confirms the key and model id.
Python
import os, requests url = "https://integrate.api.nvidia.com/v1/chat/completions" headers = { "Authorization": f"Bearer {os.environ['NVIDIA_API_KEY']}", "Content-Type": "application/json", } payload = { "model": "nvidia/your-nim-model-id", "messages": [{"role": "user", "content": "Hello from NIM!"}], "temperature": 0.2, } resp = requests.post(url, headers=headers, json=payload, timeout=60) resp.raise_for_status() print(resp.json()["choices"][0]["message"]["content"])
JavaScript / Node.js
import process from 'node:process'; const res = await fetch('https://integrate.api.nvidia.com/v1/chat/completions', { method: 'POST', headers: { 'Authorization': `Bearer ${process.env.NVIDIA_API_KEY}`, 'Content-Type': 'application/json', }, body: JSON.stringify({ model: 'nvidia/your-nim-model-id', messages: [{ role: 'user', content: 'Hello from NIM!' }], temperature: 0.2, }), }); if (!res.ok) throw new Error(await res.text()); const data = await res.json(); console.log(data.choices[0].message.content);
import os from openai import OpenAI # Switch provider by changing base_url + model PROVIDERS = { "groq": ("https://api.groq.com/openai/v1", os.getenv("GROQ_API_KEY"), "llama-3.3-70b-versatile"), "nvidia": ("https://integrate.api.nvidia.com/v1", os.getenv("NVIDIA_API_KEY"), "nvidia/your-nim-model-id"), } name = "groq" base, key, model = PROVIDERS[name] client = OpenAI(base_url=base, api_key=key) r = client.chat.completions.create( model=model, messages=[{"role": "user", "content": "Say hello in one line."}], ) print(r.choices[0].message.content)
import process from 'node:process'; const providers = { groq: { base: 'https://api.groq.com/openai/v1', key: process.env.GROQ_API_KEY, model: 'llama-3.3-70b-versatile', }, nvidia: { base: 'https://integrate.api.nvidia.com/v1', key: process.env.NVIDIA_API_KEY, model: 'nvidia/your-nim-model-id', }, }; const { base, key, model } = providers.groq; const res = await fetch(`${base}/chat/completions`, { method: 'POST', headers: { Authorization: `Bearer ${key}`, 'Content-Type': 'application/json', }, body: JSON.stringify({ model, messages: [{ role: 'user', content: 'Say hello in one line.' }], }), }); console.log(await res.json());
curl "$BASE_URL/chat/completions" \ -H "Authorization: Bearer $API_KEY" \ -H "Content-Type: application/json" \ -d '{"model":"YOUR_MODEL_ID","messages":[{"role":"user","content":"Hello"}]}'
base_url).BASE_URL, API_KEY, and MODEL_ID in environment variables or a small config map.| Provider | Models (examples) | Rate limit | Tokens / quota | Credit card | Best for |
|---|---|---|---|---|---|
| Google AI Studio | Gemini 2.5 Pro / Flash | High TPM (tiered) | ~250K tokens/min | Often no for trial | Multimodal, Google ecosystem |
| Groq | Llama 3.3 70B | ~30 RPM | ~1K req/day | No (typical signup) | Lowest latency inference |
| NVIDIA NIM | DeepSeek, Qwen, Mistral, Llama… | ~40 RPM | Trial / plan-based | Varies by program | Broad catalog, OpenAI-compatible |
| Mistral AI | Codestral, chat models | ~2 RPM | ~1B tokens/mo | Often no for free tier | Code + EU-friendly options |
| Cerebras | Llama 3.3 70B | ~30 RPM | ~1M tokens/day | Check current policy | High daily token budget |
| DeepSeek | DeepSeek-V3, R1 | Soft / promotional | ~5M free tokens | Often no | Reasoning + cost exploration |
| OpenRouter | 30+ free models | Per-model | Varies | Often no for free routes | One API, many vendors |
| GitHub Models | GPT-4o, 4.1, o3 | Low RPM | 50–150 req/day | No (GitHub account) | OpenAI-class models in dev |