← Blog

Mistral Codestral 22B — free API for code generation

How to call Codestral 22B for free using any OpenAI-compatible SDK. Mistral's code-specialized model, hosted on NVIDIA NIM through InferAll. No credit card required.

InferAll Team

3 min read
CodestralMistral AIfree code generation APINVIDIA NIMOpenAI APIopen sourcecoding model
Mistral's Codestral (`mistralai/codestral-22b-instruct-v0.1`) is available free via NVIDIA NIM through InferAll. At 22 billion parameters it's significantly smaller than the 480B Qwen Coder, but that's by design — Codestral optimizes for code generation speed and accuracy, not raw scale. ```python from openai import OpenAI client = OpenAI( base_url="https://api.inferall.ai/v1", api_key="ifu_your_key_here", # get one at inferall.ai/keys — no card required ) response = client.chat.completions.create( model="mistralai/codestral-22b-instruct-v0.1", messages=[{ "role": "user", "content": "Write a Python function that validates email addresses using regex." }], max_tokens=512, ) print(response.choices[0].message.content) ``` --- ### What makes Codestral different from general-purpose models? Codestral was trained specifically on code. Unlike general models that learned to write code alongside English, Codestral's training data skews heavily toward source code across 80+ programming languages. The result is better code quality for common patterns — function generation, refactoring, bug fixes, and test writing. At 22B parameters it's faster than the 480B Qwen Coder family for simple code tasks, making it a good fit for anything latency-sensitive (code completion in editors, quick CI/CD hooks, code review automation). --- ### TypeScript / Node.js ```typescript import OpenAI from "openai"; const client = new OpenAI({ baseURL: "https://api.inferall.ai/v1", apiKey: process.env.INFERALL_API_KEY, }); const response = await client.chat.completions.create({ model: "mistralai/codestral-22b-instruct-v0.1", messages: [ { role: "system", content: "You are a code expert. Return only working code with minimal explanation." }, { role: "user", content: "Write a TypeScript utility to deep-clone an object without circular reference issues." } ], }); console.log(response.choices[0].message.content); ``` ### Streaming for real-time code display ```python with client.chat.completions.create( model="mistralai/codestral-22b-instruct-v0.1", messages=[{"role": "user", "content": "Build a simple REST API with Flask."}], stream=True, ) as stream: for chunk in stream: print(chunk.choices[0].delta.content or "", end="", flush=True) ``` ### Code review ```python def review_code(code: str) -> str: response = client.chat.completions.create( model="mistralai/codestral-22b-instruct-v0.1", messages=[ { "role": "system", "content": "You are a senior code reviewer. Identify bugs, edge cases, and improvements." }, { "role": "user", "content": f"Review this code:\n\n```\n{code}\n```" } ], max_tokens=800, ) return response.choices[0].message.content ``` --- ### Comparing free coding models on InferAll | Model | Size | Best for | |---|---|---| | `mistralai/codestral-22b-instruct-v0.1` | 22B | Fast code gen, code review, 80+ languages | | `qwen/qwen3-coder-480b-a35b-instruct` | 480B / 35B active | Complex multi-file tasks | | `google/codegemma-7b` | 7B | Quick snippets, compact code tasks | | `deepseek-ai/deepseek-coder-6.7b-instruct` | 6.7B | Lightweight code completion | | `meta/llama-3.1-70b-instruct` | 70B | Code + natural language combined | All free, hosted on NVIDIA NIM. --- ### Get started [inferall.ai/keys](https://inferall.ai/keys) — no credit card required. 200 free requests to evaluate, then add a card to unlock the full free allowance (still $0 for free models) and paid providers at zero markup.