ContentAIDOCS
AI Providers

Groq

Free, fast, and recommended for new users.

Groq is a free AI inference service that runs open-weights models (Llama, Mixtral, Gemma) on custom hardware. It's the fastest option in ContentAI and the one we recommend you start with.

Why Groq?

  • Free — no credit card required at signup
  • Fast — often 2–5× faster than paid APIs
  • Generous limits — plenty of room for real usage, not just testing
  • Good models — Llama 3.3 70B Versatile is competitive with GPT-4o-mini for most writing tasks

Get a key

  1. Go to console.groq.com/keys
  2. Sign in with GitHub or Google
  3. Click Create API Key
  4. Name it (e.g. "ContentAI") and copy the key — starts with gsk_

Models available in ContentAI

ModelContextGood for
llama-3.3-70b-versatile128k⭐ Best overall — our default
llama-3.1-8b-instant128kShortest outputs, bulk runs
mixtral-8x7b-3276832kCoding, structured JSON
gemma2-9b-it8kSimple rewrites

See the live catalog at console.groq.com/docs/models. To expose more models to your users, edit providerModels.groq in lib/store.ts.

Rate limits

Groq's free tier as of writing:

  • Requests per minute: 30 for Llama models, higher for Gemma
  • Tokens per day: ~500k
  • Tokens per minute: ~30k

If you hit a limit, the app surfaces a "Rate limit exceeded — wait a moment" toast. Switching to another model on Groq often works because limits are per-model.

Quality notes

  • Llama 3.3 70B writes excellent blog posts and marketing copy; sometimes overly verbose on short prompts.
  • Llama 3.1 8B Instant is the fastest model in the whole app. Perfect for tweets, captions, and meta descriptions.
  • Mixtral is the best Groq option when you need structured output (lists, tables, JSON).

Setup in ContentAI

  1. Settings → Groq card → paste key
  2. Pick llama-3.3-70b-versatile
  3. Click Test → green toast
  4. Click Set as active provider

That's it.

Using Groq server-side (advanced)

If you want to provide a shared Groq key for all users (instead of BYOK), you can set GROQ_API_KEY in .env.local and update app/api/generate/route.ts to fall back to it when no client key is provided:

const key = body.apiKey || process.env.GROQ_API_KEY;

Do this only if you also add auth and rate limiting — otherwise anyone on the internet can burn through your quota.

Next: Google Gemini →

On this page