# Doubleword Documentation > Docs and references for the Doubleword inference platform with realtime, async, and batch inference and the open-source Control Layer gateway. All documentation pages are available as markdown by appending `.md` to any URL. ## CLI Full documentation: [CLI](/dw-cli.md) Command-line interface for the Doubleword Inference API and Platform. ### Doubleword CLI - [Introduction](/dw-cli/introduction.md) ### Getting Started - [Installation](/dw-cli/installation.md) - [Authentication](/dw-cli/authentication.md) - [Quickstart](/dw-cli/quickstart.md) ### Core Workflows - [Batch Processing](/dw-cli/batches.md) - [Streaming Results](/dw-cli/streaming.md) - [Real-Time Inference](/dw-cli/realtime.md) ### File Tools - [JSONL Format](/dw-cli/jsonl-format.md) - [Local File Operations](/dw-cli/file-tools.md) ### Projects - [Project System](/dw-cli/projects.md) - [Examples](/dw-cli/examples.md) ### Reference - [Command Reference](/dw-cli/commands.md) - [Accounts & Configuration](/dw-cli/accounts.md) - [API Keys & Webhooks](/dw-cli/keys-webhooks.md) - [Usage & Analytics](/dw-cli/usage.md) - [Global Flags](/dw-cli/global-flags.md) ## Control Layer Full documentation: [Control Layer](/control-layer.md) The Control Layer is a distributed AI model management platform that provides secure, scalable access control between your users and AI model providers. ### Getting Started - [Control Layer Overview](/control-layer/control-layer-overview.md): Overview of the Doubleword Control Layer, a platform for AI model management with secure and scalable access control. - [Getting Started](/control-layer/getting-started.md) ### How-to Guides - [Connect to the API](/control-layer/how-to/api.md): Learn how to interact with AI models using the Control Layer's OpenAI-compatible API, including configuration, request handling, and best practices. - [Add Endpoints](/control-layer/how-to/endpoints.md): Learn how to connect the Control Layer to AI inference endpoints by configuring model sources. - [Manage Users & Groups](/control-layer/how-to/users-and-groups.md): Learn how to manage user and group access in Control Layer for efficient model permissions. - [Set Up Health Monitoring](/control-layer/how-to/health-monitoring.md): Learn how to monitor the status of AI model endpoints using Control Layer's built-in health monitoring features. - [Deploy to Production](/control-layer/how-to/deploy-to-production.md): Checklist for deploying Control Layer to a production environment. - [Set Up Model Pricing](/control-layer/how-to/tariffs.md): Configure per-token pricing for your models using tariffs. Set different rates for realtime, batch, and playground usage. - [Set Up Payments](/control-layer/how-to/payments.md): Enable credit purchases via Stripe so users can buy credits through a self-service checkout flow. ### Reference - [Configuration Reference](/control-layer/reference/configuration.md): Reference guide for configuring the Control Layer using YAML and environment variables. ### Conceptual Guides - [How Billing Works](/control-layer/conceptual-guides/how-billing-works.md): Understand the credits-based billing system: how charges are calculated, what happens at zero balance, and how payments work. ## Doubleword Inference API Full documentation: [Doubleword Inference API](/inference-api.md) The Doubleword Inference API provides high performance, high throughput LLM inference at low cost. Sign up [now](https://app.doubleword.ai). ### Reference - [API Reference](/inference-api/api-reference.md): Complete API reference for the Doubleword Batch API - [API Skill](/inference-api/skill.md): Download a Claude Code skill that teaches Claude how to use the Doubleword Batch API for high-throughput workloads. ### Overview - [Intro to Doubleword Inference](/inference-api/intro-to-doubleword-inference.md) - [Realtime Inference](/inference-api/realtime-inference.md) - [Async Inference](/inference-api/async-inference.md) - [Batch Inference](/inference-api/batch-inference.md): A guide on how to submit your first batch to the Doubleword Batched API ### Models - [Models & Pricing](/inference-api/models.md): Browse available Doubleword models and pricing. ### Using the Platform - [Using the Platform](/inference-api/using-the-platform.md): Platform integration guides - [What is a JSONL file?](/inference-api/jsonl-files.md): Understand JSONL formatting and see step-by-step examples for submitting large batches of chat completion requests to the Doubleword Batch API. - [Creating an API Key](/inference-api/creating-an-api-key.md) - [Prompt caching](/inference-api/prompt-caching.md): Reuse a large, unchanging prompt prefix across requests and pay a reduced rate for the repeated tokens using cache_control markers. - [Tool Calling and Structured Outputs](/inference-api/tool-calling.md): Learn how to use OpenAI-compatible tool calling and Structured Outputs with Doubleword to build reliable agents and enforce strict JSON Schema responses. - [Reasoning effort](/inference-api/reasoning-controls.md): Set reasoning effort with the OpenAI-compatible Chat Completions or Responses API. - [Notifications & Webhooks](/inference-api/batch-notifications-and-webhooks.md) ### Account & Billing - [Account & Billing](/inference-api/account-and-billing.md): Account and billing guides - [Adding credits to your account](/inference-api/adding-credits-to-your-account.md): Step-by-step guide to adding credits in the Doubleword Console so your Batch API calls run without interruptions. - [Auto Top-Up](/inference-api/auto-topup.md): Automatically recharge your credit balance when it drops below a threshold, so you never run out mid-workflow. - [How to manage payment methods and invoice history](/inference-api/how-to-manage-payments.md) ### Organizations - [Organizations Overview](/inference-api/organizations-overview.md) - [Inviting Team Members](/inference-api/inviting-team-members.md) - [Organization API Keys](/inference-api/organization-api-keys.md) - [Submitting Batches as an Organization](/inference-api/organization-batches.md) - [Organization Credits & Billing](/inference-api/organization-credits.md) ### SDKs & CLI - [SDKs & CLI](/inference-api/sdks-and-cli.md): Client libraries and CLI docs - [Autobatcher](/inference-api/autobatcher.md): Python and TypeScript client that automatically converts individual API calls into batched requests for cost savings. - [DW CLI](/inference-api/dw-cli.md): Install and use the Doubleword CLI to manage batch inference from the terminal. ### Workbooks - [Workbooks](/inference-api/cli-examples.md) - [Async Agents](/inference-api/async-agents.md) - [Data Processing Pipelines](/inference-api/data-processing-pipelines.md) - [Structured Data Extraction](/inference-api/structured-extraction.md) - [Large-Scale Semantic Search Without Embeddings](/inference-api/semantic-search-without-embeddings.md): Implement semantic search at scale using LLMs directly instead of traditional embedding models. - [Creating a Daily Research Paper Digest](/inference-api/research-summaries.md): Build an automated arXiv digest that costs $1/year using the Batch API to filter and summarize relevant papers. - [Image Summarization](/inference-api/image-summarization.md) - [Embeddings](/inference-api/embeddings.md) - [Model Evals](/inference-api/model-evals.md) - [Synthetic Data Generation](/inference-api/synthetic-data-generation.md) - [Dataset Compilation](/inference-api/dataset-compilation.md) - [Classifying Security Vulnerabilities ](/inference-api/bug-detection-ensemble.md) - [Building an Agentic PR Review Bot](/inference-api/pr-review-bot.md): Build a self-hosted GitHub PR review bot on opencode and Doubleword async inference, with code samples for chat completions and the Open Responses API. - [Doubleword Agent Swarm](/inference-api/agent-swarm.md): Run a self-designing agent swarm — orchestrator, bounded-context workers, adversarial verifiers, synthesizer — on the Open Responses API with the dw CLI. ### Integrations - [Integrations](/inference-api/integrations.md): Use the Doubleword Inference API with popular AI agent frameworks - [Anthropic API Compatibility](/inference-api/anthropic-api-compatibility.md): Use the Anthropic Messages API against Doubleword - messages, streaming, the flex tier, and batch via the OpenAI batch format. - [Agno](/inference-api/integrations/agno.md): Route Agno agent requests through the Control Layer - [Arize AX](/inference-api/integrations/arize-ax.md): Evaluating agentic workflows gets expensive fast. Run your LLM-as-a-judge evals on Doubleword's high-throughput batch tier for 4-6x less and watch every generation, judgement, and score land in Arize AX. - [Arize Phoenix](/inference-api/integrations/arize-phoenix.md): Integrate Self-Hosted Arize Phoenix with Doubleword to Run LLM-as-Judge Evals at Scale - [atomic-agents](/inference-api/integrations/atomic-agents.md): Route atomic-agents requests through the Control Layer - [CrewAI](/inference-api/integrations/crewai.md): Route CrewAI agent requests through the Control Layer - [Daytona](/inference-api/integrations/daytona.md): Offload your agent's code to the background with Doubleword and Daytona, generating it cheaply with async inference and running it safely in parallel. - [Google ADK](/inference-api/integrations/google-adk.md): Route Google ADK agent requests through the Control Layer - [LangChain / LangGraph](/inference-api/integrations/langchain.md) - [Langsmith](/inference-api/integrations/langsmith.md) - [LlamaIndex](/inference-api/integrations/llamaindex.md) - [Mastra](/inference-api/integrations/mastra.md): Route Mastra agent requests through the Control Layer - [mem0](/inference-api/integrations/mem0.md): Route Mem0's memory extraction through Doubleword's async Flex tier to bulk-ingest thousands of transcripts for half the cost, with no rate-limit backoff code. - [Microsoft Agent Framework](/inference-api/integrations/microsoft-agent-framework.md): Route Microsoft Agent Framework requests through the Doubleword API - [OpenAI Agents SDK](/inference-api/integrations/openai-agents.md): Route OpenAI Agents SDK requests through the Control Layer - [OpenClaw](/inference-api/integrations/openclaw.md) - [Opencode](/inference-api/integrations/opencode.md): Run the most performant open-source coding model in your terminal or local browser. This guide walks you through pairing opencode with GLM-5.2 on Doubleword - full 1M-token context, ideal for long-running background tasks and agents, and repository-wide work. - [PydanticAI](/inference-api/integrations/pydantic-ai.md): Route PydanticAI agent requests through the Control Layer - [smolagents](/inference-api/integrations/smolagents.md): Route smolagents requests through the Control Layer - [Supermemory](/inference-api/integrations/supermemory.md): Learn how to cut Supermemory memory extraction costs by 99% by routing background LLM workloads through Doubleword's async and batch API tiers, while keeping real-time retrieval fast. - [Vercel AI SDK](/inference-api/integrations/vercel-ai.md) ### Data Sources - [Data Sources](/inference-api/data-sources.md): Connect external data sources to Doubleword for automated batch processing. - [S3 Connections (Beta)](/inference-api/data-sources/connections.md): Connect S3 buckets to automatically sync files and create batches. ### Support - [Get Support](/inference-api/get-support.md): Contact support, request features, or get help optimizing your batch workloads. ### Archive - [Why Batch Inference Matters](/inference-api/why-batch-inference-matters.md): Understand how batch processing enables autonomous AI workloads that deliver higher business value than real-time assistants. - [Behind the Stack: Batched Endpoints](/inference-api/behind-the-stack-batched-endpoints.md): Deep dive into how batched endpoints reduce costs through demand flattening, spot instances, and prefix caching. - [Parallel Primitives for Multi-Agent Workflows](/inference-api/parallel-primitives.md): Design patterns for running multi-agent workflows efficiently using parallel batch processing. - [ZeroDP: Just-In-Time Weight Offloading over NVLink for Data Parallelism](/inference-api/zerodp-just-in-time-weight-offloading-over-nvlink-for-data-parallelism.md): High throughput inference of LLMs using JIT weight offloading to optimize KV Cache. ### Models - [GLM 5.2](/inference-api/models/zai-org-glm-5-2-fp8.md) - [Nemotron 3 Ultra 550B A55B](/inference-api/models/nvidia-nvidia-nemotron-3-ultra-550b-a55b-nvfp4.md) - [DeepSeek V4 Pro](/inference-api/models/deepseek-ai-deepseek-v4-pro.md) - [DeepSeek V4 Flash](/inference-api/models/deepseek-ai-deepseek-v4-flash.md) - [Qwen3.6 35B A3B](/inference-api/models/qwen-qwen3-6-35b-a3b-fp8.md) - [Kimi K2.6](/inference-api/models/moonshotai-kimi-k2-6.md) - [GLM 5.1](/inference-api/models/zai-org-glm-5-1-fp8.md) - [Gemma 4 31B IT](/inference-api/models/google-gemma-4-31b-it.md) - [Nemotron 3 Super 120B A12B](/inference-api/models/nvidia-nvidia-nemotron-3-super-120b-a12b-nvfp4.md) - [Qwen3.5 9B dottxt](/inference-api/models/qwen-qwen3-5-9b-dotjson.md) - [Qwen3.5 4B](/inference-api/models/qwen-qwen3-5-4b.md) - [Qwen3.5 9B](/inference-api/models/qwen-qwen3-5-9b.md) - [Qwen3.5 35B A3B dottxt](/inference-api/models/qwen-qwen3-5-35b-a3b-fp8-dotjson.md) - [Qwen3.5 397B A17B dottxt](/inference-api/models/qwen-qwen3-5-397b-a17b-fp8-dottxt.md) - [Qwen3.5 397B A17B](/inference-api/models/qwen-qwen3-5-397b-a17b.md) - [DeepSeek OCR 2](/inference-api/models/deepseek-ai-deepseek-ocr-2.md) - [LightOnOCR 2 1B bbox soup](/inference-api/models/lightonai-lightonocr-2-1b-bbox-soup.md) - [Devstral 2 123B Instruct 2512](/inference-api/models/mistralai-devstral-2-123b-instruct-2512.md) - [olmOCR 2 7B 1025](/inference-api/models/allenai-olmocr-2-7b-1025-fp8.md) - [Qwen3 VL 30B A3B Instruct](/inference-api/models/qwen-qwen3-vl-30b-a3b-instruct-fp8.md) - [Qwen3 VL 235B A22B Instruct](/inference-api/models/qwen-qwen3-vl-235b-a22b-instruct-fp8.md) - [GPT OSS 20B](/inference-api/models/openai-gpt-oss-20b.md) - [GPT OSS 120B](/inference-api/models/openai-gpt-oss-120b.md) - [Qwen3 Embedding 8B](/inference-api/models/qwen-qwen3-embedding-8b.md) - [Qwen3 14B](/inference-api/models/qwen-qwen3-14b-fp8.md)