{"openapi":"3.0.0","info":{"description":"Infermatic AI LLM inference gateway (LiteLLM-backed, OpenAI-compatible): chat, text completions, embeddings, text-to-speech, and token counting on api.totalgpt.ai; static Bearer key.","version":"v1"},"servers":[{"description":"Infermatic AI LLM inference gateway (LiteLLM-backed, OpenAI-compatible): chat, text completions, embeddings, text-to-speech, and token counting on api.totalgpt.ai; static Bearer key.","url":"https://api.apirails.com/infermatic"}],"paths":{"/v1/models":{"get":{"tags":["Models"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://ui.infermatic.ai/docs","api_endpoint":"https://api.totalgpt.ai/v1/models"},"summary":"List available models","description":"Lists the models available to your Core API key. Call it to verify model ids before use (the docs troubleshooting section recommends checking /v1/models when a model is not found).","security":[{"bearerAuth":[]}]}},"/v1/chat/completions":{"post":{"tags":["Chat"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://ui.infermatic.ai/docs","api_endpoint":"https://api.totalgpt.ai/v1/chat/completions"},"summary":"Create chat completion","description":"Chat completion with conversation history. OpenAI-compatible drop-in. Note: models without a registered chat template (such as Rocinante or Midnight Miqu) are rejected here; use /v1/completions for those.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"frequency_penalty":{"type":"number","description":"Penalty based on token frequency"},"max_tokens":{"type":"number","description":"Maximum tokens to generate"},"messages":{"type":"array","description":"The conversation as { role, content } objects. Roles: system, user, assistant. Same as OpenAI.","required":true,"items":{"type":"object","properties":{"content":{"type":"string","description":"Content of the message","required":true},"role":{"type":"string","description":"Role of the message sender","required":true,"enum":["system","user","assistant"]}}}},"model":{"type":"string","description":"Model id from GET /v1/models","required":true},"presence_penalty":{"type":"number","description":"Penalty based on token presence"},"repetition_penalty":{"type":"number","description":"Penalty for repeated tokens"},"stop":{"type":"array","description":"Stop sequences that end generation","items":{"type":"string"}},"stream":{"type":"boolean","description":"Stream the response as server-sent events (default false)","enum":[true,false]},"temperature":{"type":"number","description":"Sampling temperature"},"top_k":{"type":"number","description":"Top-k sampling"},"top_p":{"type":"number","description":"Nucleus sampling"}}},"example":{"frequency_penalty":"","max_tokens":512,"messages":[{"content":"Hello","role":"user"}],"model":"meta-llama/Llama-3.3-70B-Instruct","presence_penalty":"","repetition_penalty":1.1,"stop":["\n\nUser:"],"stream":"","temperature":0.7,"top_k":50,"top_p":0.95}}}}}},"/v1/completions":{"post":{"tags":["Completions"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://ui.infermatic.ai/docs","api_endpoint":"https://api.totalgpt.ai/v1/completions"},"summary":"Create text completion","description":"Text completion from a raw prompt. Required for models that ship without a chat template (e.g., Rocinante, Midnight Miqu) — pass the prompt as a single flat string.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"frequency_penalty":{"type":"number","description":"Penalty based on token frequency"},"max_tokens":{"type":"number","description":"Maximum tokens to generate"},"model":{"type":"string","description":"Model id from GET /v1/models","required":true},"presence_penalty":{"type":"number","description":"Penalty based on token presence"},"prompt":{"type":"string","description":"The text prompt as a single flat string","required":true},"repetition_penalty":{"type":"number","description":"Penalty for repeated tokens"},"stop":{"type":"array","description":"Stop sequences that end generation","items":{"type":"string"}},"temperature":{"type":"number","description":"Sampling temperature"},"top_k":{"type":"number","description":"Top-k sampling"},"top_p":{"type":"number","description":"Nucleus sampling"}}},"example":{"frequency_penalty":"","max_tokens":512,"model":"Rocinante-70b","presence_penalty":"","prompt":"The key principles of machine learning are","repetition_penalty":1.1,"stop":["\n\nUser:"],"temperature":0.7,"top_k":50,"top_p":0.95}}}}}},"/utils/token_counter":{"post":{"tags":["Utilities"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://ui.infermatic.ai/docs","api_endpoint":"https://api.totalgpt.ai/utils/token_counter"},"summary":"Count tokens","description":"Counts the tokens in a text prompt or message list for a given model (LiteLLM TokenCountRequest).","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"messages":{"type":"array","description":"The message list to count (when counting chat messages)","items":{"type":"object","properties":{"content":{"type":"string","description":"Content of the message","required":true},"role":{"type":"string","description":"Role of the message sender","required":true,"enum":["system","user","assistant"]}}}},"model":{"type":"string","description":"Model to count tokens against","required":true},"prompt":{"type":"string","description":"The text to count (when counting a flat prompt)"}}},"example":{"messages":[{"content":"Hello","role":"user"}],"model":"meta-llama/Llama-3.3-70B-Instruct","prompt":"The key principles of machine learning are"}}}}}},"/v1/embeddings":{"post":{"tags":["Embeddings"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://ui.infermatic.ai/docs","api_endpoint":"https://api.totalgpt.ai/v1/embeddings"},"summary":"Create embeddings","description":"Generates text embeddings. OpenAI-compatible request format (per the platform's documented full OpenAI-format compatibility).","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"input":{"type":"array","description":"Input text to embed. Send a single string or an array of strings (OpenAI-compatible format).","required":true,"items":{"type":"string"}},"model":{"type":"string","description":"Embedding model id from GET /v1/models","required":true}}},"example":{"input":["The quick brown fox jumps over the lazy dog"],"model":"text-embedding-3-small"}}}}}},"/v1/audio/speech":{"post":{"tags":["Audio"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://ui.infermatic.ai/docs","api_endpoint":"https://api.totalgpt.ai/v1/audio/speech"},"summary":"Generate speech from text","description":"Text-to-speech generation. The platform documents 60+ high-quality voices, multiple languages, voice combination mixing, adjustable speed (0.1x-2.0x), and multiple output formats. OpenAI-compatible request format.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"input":{"type":"string","description":"The text to convert to speech","required":true},"model":{"type":"string","description":"Text-to-speech model id from GET /v1/models","required":true},"response_format":{"type":"string","description":"Output audio format (multiple formats supported)"},"speed":{"type":"number","description":"Speech speed multiplier (0.1-2.0)"},"voice":{"type":"string","description":"Voice to use (60+ high-quality voices are available; voices can be combined)","required":true}}},"example":{"input":"Welcome to Infermatic! This is an example of text-to-speech generation.","model":"tts-1","response_format":"mp3","speed":1,"voice":"alloy"}}}}}}},"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer"}}},"security":[{"bearerAuth":[]}]}