Update, 2026-08-27 —
meta/llama-3.1-70b-instructhas been retired. NVIDIA end-of-lifed the Llama 3.1/3.2/3.3 family on its DGX Cloud tier at 2026-08-26T09:00:00Z; calls to this id now return410 Gone. The historical discussion below remains as context, while runnable snippets have been updated away from the retired ID.To run the same examples today, substitute a model that is currently live — as of this update
nvidia/nemotron-3-super-120b-a12b, which is $0 in/out on the same free tier and works on the OpenAI-compatible snippets below. The free roster changes on NVIDIA's schedule, not ours, so the durable move is to fetchGET /ai/v1/modelsand pick from what it returns rather than hardcoding any id from a blog post — including this one.
This article originally covered Meta's Llama 3.1 70B, which was the open-weight workhorse many developers reached for first. That exact route is no longer served. The runnable examples below now use nvidia/nemotron-3-super-120b-a12b, a current $0 NVIDIA NIM model that works with the same OpenAI SDK path.
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 needed to start)
)
response = client.chat.completions.create(
model="nvidia/nemotron-3-super-120b-a12b",
messages=[{"role": "user", "content": "Explain the CAP theorem to a backend engineer."}],
max_tokens=512,
)
print(response.choices[0].message.content)
That's the whole integration. The only change from calling OpenAI directly is the base_url — your existing code, LangChain chains, and LlamaIndex retrievers all work unchanged.
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: "nvidia/nemotron-3-super-120b-a12b",
messages: [{ role: "user", content: "Write a TypeScript debounce function." }],
max_tokens: 400,
});
console.log(response.choices[0].message.content);
Why developers used Llama 3.1 70B
It was the dependable default. 70B parameters was the sweet spot where a model was genuinely capable across reasoning, summarization, classification, and code without the latency and cost of frontier models.
It was $0 within the free allowance on NVIDIA NIM. While it was served, NVIDIA hosted it on DGX Cloud infrastructure via NIM (NVIDIA Inference Microservices), which InferAll exposed at $0. The current replacement snippets use a live $0 NIM model, and new accounts still get 25 free NIM calls before any payment. The $5 Activation pack unlocks ongoing use and becomes spendable balance for paid providers if you ever call one.
The integration path is still OpenAI-compatible. You get standard chat.completion responses, streaming, tool use, and JSON mode — all working with whatever OpenAI client you already have. Switching from gpt-4o-mini to a current free ID such as nvidia/nemotron-3-super-120b-a12b is a one-line model-string change.
Llama 3.3 was the newer drop-in before retirement
Before the family retired, Meta Llama 3.3 70B was the newer iteration — more instruction-following polish and stronger benchmarks at the same 70B size. Both Llama 3.1 and 3.3 routes are now retired on this NVIDIA tier, so do not switch between those old IDs. Use the live catalog instead.
The live free roster is still available through GET /ai/v1/models.
Compare against other free models
The Llama 3.1 route is retired, but the same ifu_ key calls current free models such as Nemotron, Gemma, Mistral Nemotron, and DeepSeek — all $0 when the catalog lists inputPerM: 0 and outputPerM: 0. Run one prompt across several current IDs to pick the right model for your task:
for model in [
"nvidia/nemotron-3-super-120b-a12b",
"google/gemma-4-31b-it",
"mistralai/mistral-nemotron",
"minimaxai/minimax-m3",
]:
resp = client.chat.completions.create(
model=model,
messages=[{"role": "user", "content": "Summarize REST vs gRPC in two sentences."}],
max_tokens=200,
)
print(f"\n=== {model} ===\n{resp.choices[0].message.content}")
The full, current free roster is always one call away — curl https://api.inferall.ai/ai/v1/models — so you never hardcode a list that goes stale.
One key, every model
The same ifu_... key that calls current free NIM models also routes to GPT-4.1, Claude Opus 4, and Gemini 2.5 — so when a task needs a frontier model, you switch the model string instead of juggling provider credentials. Free open models for the bulk of the work, premium providers when you need them, one bill.
Trial: a free run to evaluate before activation. Get your key at inferall.ai/keys; the $5 activation pack (more on /billing) unlocks ongoing free-NIM access at $0 input / $0 output.