Latest AI models reference - Claude, OpenAI, Gemini, Eleven Labs, Replicate
53
43%
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./skills/ai-models/SKILL.mdLoad with: base.md + llm-patterns.md
Last Updated: December 2025
Use the right model for the job. Bigger isn't always better - match model capabilities to task requirements. Consider cost, latency, and accuracy tradeoffs.
| Task | Recommended | Why |
|---|---|---|
| Complex reasoning | Claude Opus 4.5, o3, Gemini 3 Pro | Highest accuracy |
| Fast chat/completion | Claude Haiku, GPT-4.1 mini, Gemini Flash | Low latency, cheap |
| Code generation | Claude Sonnet 4.5, Codestral, GPT-4.1 | Strong coding |
| Vision/images | Claude Sonnet, GPT-4o, Gemini 3 Pro | Multimodal |
| Embeddings | text-embedding-3-small, Voyage | Cost-effective |
| Voice synthesis | Eleven Labs v3, OpenAI TTS | Natural sounding |
| Image generation | FLUX.2, DALL-E 3, SD 3.5 | Different styles |
const CLAUDE_MODELS = {
// Flagship - highest capability
opus: 'claude-opus-4-5-20251101',
// Balanced - best for most tasks
sonnet: 'claude-sonnet-4-5-20250929',
// Previous generation (still excellent)
opus4: 'claude-opus-4-20250514',
sonnet4: 'claude-sonnet-4-20250514',
// Fast & cheap - high volume tasks
haiku: 'claude-haiku-3-5-20241022',
} as const;import Anthropic from '@anthropic-ai/sdk';
const anthropic = new Anthropic({
apiKey: process.env.ANTHROPIC_API_KEY,
});
const response = await anthropic.messages.create({
model: 'claude-sonnet-4-5-20250929',
max_tokens: 1024,
messages: [
{ role: 'user', content: 'Hello, Claude!' }
],
});claude-opus-4-5-20251101 (Opus 4.5)
├── Best for: Complex analysis, research, nuanced writing
├── Context: 200K tokens
├── Cost: $5/$25 per 1M tokens (input/output)
└── Use when: Accuracy matters most
claude-sonnet-4-5-20250929 (Sonnet 4.5)
├── Best for: Code, general tasks, balanced performance
├── Context: 200K tokens
├── Cost: $3/$15 per 1M tokens
└── Use when: Default choice for most applications
claude-haiku-3-5-20241022 (Haiku 3.5)
├── Best for: Classification, extraction, high-volume
├── Context: 200K tokens
├── Cost: $0.25/$1.25 per 1M tokens
└── Use when: Speed and cost matter mostconst OPENAI_MODELS = {
// GPT-5 series (latest)
gpt5: 'gpt-5.2',
gpt5Mini: 'gpt-5-mini',
// GPT-4.1 series (recommended for most)
gpt41: 'gpt-4.1',
gpt41Mini: 'gpt-4.1-mini',
gpt41Nano: 'gpt-4.1-nano',
// Reasoning models (o-series)
o3: 'o3',
o3Pro: 'o3-pro',
o4Mini: 'o4-mini',
// Legacy but still useful
gpt4o: 'gpt-4o', // Still has audio support
gpt4oMini: 'gpt-4o-mini',
// Embeddings
embeddingSmall: 'text-embedding-3-small',
embeddingLarge: 'text-embedding-3-large',
// Image generation
dalle3: 'dall-e-3',
gptImage: 'gpt-image-1',
// Audio
tts: 'tts-1',
ttsHd: 'tts-1-hd',
whisper: 'whisper-1',
} as const;import OpenAI from 'openai';
const openai = new OpenAI({
apiKey: process.env.OPENAI_API_KEY,
});
// Chat completion
const response = await openai.chat.completions.create({
model: 'gpt-4.1',
messages: [
{ role: 'user', content: 'Hello!' }
],
});
// With vision
const visionResponse = await openai.chat.completions.create({
model: 'gpt-4.1',
messages: [
{
role: 'user',
content: [
{ type: 'text', text: 'What is in this image?' },
{ type: 'image_url', image_url: { url: 'https://...' } },
],
},
],
});
// Embeddings
const embedding = await openai.embeddings.create({
model: 'text-embedding-3-small',
input: 'Your text here',
});o3 / o3-pro
├── Best for: Math, coding, complex multi-step reasoning
├── Context: 200K tokens
├── Cost: Premium pricing
└── Use when: Hardest problems, need chain-of-thought
gpt-4.1
├── Best for: General tasks, coding, instruction following
├── Context: 1M tokens (!)
├── Cost: Lower than GPT-4o
└── Use when: Default choice, replaces GPT-4o
gpt-4.1-mini / gpt-4.1-nano
├── Best for: High-volume, cost-sensitive
├── Context: 1M tokens
├── Cost: Very low
└── Use when: Simple tasks at scale
o4-mini
├── Best for: Fast reasoning at low cost
├── Context: 200K tokens
├── Cost: Budget reasoning
└── Use when: Need reasoning but cost-consciousconst GEMINI_MODELS = {
// Gemini 3 (Latest)
gemini3Pro: 'gemini-3-pro-preview',
gemini3ProImage: 'gemini-3-pro-image-preview',
gemini3Flash: 'gemini-3-flash-preview',
// Gemini 2.5 (Stable)
gemini25Pro: 'gemini-2.5-pro',
gemini25Flash: 'gemini-2.5-flash',
gemini25FlashLite: 'gemini-2.5-flash-lite',
// Specialized
gemini25FlashTTS: 'gemini-2.5-flash-preview-tts',
gemini25FlashAudio: 'gemini-2.5-flash-native-audio-preview-12-2025',
// Previous generation
gemini2Flash: 'gemini-2.0-flash',
} as const;import { GoogleGenerativeAI } from '@google/generative-ai';
const genAI = new GoogleGenerativeAI(process.env.GOOGLE_API_KEY);
const model = genAI.getGenerativeModel({ model: 'gemini-2.5-flash' });
const result = await model.generateContent('Hello!');
const response = result.response.text();
// With vision
const visionModel = genAI.getGenerativeModel({ model: 'gemini-2.5-pro' });
const imagePart = {
inlineData: {
data: base64Image,
mimeType: 'image/jpeg',
},
};
const result = await visionModel.generateContent(['Describe this:', imagePart]);gemini-3-pro-preview
├── Best for: "Best model in the world for multimodal"
├── Context: 2M tokens
├── Cost: Premium
└── Use when: Need absolute best quality
gemini-2.5-pro
├── Best for: State-of-the-art thinking, complex tasks
├── Context: 2M tokens
├── Cost: $1.25/$5 per 1M tokens
└── Use when: Long context, complex reasoning
gemini-2.5-flash
├── Best for: Fast, balanced performance
├── Context: 1M tokens
├── Cost: $0.075/$0.30 per 1M tokens
└── Use when: Speed and cost matter
gemini-2.5-flash-lite
├── Best for: Ultra-fast, lowest cost
├── Context: 1M tokens
├── Cost: $0.04/$0.15 per 1M tokens
└── Use when: High volume, simple tasksconst ELEVENLABS_MODELS = {
// Latest - highest quality (alpha)
v3: 'eleven_v3',
// Production ready
multilingualV2: 'eleven_multilingual_v2',
turboV2_5: 'eleven_turbo_v2_5',
// Ultra-low latency
flashV2_5: 'eleven_flash_v2_5',
flashV2: 'eleven_flash_v2', // English only
} as const;import { ElevenLabsClient } from 'elevenlabs';
const elevenlabs = new ElevenLabsClient({
apiKey: process.env.ELEVENLABS_API_KEY,
});
// Text to speech
const audio = await elevenlabs.textToSpeech.convert('voice-id', {
text: 'Hello, world!',
model_id: 'eleven_turbo_v2_5',
voice_settings: {
stability: 0.5,
similarity_boost: 0.75,
},
});
// Stream audio (for real-time)
const audioStream = await elevenlabs.textToSpeech.convertAsStream('voice-id', {
text: 'Streaming audio...',
model_id: 'eleven_flash_v2_5',
});eleven_v3 (Alpha)
├── Best for: Highest quality, emotional range
├── Latency: ~1s+ (not for real-time)
├── Languages: 74
└── Use when: Quality over speed, pre-rendered
eleven_turbo_v2_5
├── Best for: Balanced quality and speed
├── Latency: ~250-300ms
├── Languages: 32
└── Use when: Good quality with reasonable latency
eleven_flash_v2_5
├── Best for: Real-time, conversational AI
├── Latency: <75ms
├── Languages: 32
└── Use when: Live voice agents, chatbotsconst REPLICATE_MODELS = {
// FLUX.2 (Latest - November 2025)
flux2Pro: 'black-forest-labs/flux-2-pro',
flux2Flex: 'black-forest-labs/flux-2-flex',
flux2Dev: 'black-forest-labs/flux-2-dev',
// FLUX.1 (Still excellent)
flux11Pro: 'black-forest-labs/flux-1.1-pro',
fluxKontext: 'black-forest-labs/flux-kontext', // Image editing
fluxSchnell: 'black-forest-labs/flux-schnell',
// Video
stableVideo4D: 'stability-ai/sv4d-2.0',
// Audio
musicgen: 'meta/musicgen',
// LLMs (if needed outside main providers)
llama: 'meta/llama-3.2-90b-vision',
} as const;import Replicate from 'replicate';
const replicate = new Replicate({
auth: process.env.REPLICATE_API_TOKEN,
});
// Image generation with FLUX.2
const output = await replicate.run('black-forest-labs/flux-2-pro', {
input: {
prompt: 'A serene mountain landscape at sunset',
aspect_ratio: '16:9',
output_format: 'webp',
},
});
// Image editing with Kontext
const edited = await replicate.run('black-forest-labs/flux-kontext', {
input: {
image: 'https://...',
prompt: 'Change the sky to sunset colors',
},
});flux-2-pro
├── Best for: Highest quality, up to 4MP
├── Speed: ~6s
├── Cost: $0.015 + per megapixel
└── Use when: Professional quality needed
flux-2-flex
├── Best for: Fine details, typography
├── Speed: ~22s
├── Cost: $0.06 per megapixel
└── Use when: Need precise control
flux-2-dev (Open source)
├── Best for: Fast generation
├── Speed: ~2.5s
├── Cost: $0.012 per megapixel
└── Use when: Speed over quality
flux-kontext
├── Best for: Image editing with text
├── Speed: Variable
├── Cost: Per run
└── Use when: Edit existing imagesconst STABILITY_MODELS = {
// Image generation
sd35Large: 'sd3.5-large',
sd35LargeTurbo: 'sd3.5-large-turbo',
sd3Medium: 'sd3-medium',
// Video
sv4d: 'sv4d-2.0', // Stable Video 4D 2.0
// Upscaling
upscale: 'esrgan-v1-x2plus',
} as const;const response = await fetch(
'https://api.stability.ai/v2beta/stable-image/generate/sd3',
{
method: 'POST',
headers: {
'Content-Type': 'application/json',
Authorization: `Bearer ${process.env.STABILITY_API_KEY}`,
},
body: JSON.stringify({
prompt: 'A futuristic city at night',
output_format: 'webp',
aspect_ratio: '16:9',
model: 'sd3.5-large',
}),
}
);const MISTRAL_MODELS = {
// Flagship
large: 'mistral-large-latest', // Points to 2411
// Medium tier
medium: 'mistral-medium-2505', // Medium 3
// Small/Fast
small: 'mistral-small-2506', // Small 3.2
// Code specialized
codestral: 'codestral-2508',
devstral: 'devstral-medium-2507',
// Reasoning (Magistral)
magistralMedium: 'magistral-medium-2507',
magistralSmall: 'magistral-small-2507',
// Audio
voxtral: 'voxtral-small-2507',
// OCR
ocr: 'mistral-ocr-2505',
} as const;import MistralClient from '@mistralai/mistralai';
const client = new MistralClient(process.env.MISTRAL_API_KEY);
const response = await client.chat({
model: 'mistral-large-latest',
messages: [{ role: 'user', content: 'Hello!' }],
});
// Code completion with Codestral
const codeResponse = await client.chat({
model: 'codestral-2508',
messages: [{ role: 'user', content: 'Write a Python function to...' }],
});mistral-large-latest (123B params)
├── Best for: Complex reasoning, knowledge tasks
├── Context: 128K tokens
└── Use when: Need high capability
codestral-2508
├── Best for: Code generation, 80+ languages
├── Speed: 2.5x faster than predecessor
└── Use when: Code-focused tasks
magistral-medium-2507
├── Best for: Multi-step reasoning
├── Specialty: Transparent chain-of-thought
└── Use when: Need reasoning tracesconst VOYAGE_MODELS = {
// General purpose
large2: 'voyage-large-2',
large2Instruct: 'voyage-large-2-instruct',
// Code specialized
code2: 'voyage-code-2',
code3: 'voyage-code-3',
// Multilingual
multilingual2: 'voyage-multilingual-2',
// Domain specific
law2: 'voyage-law-2',
finance2: 'voyage-finance-2',
} as const;const response = await fetch('https://api.voyageai.com/v1/embeddings', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
Authorization: `Bearer ${process.env.VOYAGE_API_KEY}`,
},
body: JSON.stringify({
model: 'voyage-code-3',
input: ['Your code to embed'],
}),
});
const { data } = await response.json();
const embedding = data[0].embedding;| Provider | Cheap | Mid | Premium |
|---|---|---|---|
| Anthropic | $0.25 (Haiku) | $3 (Sonnet 4.5) | $5 (Opus 4.5) |
| OpenAI | $0.15 (4.1-nano) | $2 (4.1) | $15+ (o3) |
| $0.04 (Flash-lite) | $0.08 (Flash) | $1.25 (Pro) | |
| Mistral | $0.25 (Small) | $2.70 (Medium) | $8 (Large) |
Reasoning/Analysis → Claude Opus 4.5, o3, Gemini 3 Pro
Code Generation → Claude Sonnet 4.5, Codestral 2508, GPT-4.1
Fast Responses → Claude Haiku, GPT-4.1-mini, Gemini Flash
Long Context → Gemini 2.5 Pro (2M), GPT-4.1 (1M), Claude (200K)
Vision → GPT-4.1, Claude Sonnet, Gemini 3 Pro
Embeddings → Voyage code-3, text-embedding-3-small
Voice Synthesis → Eleven Labs v3/flash, OpenAI TTS
Image Generation → FLUX.2 Pro, DALL-E 3, SD 3.5
Video Generation → Stable Video 4D 2.0, Runway
Image Editing → FLUX Kontext, gpt-image-1# .env.example (NEVER commit actual keys)
# LLMs
ANTHROPIC_API_KEY=sk-ant-...
OPENAI_API_KEY=sk-...
GOOGLE_API_KEY=AI...
MISTRAL_API_KEY=...
# Media
ELEVENLABS_API_KEY=...
REPLICATE_API_TOKEN=r8_...
STABILITY_API_KEY=sk-...
# Embeddings
VOYAGE_API_KEY=pa-...When models update:
□ Check official changelog/blog
□ Update model ID strings
□ Test with existing prompts
□ Compare output quality
□ Check pricing changes
□ Update context limits if changedd4ddb03
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.