# NanoGPT Last updated: 2026-06-11 > NanoGPT provides one web app and OpenAI-compatible APIs for text, reasoning, coding, image, video, audio, data, moderation, batch, and agent workflows. Standard auto-routed text model API usage is billed at list prices with no markup (manually pinned providers add 5%; BYOK requests are instead billed at 5% of the normal model cost, since you pay your own provider directly), there are no percentage deposit fees, and chat responses include the exact cost charged (`x_nanogpt_pricing` on chat completions, `usage.cost` on the Responses API). The live model catalog changes often, so agents should use the model APIs below instead of relying on static model lists. ## Canonical URLs - Website: https://nano-gpt.com/ - App entry point: https://nano-gpt.com/conversation/new - Models: https://nano-gpt.com/models - Text models: https://nano-gpt.com/models/text - Image models: https://nano-gpt.com/models/image - Video models: https://nano-gpt.com/models/video - Media workspace: https://nano-gpt.com/media - API page: https://nano-gpt.com/api - Updates: https://nano-gpt.com/updates - Pricing and subscription: https://nano-gpt.com/subscription - Privacy policy: https://nano-gpt.com/privacy - Terms of service: https://nano-gpt.com/terms - Sitemap: https://nano-gpt.com/sitemap.xml - Robots: https://nano-gpt.com/robots.txt - Minimal LLM helper: https://nano-gpt.com/llms.txt - Full LLM helper: https://nano-gpt.com/llms-full.txt - OpenAPI schema: https://nano-gpt.com/openapi.json ## Authentication Most API endpoints accept a NanoGPT API key with either: ```http Authorization: Bearer ``` or: ```http x-api-key: ``` Do not expose API keys in public clients, logs, prompts, shared conversations, or support messages. API keys can have request, spend, input-token, model, provider, origin, expiration, and privacy controls. ## Model Discovery Use live catalog endpoints for model selection: - Text models: `GET https://nano-gpt.com/api/v1/models` - Text models with details: `GET https://nano-gpt.com/api/v1/models?detailed=true` - Embedding models: `GET https://nano-gpt.com/api/v1/embedding-models` - Image models: `GET https://nano-gpt.com/api/v1/image-models` - Video models: `GET https://nano-gpt.com/api/v1/video-models` - Audio models: `GET https://nano-gpt.com/api/v1/audio-models` - Audio TTS only: `GET https://nano-gpt.com/api/v1/audio-models?type=tts` - Audio STT only: `GET https://nano-gpt.com/api/v1/audio-models?type=stt` - Moderation models: `GET https://nano-gpt.com/api/v1/moderation-models` - Current API key metadata: `GET https://nano-gpt.com/api/v1/api-keys/current` Model list endpoints can include capabilities, context length, output limits, subscription inclusion, pricing metadata, and supported modalities. Treat all static model examples as examples only. ## Text And Chat APIs Primary text endpoints: - Chat Completions: `POST https://nano-gpt.com/api/v1/chat/completions` - Legacy Completions compatibility: `POST https://nano-gpt.com/api/v1/completions` - Responses compatibility: `POST https://api.nano-gpt.com/api/v1/responses` - Responses item lookup: `GET https://api.nano-gpt.com/api/v1/responses/{id}` - Messages compatibility: `POST https://nano-gpt.com/api/v1/messages` - Messages token counting: `POST https://nano-gpt.com/api/v1/messages/count_tokens` - Embeddings: `POST https://nano-gpt.com/api/v1/embeddings` The website host also serves the Responses routes, but the dedicated direct API host is preferred for large or long-running requests because it avoids the website host's smaller request-body ingress limit. Chat requests use OpenAI-compatible `messages`, `model`, `stream`, `tools`, `tool_choice`, `response_format`, and generation parameters where supported by the selected model. Some models support image input, PDF input, tool calling, structured outputs, reasoning controls, prompt caching, web search, memory, or provider routing. Use the live model details and request errors as the source of truth for capability support. Avoid sending low `max_tokens` to thinking or reasoning models unless you explicitly want a short answer. A very low output cap can produce partial or empty responses. ## Fusion API Fusion runs multiple source models, analyzes their responses, and asks a synthesizer model to produce one final answer. - Dedicated endpoint: `POST https://nano-gpt.com/api/v1/fusion/completions` - Chat Completions extension: `POST https://nano-gpt.com/api/v1/chat/completions` with a `fusion` object Fusion source models should be selected from the live text model catalog. Fusion is best for comparison, synthesis, critique, and higher-confidence answers. It is not intended for tool-calling requests in v1. ## Batch And Files APIs Batch jobs are useful for high-volume asynchronous work. - Inline batches: `POST https://api.nano-gpt.com/api/beta/batches` - Inline batch list: `GET https://api.nano-gpt.com/api/beta/batches` - Inline batch lookup: `GET https://api.nano-gpt.com/api/beta/batches/{id}` - Inline batch cancellation: `POST https://api.nano-gpt.com/api/beta/batches/{id}/cancel` - Files: `POST https://api.nano-gpt.com/api/v1/files` - File lookup: `GET https://api.nano-gpt.com/api/v1/files/{id}` - File content: `GET https://api.nano-gpt.com/api/v1/files/{id}/content` - Batches: `POST https://api.nano-gpt.com/api/v1/batches` - Batch list: `GET https://api.nano-gpt.com/api/v1/batches` - Batch lookup: `GET https://api.nano-gpt.com/api/v1/batches/{id}` - Batch cancellation: `POST https://api.nano-gpt.com/api/v1/batches/{id}/cancel` Batch rows support `/v1/chat/completions` and `/v1/responses`. Every row in one batch must use the same endpoint and model, and all batch requests are non-streaming. The inline workflow returns results through the batch lookup response. The OpenAI-compatible file workflow uses JSONL input and downloadable output files. Submit canonical NanoGPT model slugs in batch rows; upstream provider model IDs are internal routing details. Discover current support with `GET https://nano-gpt.com/api/v1/models?detailed=true` and select models whose `supported_batch_endpoints` include `/v1/chat/completions`. Both list endpoints accept `limit` (1 to 100, default 20), `after`, `before`, repeatable or comma-separated `status`, `created_after`, and `created_before`. Results are newest first. Use `after=` for the next older page and `before=` for the adjacent newer page, preserving all filters. `after` and `before` cannot be combined. Inline list responses are metadata-only: `results` is always `null`, so retrieve the individual inline batch for completed result bodies. Chat Completions batches require `messages` and an output-token cap. Responses batches require `input`; file-backed rows require `max_output_tokens >= 16`, while inline rows receive a 4096-token default when the cap is omitted. Responses batches currently support direct OpenAI models, run with `store: false`, and support function/custom tools, structured text output, and remote or data-URL images. Stateful fields, provider-hosted tools, file references, and NanoGPT-only extensions are not supported in Responses batches. ## Image APIs OpenAI-compatible image endpoints: - Image generation: `POST https://nano-gpt.com/api/v1/images/generations` - Image edits: `POST https://nano-gpt.com/api/v1/images/edits` - Image edit alias: `POST https://nano-gpt.com/api/v1/images/edit` - Image description: `POST https://nano-gpt.com/api/v1/image-description` For model selection, use `GET /api/v1/image-models`. Image models vary in supported input images, aspect ratios, edit modes, output counts, and quality settings. ## Audio APIs OpenAI-compatible audio endpoints: - Text to speech: `POST https://nano-gpt.com/api/v1/audio/speech` - Speech to text: `POST https://nano-gpt.com/api/v1/audio/transcriptions` - Audio models: `GET https://nano-gpt.com/api/v1/audio-models` Audio models vary in supported voices, formats, languages, duration limits, timestamp options, and response formats. Use `GET /api/v1/audio-models?detailed=true` for current capabilities. ## Video APIs Use the model catalog for current video-generation options: - Video models: `GET https://nano-gpt.com/api/v1/video-models` - Media workspace: https://nano-gpt.com/media?mode=video Video models can differ in duration, aspect ratio, image-to-video support, reference input support, audio input support, and polling behavior. Prefer model-specific metadata from the live catalog before constructing a request. ## Data And Research APIs NanoGPT exposes data tools for agents and applications: - Data tool discovery and dispatch: `GET/POST https://nano-gpt.com/api/v1/data` - Path-style data tools: `https://nano-gpt.com/api/v1/data/{tool_path}` - Reddit: `POST https://nano-gpt.com/api/v1/reddit` - TikTok: `POST https://nano-gpt.com/api/v1/tiktok` - Instagram posts/profile/reels: `POST /api/v1/instagram/posts`, `/profile`, `/reels` - Facebook ads/posts: `POST /api/v1/facebook/ads`, `/posts` - LinkedIn profile: `POST https://nano-gpt.com/api/v1/linkedin/profile` - Google Maps and reviews: `POST /api/v1/googlemaps`, `/api/v1/googlemaps/reviews` - Hunter: `POST https://nano-gpt.com/api/v1/hunter` - X tools: `https://nano-gpt.com/api/v1/x` Data tools may contact external data services, fetch URLs, or add fetched results into model context. Do not use them for private, credentialed, or restricted data unless you have permission. ## Moderation And Safety Moderation endpoints: - Moderation models: `GET https://nano-gpt.com/api/v1/moderation-models` - Moderation classification: `POST https://nano-gpt.com/api/v1/moderations` Some text routes also support inline moderation headers. Moderation can classify text and supported image inputs before generation or storage. A moderation pass is not a guarantee that all downstream providers or generated media will accept the request. ## Usage, Billing, And Limits Useful billing and account endpoints: - Current API key: `GET https://nano-gpt.com/api/v1/api-keys/current` - API usage: `GET https://nano-gpt.com/api/v1/usage` - Subscription usage: `GET https://nano-gpt.com/api/v1/subscription/usage` - x402 endpoint support: `GET https://nano-gpt.com/api/v1/x402/endpoints` Usage responses report model labels and billing details for reconciliation. ## Privacy Controls NanoGPT supports several privacy and routing controls, but their scope is route-specific: - Local conversation storage by default in the web app, unless sync or sharing is enabled. - Optional PII redaction for supported text requests. - BYOK for supported text and web-search provider paths. - Team BYOK for supported team-routed requests. - Provider selection and provider restrictions for supported provider-routed requests. - Private/TEE models where available. - Browser-encrypted Private Mode for supported local-proxy or browser flows. - Memory and web search controls that can add extra context or extra data flows. Important: BYOK and provider selection do not mean NanoGPT never processes request content. Private Mode has a narrower and stronger boundary for supported encrypted flows. Always check route-specific docs and live behavior before making privacy claims. ## Agent And Integration Surfaces Agent and integration entry points: - Agent capabilities: `GET https://nano-gpt.com/api/v1/agent-capabilities` - MCP landing page: https://nano-gpt.com/mcp - MCP docs: https://docs.nano-gpt.com/integrations/mcp - Agents page: https://nano-gpt.com/agents - OpenAPI schema: https://nano-gpt.com/openapi.json NanoGPT is compatible with OpenAI-style clients for many text, image, audio, and batch workflows. Some third-party agent clients have stricter expectations around streaming, tool calls, and finish reasons; prefer current endpoint docs and conformance-tested model choices for agentic workflows. ## Recommended Agent Behavior - Discover models live before selecting a model. - Keep API keys and private user content out of prompts, logs, URLs, and shared outputs. - Use explicit `stream: true` only when the client can consume server-sent events correctly. - Do not set tiny output limits on reasoning models. - Use moderation for user-generated content workflows where appropriate. - Use usage endpoints for billing reconciliation instead of scraping UI pages. - Follow `Retry-After` and rate-limit responses. - Treat generated media URLs and uploaded files as sensitive if they came from user content. ## Public Documentation Index - API models: https://nano-gpt.com/api/v1/models - OpenAPI: https://nano-gpt.com/openapi.json - Fusion docs source: https://nano-gpt.com/api/v1/fusion/completions - Usage docs source: https://nano-gpt.com/api/v1/usage - Privacy: https://nano-gpt.com/privacy - Terms: https://nano-gpt.com/terms - Updates: https://nano-gpt.com/updates For the latest product details, prefer live endpoints and canonical pages over this static helper file.