Show description
ultimate llm api docs
ultimate llm api docs
ultimate llm api docs - aug 2025 updated
aggregated info on all major llm apis. click sections to expand. data from official docs/searches as of aug 08 2025.
refresh data
download docs
ultimate llm api docs
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>ultimate llm api docs</title>
<style>
body {
background-color: #121212;
color: #e0e0e0;
font-family: 'arial', sans-serif;
margin: 0;
padding: 20px;
line-height: 1.6;
}
h1, h2, h3 {
color: #ffffff;
}
.container {
max-width: 1200px;
margin: 0 auto;
}
.section {
margin-bottom: 20px;
border: 1px solid #333;
border-radius: 8px;
overflow: hidden;
}
.section-header {
background-color: #1f1f1f;
padding: 15px;
cursor: pointer;
display: flex;
justify-content: space-between;
align-items: center;
}
.section-header:hover {
background-color: #292929;
}
.section-content {
padding: 15px;
display: none;
}
.active .section-content {
display: block;
}
ul {
list-style-type: disc;
padding-left: 20px;
}
pre {
background-color: #1f1f1f;
padding: 10px;
border-radius: 4px;
overflow-x: auto;
}
button {
background-color: #333;
color: #fff;
border: none;
padding: 10px 20px;
cursor: pointer;
border-radius: 4px;
}
button:hover {
background-color: #444;
}
#refresh-btn {
margin-bottom: 20px;
}
</style>
</head>
<body>
<div class="container">
<h1>ultimate llm api docs - aug 2025 updated</h1>
<p>aggregated info on all major llm apis. click sections to expand. data from official docs/searches as of aug 08 2025.</p>
<button id="refresh-btn">refresh data</button>
<button id="download-btn">download docs</button>
<div id="providers"></div>
</div>
<script>
// embedded data fallback - updated from latest searches/browses aug 08 2025
const fallbackData = [
{
name: 'openai',
models: ['gpt-5', 'gpt-5-mini', 'gpt-5-nano', 'gpt-5-chat', 'gpt-oss-120b', 'gpt-oss-20b', 'gpt-4.1', 'gpt-4.1-nano', 'gpt-4.1-mini'], // pulled from azure as proxy
baseUrl: 'https://api.openai.com/v1',
endpoints: {
chat: '/chat/completions (post) - text/chat',
text: '/completions (post) - legacy text gen',
images: '/images/generations (post) - dall-e image gen, /images/edits, /images/variations',
audio: '/audio/transcriptions (post) - whisper stt, /audio/translations (post), /audio/speech (post) - tts',
video: 'no dedicated, but vision in /chat/completions with image/video frames'
}
},
{
name: 'anthropic',
models: ['claude-opus-4-1-20250805', 'claude-opus-4-20250514', 'claude-sonnet-4-20250514', 'claude-3-7-sonnet-20250219', 'claude-3-5-sonnet-20241022', 'claude-3-5-sonnet-20240620', 'claude-3-5-haiku-20241022', 'claude-3-haiku-20240307'],
baseUrl: 'https://api.anthropic.com/v1',
endpoints: {
chat: '/messages (post) - chat/text',
text: '/messages (post) - same as chat',
images: '/messages (post) - vision with base64 images (jpeg/png/gif/webp)',
audio: 'none',
video: 'none'
}
},
{
name: 'xai',
models: ['grok-4', 'grok-3', 'grok-3-mini', 'grok-2-image-1212'],
baseUrl: 'https://api.x.ai/v1 (assumed, sdk compat)',
endpoints: {
chat: '/chat/completions (openai/anthropic compat) - text/chat',
text: 'same as chat',
images: 'image gen for grok-2-image-1212, no specific path listed',
audio: 'none',
video: 'none'
}
},
{
name: 'google gemini',
models: ['gemini-2.5-pro', 'gemini-2.5-flash', 'gemini-2.5-flash-lite', 'gemini-live-2.5-flash-preview', 'gemini-2.5-flash-preview-native-audio-dialog', 'gemini-2.5-flash-exp-native-audio-thinking-dialog', 'gemini-2.5-flash-preview-tts', 'gemini-2.5-pro-preview-tts', 'gemini-2.0-flash', 'gemini-2.0-flash-preview-image-generation', 'gemini-2.0-flash-lite', 'gemini-2.0-flash-live-001', 'gemini-1.5-flash (deprecated)', 'gemini-1.5-flash-8b (deprecated)', 'gemini-1.5-pro (deprecated)'],
baseUrl: 'https://generativelanguage.googleapis.com/v1beta',
endpoints: {
chat: '/models/{model}:generateContent (post) - text/chat',
text: 'same as above',
images: 'native image gen/support in generateContent',
audio: 'support in generateContent for audio',
video: 'support in generateContent for video frames'
}
},
{
name: 'mistral',
models: ['mistral-medium-2505', 'magistral-medium-2507', 'codestral-2508', 'voxtral-mini-2507', 'devstral-medium-2507', 'mistral-ocr-2505', 'magistral-medium-2506', 'ministral-3b-2410', 'ministral-8b-2410', 'codestral-2501', 'mistral-large-2411', 'pixtral-large-2411', 'mistral-small-2407', 'mistral-embed', 'codestral-embed', 'mistral-moderation-2411', 'magistral-small-2507', 'voxtral-small-2507', 'voxtral-mini-2507', 'mistral-small-2506', 'magistral-small-2506', 'devstral-small-2507', 'mistral-small-3.1'],
baseUrl: 'https://api.mistral.ai/v1',
endpoints: {
chat: '/chat/completions',
text: '/completions',
images: '/vision, /ocr/basic_ocr - image analysis/ocr',
audio: '/audio/transcriptions - for voxtral models',
video: 'none'
}
},
{
name: 'deepseek',
models: ['deepseek-chat (v3-0324)', 'deepseek-reasoner (r1-0528)'], // no update, fallback
baseUrl: 'https://api.deepseek.com/v1',
endpoints: {
chat: '/chat/completions - text/chat',
text: 'same',
images: 'none',
audio: 'none',
video: 'none'
}
},
{
name: 'qwen (alibaba)',
models: ['qwen-max', 'qwen-plus', 'qwen-turbo', 'qwen-vl-max (vision)'], // no update, fallback
baseUrl: 'https://dashscope.aliyuncs.com/api/v1',
endpoints: {
chat: '/services/aigc/text-generation/generation - chat/text',
text: 'same',
images: '/services/aigc/multimodal-generation/generation - images/video',
audio: '/services/aigc/text2audio/generation - tts, /services/aigc/speech-recognition/recognition - stt',
video: 'support in multimodal'
}
},
{
name: 'meta llama',
models: ['llama3-8b-instruct-v1:0', 'llama3-70b-instruct-v1:0', 'llama3-1-8b-instruct-v1:0', 'llama3-1-70b-instruct-v1:0', 'llama3-1-405b-instruct-v1:0', 'llama3-2-1b-instruct-v1:0', 'llama3-2-3b-instruct-v1:0', 'llama3-2-11b-instruct-v1:0', 'llama3-2-90b-instruct-v1:0'], // updated from bedrock
baseUrl: 'no official, hosted on groq/together/hf/bedrock',
endpoints: {
chat: 'depends on host, e.g. openai compat',
text: 'same',
images: 'none native',
audio: 'none',
video: 'none'
}
},
{
name: 'groq',
models: ['gemma2-9b-it', 'llama-3.1-8b-instant', 'llama-3.3-70b-versatile', 'meta-llama/llama-guard-4-12b', 'whisper-large-v3', 'whisper-large-v3-turbo', 'deepseek-r1-distill-llama-70b', 'meta-llama/llama-4-maverick-17b-128e-instruct', 'meta-llama/llama-4-scout-17b-16e-instruct', 'meta-llama/llama-prompt-guard-2-22m', 'meta-llama/llama-prompt-guard-2-86m', 'moonshotai/kimi-k2-instruct', 'openai/gpt-oss-120b', 'openai/gpt-oss-20b', 'playai-tts', 'playai-tts-arabic', 'qwen/qwen3-32b', 'compound-beta', 'compound-beta-mini'],
baseUrl: 'https://api.groq.com/openai/v1',
endpoints: {
chat: '/chat/completions - text/chat',
text: '/completions',
images: 'none',
audio: 'whisper models for stt',
video: 'none'
}
},
{
name: 'together ai',
models: ['01-ai/yi-chat-34b', 'austism/chronos-hermes-13b', 'cognitivecomputations/dolphin-2.5-mixtral-8x7b', 'databricks/dbrx-instruct', 'deepseek/deepseek-coder-instruct-33b', 'deepseek/deepseek-llm-chat-67b', 'garage-baind/platypus2-instruct-70b', 'google/gemma-instruct-2b', 'google/gemma-instruct-7b', 'gryphe/mythomax-l2-13b', 'gryphe/mythomax-l2-lite-13b', 'lmsys/vicuna-v1.5-13b', 'lmsys/vicuna-v1.5-7b', 'meta/code-llama-instruct-13b', 'meta/code-llama-instruct-34b', 'meta/code-llama-instruct-70b', 'meta/code-llama-instruct-7b', 'meta/llama-2-chat-70b', 'meta/llama-2-chat-13b', 'meta/llama-2-chat-7b', 'meta/llama-3-chat-8b', 'meta/llama-3-chat-70b', 'meta/llama-3-chat-8b-turbo', 'meta/llama-3-chat-70b-turbo', 'meta/llama-3.1-8b-instruct-turbo', 'meta/llama-3.1-70b-instruct-turbo', 'meta/llama-3.1-405b-instruct-turbo', 'mistralai/mistral-7b-instruct', 'mistralai/mistral-7b-instruct-v0.2', 'mistralai/mistral-7b-instruct-v0.3', 'mistralai/mixtral-8x7b-instruct-46.7b', 'mistralai/mixtral-8x22b-instruct-141b', 'nousresearch/nous-capybara-v1.9-7b', 'nousresearch/nous-hermes-2-mistral-dpo-7b', 'nousresearch/nous-hermes-2-mixtral-8x7b-dpo-46.7b', 'nousresearch/nous-hermes-2-mixtral-8x7b-sft-46.7b', 'nousresearch/nous-hermes-llama-2-7b', 'nousresearch/nous-hermes-llama-2-13b', 'nousresearch/nous-hermes-2-yi-34b', 'openchat/openchat-3.5-7b', 'openorca/openorca-mistral-7b-8k', 'qwen/qwen-1.5-chat-0.5b', 'qwen/qwen-1.5-chat-1.8b', 'qwen/qwen-1.5-chat-4b', 'qwen/qwen-1.5-chat-7b', 'qwen/qwen-1.5-chat-14b', 'qwen/qwen-1.5-chat-32b', 'qwen/qwen-1.5-chat-72b', 'qwen/qwen-1.5-chat-110b', 'qwen/qwen-2-instruct-72b', 'snorkel-ai/snorkel-mistral-pairrm-dpo-7b', 'snowflake/snowflake-arctic-instruct', 'stanford/alpaca-7b', 'teknium/openhermes-2-mistral-7b', 'teknium/openhermes-2.5-mistral-7b', 'together/llama-2-7b-32k-instruct-7b', 'together/redpajama-incite-chat-3b', 'together/redpajama-incite-chat-7b', 'together/stripedhyena-nous-7b', 'undi95/remm-slerp-l2-13b', 'undi95/toppy-m-7b', 'wizardlm/wizardlm-v1.2-13b', 'upstage/upstage-solar-instruct-v1-11b', '01-ai/yi-base-34b', '01-ai/yi-base-6b', 'mistralai/mixtral-8x22b', 'google/gemma-2b', 'google/gemma-7b', 'meta/llama-2-70b', 'meta/llama-2-13b', 'meta/llama-2-7b', 'meta/llama-3-8b', 'meta/llama-3-70b', 'microsoft/microsoft-phi-2', 'nexusflow/nexusraven-13b', 'qwen/qwen-1.5-0.5b', 'qwen/qwen-1.5-1.8b', 'qwen/qwen-1.5-4b', 'qwen/qwen-1.5-7b', 'qwen/qwen-1.5-14b', 'qwen/qwen-1.5-32b', 'qwen/qwen-1.5-72b', 'together/gpt-jt-moderation-6b-7b'],
baseUrl: 'https://api.together.xyz/v1',
endpoints: {
chat: '/chat/completions',
text: '/completions',
images: '/images/generate - text-to-image',
audio: 'none',
video: 'none'
}
},
{
name: 'hugging face inference',
models: ['thousands open-source, e.g. meta-llama/llama-3-8b', 'mistralai/mistral-7b', 'many more via providers'],
baseUrl: 'https://api-inference.huggingface.co/models/{model} or https://router.huggingface.co/v1',
endpoints: {
chat: '/chat/completions - for llm/vlm',
text: '/{model} (post) - inference for text/chat',
images: 'support for vision/text-to-image models',
audio: 'support for audio/speech-to-text models',
video: 'support for text-to-video models'
}
},
{
name: 'cohere',
models: ['command-a-03-2025', 'command-r7b-12-2024', 'command-a-vision-07-2025', 'command-r-plus-04-2024', 'command-r-08-2024', 'command-r-03-2024', 'command', 'command-nightly', 'command-light', 'command-light-nightly', 'embed-v4.0', 'embed-english-v3.0', 'embed-english-light-v3.0', 'embed-multilingual-v3.0', 'embed-multilingual-light-v3.0', 'rerank-v3.5', 'rerank-english-v3.0', 'rerank-multilingual-v3.0', 'c4ai-aya-expanse-8b', 'c4ai-aya-expanse-32b', 'c4ai-aya-vision-8b', 'c4ai-aya-vision-32b'],
baseUrl: 'https://api.cohere.ai/v1',
endpoints: {
chat: '/chat - conversational',
text: '/generate - text gen',
images: 'support in vision models like command-a-vision',
audio: 'none',
video: 'none'
}
},
{
name: 'perplexity',
models: ['sonar', 'sonar-reasoning', 'sonar-deep-research'],
baseUrl: 'https://api.perplexity.ai',
endpoints: {
chat: '/chat/completions - with search',
text: 'same',
images: 'none',
audio: 'none',
video: 'none'
}
},
{
name: 'fireworks ai',
models: ['custom models supported, e.g. huggingface uploads like config.json/safetensors'], // no predefined list
baseUrl: 'https://api.fireworks.ai/v1',
endpoints: {
chat: '/chat/completions',
text: '/completions',
images: 'support for image models',
audio: 'support for audio',
video: 'support for video'
}
},
{
name: 'openrouter',
models: ['aggregates 400+: e.g. google/gemini-2.5-pro-preview, openai/gpt-4o, anthropic/claude-3.5-sonnet, etc.'],
baseUrl: 'https://openrouter.ai/api/v1',
endpoints: {
chat: '/chat/completions',
text: 'same',
images: 'depends on model',
audio: 'depends on model',
video: 'depends on model'
}
},
{
name: 'replicate',
models: ['many multimodal, e.g. replicate/hello-world', 'stability-ai/sdxl', 'black-forest-labs/flux-schnell', 'meta/meta-llama-3-70b-instruct', 'minimax/video-01'],
baseUrl: 'https://api.replicate.com/v1',
endpoints: {
chat: '/predictions (post) - run model',
text: 'same',
images: 'yes, for image models',
audio: 'yes',
video: 'yes'
}
},
{
name: 'aws bedrock',
models: ['ai21.jamba-1-5-large-v1:0', 'ai21.jamba-1-5-mini-v1:0', 'amazon.nova-canvas-v1:0', 'amazon.nova-lite-v1:0', 'amazon.nova-micro-v1:0', 'amazon.nova-premier-v1:0', 'amazon.nova-pro-v1:0', 'amazon.nova-reel-v1:0', 'amazon.nova-reel-v1:1', 'amazon.nova-sonic-v1:0', 'amazon.rerank-v1:0', 'amazon.titan-embed-text-v1', 'amazon.titan-image-generator-v2:0', 'amazon.titan-image-generator-v1', 'amazon.titan-embed-image-v1', 'amazon.titan-embed-text-v2:0', 'amazon.titan-text-express-v1', 'amazon.titan-text-lite-v1', 'amazon.titan-text-premier-v1:0', 'anthropic.claude-3-haiku-20240307-v1:0', 'anthropic.claude-3-opus-20240229-v1:0', 'anthropic.claude-3-sonnet-20240229-v1:0', 'anthropic.claude-3-5-haiku-20241022-v1:0', 'anthropic.claude-3-5-sonnet-20241022-v2:0', 'anthropic.claude-3-5-sonnet-20240620-v1:0', 'anthropic.claude-3-7-sonnet-20250219-v1:0', 'anthropic.claude-opus-4-1-20250805-v1:0', 'anthropic.claude-opus-4-20250514-v1:0', 'anthropic.claude-sonnet-4-20250514-v1:0', 'cohere.command-light-text-v14', 'cohere.command-r-plus-v1:0', 'cohere.command-r-v1:0', 'cohere.command-text-v14', 'cohere.embed-english-v3', 'cohere.embed-multilingual-v3', 'cohere.rerank-v3-5:0', 'deepseek.r1-v1:0', 'luma.ray-v2:0', 'meta.llama3-8b-instruct-v1:0', 'meta.llama3-70b-instruct-v1:0', 'meta.llama3-1-8b-instruct-v1:0', 'meta.llama3-1-70b-instruct-v1:0', 'meta.llama3-1-405b-instruct-v1:0', 'meta.llama3-2-1b-instruct-v1:0', 'meta.llama3-2-3b-instruct-v1:0', 'meta.llama3-2-11b-instruct-v1:0', 'meta.llama3-2-90b-instruct-v1:0'],
baseUrl: 'https://bedrock-runtime.{region}.amazonaws.com',
endpoints: {
chat: '/model/{model-id}/invoke - post for invoke',
text: 'same',
images: 'depends on model, e.g. titan-image-generator',
audio: 'none native',
video: 'none native'
}
},
{
name: 'azure openai',
models: ['gpt-5', 'gpt-5-mini', 'gpt-5-nano', 'gpt-5-chat', 'gpt-oss-120b', 'gpt-oss-20b', 'gpt-4.1', 'gpt-4.1-nano', 'gpt-4.1-mini', 'model-router (2025-08-07)', 'model-router (2025-05-19)', 'computer-use-preview'],
baseUrl: 'https://{resource-name}.openai.azure.com/openai',
endpoints: {
chat: '/deployments/{deployment}/chat/completions?api-version=2024-10-21',
text: '/deployments/{deployment}/completions?api-version=2024-10-21',
images: '/deployments/{deployment}/images/generations?api-version=2024-10-21',
audio: '/deployments/{deployment}/audio/transcriptions?api-version=2024-10-21, /audio/translations, /audio/speech',
video: 'no dedicated'
}
}
];
// function to render providers
function renderProviders(data) {
const container = document.getElementById('providers');
container.innerHTML = '';
data.forEach(provider => {
const section = document.createElement('div');
section.classList.add('section');
section.innerHTML = `
<div class="section-header">
<h2>${provider.name}</h2>
<span>▼</span>
</div>
<div class="section-content">
<h3>models</h3>
<ul>${provider.models.map(m => `<li>${m}</li>`).join('')}</ul>
<h3>base url</h3>
<pre>${provider.baseUrl}</pre>
<h3>endpoints</h3>
<ul>
<li>chat: ${provider.endpoints.chat}</li>
<li>text: ${provider.endpoints.text}</li>
<li>images: ${provider.endpoints.images}</li>
<li>audio: ${provider.endpoints.audio}</li>
<li>video: ${provider.endpoints.video}</li>
</ul>
</div>
`;
container.appendChild(section);
section.querySelector('.section-header').addEventListener('click', () => {
section.classList.toggle('active');
});
});
}
// initial render
renderProviders(fallbackData);
// refresh data - fetch from your api or fallback
async function refreshData() {
try {
// replace with your actual json endpoint for updates
const response = await fetch('https://your-server.com/llm-api-data.json');
if (!response.ok) throw new Error('fetch failed');
const data = await response.json();
renderProviders(data);
console.log('data refreshed');
} catch (error) {
console.error('refresh error:', error);
renderProviders(fallbackData); // fallback
}
}
// download current html
function download() {
const html = document.documentElement.outerHTML;
const blob = new Blob([html], {type: 'text/html'});
const url = URL.createObjectURL(blob);
const a = document.createElement('a');
a.href = url;
a.download = 'llm-api-docs.html';
a.click();
URL.revokeObjectURL(url);
}
// event listeners
document.getElementById('refresh-btn').addEventListener('click', refreshData);
document.getElementById('download-btn').addEventListener('click', download);
// auto-refresh every 5 min? uncomment if wanted
// setInterval(refreshData, 300000);
</script>
</body>
</html>