Quick Links
Models API
The Models API provides information about available AI models, their capabilities, and pricing.
Base URLs
GET /api/v1/models
- List all available modelsGET /api/v1/models/{model_id}
- Get specific model informationGET /api/v1/models/pricing
- Get pricing information for all models
Authentication
Requires a valid API key in the Authorization header:
Authorization: Bearer YOUR_API_KEY
List Available Models
Retrieve a list of all available AI models.
Request
GET /api/v1/models
Response
{
"object": "list",
"data": [
{
"id": "gpt-4",
"object": "model",
"created": 1677649963,
"owned_by": "openai",
"provider": "openai",
"service_type": "text-generation",
"context_length": 8192,
"capabilities": ["text-generation", "chat", "function-calling"],
"pricing": {
"input_tokens": 0.03,
"output_tokens": 0.06,
"currency": "USD",
"unit": "per_1k_tokens"
}
},
{
"id": "claude-3-sonnet",
"object": "model",
"created": 1709251200,
"owned_by": "anthropic",
"provider": "anthropic",
"service_type": "text-generation",
"context_length": 200000,
"capabilities": ["text-generation", "chat", "analysis"],
"pricing": {
"input_tokens": 0.003,
"output_tokens": 0.015,
"currency": "USD",
"unit": "per_1k_tokens"
}
},
{
"id": "flux-1-pro",
"object": "model",
"created": 1720000000,
"owned_by": "black-forest-labs",
"provider": "black-forest-labs",
"service_type": "image-generation",
"max_resolution": "2048x2048",
"capabilities": ["image-generation", "text-to-image"],
"pricing": {
"per_image": 0.10,
"currency": "USD",
"unit": "per_image"
}
},
{
"id": "eleven-labs-tts",
"object": "model",
"created": 1690000000,
"owned_by": "elevenlabs",
"provider": "elevenlabs",
"service_type": "text-to-speech",
"capabilities": ["text-to-speech", "voice-cloning"],
"pricing": {
"per_1k_chars": 0.015,
"currency": "USD",
"unit": "per_1k_characters"
}
}
]
}
Get Specific Model
Retrieve information about a specific model.
Request
GET /api/v1/models/{model_id}
Parameters
Parameter | Type | Required | Description |
---|---|---|---|
model_id | string | Yes | The ID of the model to retrieve |
Response
{
"id": "gpt-4",
"object": "model",
"created": 1677649963,
"owned_by": "openai",
"provider": "openai",
"service_type": "text-generation",
"context_length": 8192,
"capabilities": ["text-generation", "chat", "function-calling"],
"pricing": {
"input_tokens": 0.03,
"output_tokens": 0.06,
"currency": "USD",
"unit": "per_1k_tokens"
},
"parameters": {
"max_tokens": 4096,
"temperature": {
"min": 0,
"max": 2,
"default": 1
},
"top_p": {
"min": 0,
"max": 1,
"default": 1
}
},
"usage_guidelines": {
"recommended_use_cases": [
"Complex reasoning tasks",
"Code generation",
"Creative writing",
"Analysis and research"
],
"limitations": [
"Knowledge cutoff: April 2024",
"No internet access",
"No image generation capabilities"
]
}
}
Get Model Pricing
Retrieve pricing information for all available models.
Request
GET /api/v1/models/pricing
Response
{
"object": "pricing",
"text_generation": {
"gpt-4": {
"input_tokens": 0.03,
"output_tokens": 0.06,
"currency": "USD",
"unit": "per_1k_tokens"
},
"gpt-3.5-turbo": {
"input_tokens": 0.001,
"output_tokens": 0.002,
"currency": "USD",
"unit": "per_1k_tokens"
},
"claude-3-opus": {
"input_tokens": 0.015,
"output_tokens": 0.075,
"currency": "USD",
"unit": "per_1k_tokens"
},
"claude-3-sonnet": {
"input_tokens": 0.003,
"output_tokens": 0.015,
"currency": "USD",
"unit": "per_1k_tokens"
}
},
"image_generation": {
"flux-1-pro": {
"per_image": 0.10,
"currency": "USD",
"unit": "per_image"
},
"flux-1-dev": {
"per_image": 0.05,
"currency": "USD",
"unit": "per_image"
}
},
"speech_services": {
"eleven-labs-tts": {
"per_1k_chars": 0.015,
"currency": "USD",
"unit": "per_1k_characters"
},
"eleven-labs-sts": {
"per_minute": 0.30,
"currency": "USD",
"unit": "per_minute"
},
"eleven-labs-stt": {
"per_minute": 0.006,
"currency": "USD",
"unit": "per_minute"
}
}
}
Model Categories
Text Generation Models
OpenAI Models
- GPT-4: Most capable model for complex tasks
- GPT-4 Turbo: Faster version with larger context window
- GPT-3.5 Turbo: Cost-effective for simpler tasks
Anthropic Models
- Claude-3 Opus: Most capable Claude model
- Claude-3 Sonnet: Balanced performance and cost
- Claude-3 Haiku: Fastest Claude model
Open Source Models
- Mixtral-8x7B: High-quality open-source model
- Mixtral-8x22B: Larger version with improved capabilities
Image Generation Models
Black Forest Labs
- FLUX.1 Pro: Highest quality image generation
- FLUX.1 Dev: Development version with good quality
- FLUX.1 Schnell: Fast generation with lower quality
Speech Models
ElevenLabs
- Text-to-Speech: Convert text to natural speech
- Speech-to-Speech: Voice conversion and cloning
- Speech-to-Text: Transcribe audio to text
Model Selection Guide
For Text Generation
Use Case | Recommended Model | Reasoning |
---|---|---|
Simple chat/Q&A | gpt-3.5-turbo | Cost-effective for basic tasks |
Complex reasoning | gpt-4 | Best performance for difficult tasks |
Long documents | claude-3-sonnet | Large context window |
Code generation | gpt-4 | Excellent coding capabilities |
Creative writing | claude-3-opus | Strong creative abilities |
For Image Generation
Use Case | Recommended Model | Reasoning |
---|---|---|
High-quality art | flux-1-pro | Best image quality |
Rapid prototyping | flux-1-schnell | Fastest generation |
Development/testing | flux-1-dev | Good balance of quality and speed |
For Speech Services
Use Case | Recommended Model | Reasoning |
---|---|---|
Voiceovers | eleven-labs-tts | High-quality speech synthesis |
Voice cloning | eleven-labs-sts | Advanced voice conversion |
Transcription | eleven-labs-stt | Accurate speech recognition |
Usage Examples
List All Models (JavaScript)
const response = await fetch('/api/v1/models', {
headers: {
'Authorization': 'Bearer YOUR_API_KEY'
}
});
const data = await response.json();
console.log('Available models:', data.data);
Get Specific Model (JavaScript)
const modelId = 'gpt-4';
const response = await fetch(`/api/v1/models/${modelId}`, {
headers: {
'Authorization': 'Bearer YOUR_API_KEY'
}
});
const model = await response.json();
console.log('Model info:', model);
Get Pricing Information (JavaScript)
const response = await fetch('/api/v1/models/pricing', {
headers: {
'Authorization': 'Bearer YOUR_API_KEY'
}
});
const pricing = await response.json();
console.log('Text generation pricing:', pricing.text_generation);
Using cURL
List Models
curl -X GET https://your-domain.com/api/v1/models \
-H "Authorization: Bearer YOUR_API_KEY"
Get Model Info
curl -X GET https://your-domain.com/api/v1/models/gpt-4 \
-H "Authorization: Bearer YOUR_API_KEY"
Get Pricing
curl -X GET https://your-domain.com/api/v1/models/pricing \
-H "Authorization: Bearer YOUR_API_KEY"
Error Responses
Model Not Found
{
"error": {
"message": "Model 'invalid-model' not found",
"type": "not_found_error",
"code": "model_not_found"
}
}
Unauthorized
{
"error": {
"message": "Invalid API key",
"type": "authentication_error",
"code": "invalid_api_key"
}
}
Rate Limits
Model information endpoints have generous rate limits:
- List models: 100 requests per minute
- Get model: 200 requests per minute
- Get pricing: 50 requests per minute
Best Practices
- Cache model information: Model details don't change frequently, so cache responses
- Check capabilities: Always verify a model supports your required capabilities
- Consider pricing: Choose models that balance performance and cost for your use case
- Monitor usage: Track which models you use most to optimize costs
- Stay updated: Check for new models and pricing updates regularly
Model Versioning
Models may be updated or deprecated over time. The API maintains backward compatibility, but it's recommended to:
- Pin to specific model versions when possible
- Test with new model versions before switching
- Monitor deprecation notices
- Keep fallback models in case of service interruptions