The best API for Dyad is either OpenRouter, the one independent multi-vendor gateway with a built-in preset, or any other OpenAI-compatible endpoint added under Settings → AI Providers → Add Custom Provider — the route Dyad's maintainer pointed to when one gateway asked to be added as a preset, saying in that issue that custom providers already cover it and a preset was not needed absent a lot of user demand. But the decision that moves your bill most is not the endpoint. It is the plan boundary: on Dyad Free, Agent mode is capped at 20 messages per 23-hour window no matter whose key you use, while Build, Ask and Plan modes are uncapped, and the two Pro modes cannot be reached with a customer key at all.
One disambiguation first, because the search results genuinely mix them. This page is about Dyad the local, open-source AI app builder from Dyad Tech, Inc. at dyad.sh — an Electron desktop app whose repository is dyad-sh/dyad. It is not JuliaHub's Dyad, an AI-assisted physics-based modelling product whose own pricing page lists a $20-a-month "Light AI" tier. It is also not the Roborock "Dyad Pro" vacuum or the DYAD token. Every figure below comes from dyad.sh, from Dyad's repository, or from Kunavo's live catalog.
The project is active, not archived and not renamed: the GitHub API reported archived: false and a last push of September 18, 2026 when checked on September 19, 2026. The latest stable release is v1.15.0 (September 11, 2026) and the latest prerelease is v1.16.0-beta.1 (September 16, 2026).
Dyad pricing: what the software costs
Three plans, all published on dyad.sh/pricing and read on September 19, 2026. No annual price appears anywhere on that page.
| Plan | Published price | What it includes | What still bills separately |
|---|---|---|---|
| Dyad Free | $0 | "Local, open-source AI App Builder", "No sign-up required", "Bring your own API key", community support | Every token, on your own provider account |
| Dyad Pro | $20 per month | 200 AI credits per month, the exclusive Pro modes, full Dyad Academy access | Anything beyond the credit bundle; reload pricing is not published |
| Dyad Max | $79 per month | 900 AI credits per month, prioritized office hours, "Reload credits at any time (same price)" | Same — the reload rate itself is behind a sign-in |
Two things the plan table cannot tell you, and no honest page should pretend otherwise. Dyad never publishes the dollar value of a credit. Its FAQ defines one circularly — "A credit corresponds directly to the cost of sending a message to an AI model" — and the Pro documentation says only that Dyad keeps an internal per-token cost per model. Dividing the advertised bundles gives $0.10 per credit on Pro and about $0.088 on Max, roughly 12% less per credit, but that is arithmetic on a bundle, not a published rate, and it still does not tell you how many credits a build turn consumes. Any claim of the form "N credits per message" is unverifiable.
Three more terms worth reading before you subscribe. Credits roll over for exactly one month while the subscription stays paid. The refund policy (last updated August 18, 2025) says Dyad is "unable to offer full refunds if you've used all your AI credits, as Dyad has already paid the AI providers for that usage" — spent credits are a sunk cost in a way a prepaid token balance is not. And the platform line is not quite what the pricing page says: that page advertises "Downloadable for macOS & Windows", while the FAQ adds that "Dyad has experimental Linux support" but "currently isn't tested on Linux and may have bugs" and that Linux gets no auto-updates. Both pages are dyad.sh; trust the FAQ.
Dyad also commits to the free app staying free: "The Dyad core product isn't going anywhere; it is—and will always remain—a free, local, open-source AI app builder." On the license, read the repository's LICENSE and README rather than its metadata: code outside src/pro is Apache-2.0 and code inside src/pro is fair-source under the Functional Source License 1.1, while package.json declares MIT and contradicts both.
What a bring-your-own key reaches, and what it does not
This is the real cost boundary, and it is not on the pricing table.
| Capability | Dyad Free with your own key | Dyad Pro credits |
|---|---|---|
| Build, Ask and Plan modes | Uncapped — "Build mode has no usage limits for all users" covers Build; the free quota gate in the source fires only in Agent mode | Uncapped |
| Agent mode | Capped at 20 messages per 23-hour window | Runs against Pro credits |
| Smart Context | Unreachable with any customer key | Included, on by default |
| Turbo Edits | Unreachable with any customer key | Included, on by default |
| "Auto (balanced)" and "Free (Daily)" picker entries | Sit under Dyad's own hosted provider, so they need a Dyad Pro key | Available |
| Local models via Ollama or LM Studio | Available, no per-request charge | Available |
| Where your key travels | "your API keys connect directly to AI providers without passing through our servers" | Requests are served by Dyad |
The Pro-modes ceiling is stated flatly in Dyad's pricing FAQ: "No, Pro modes like Smart Context can only be used with Dyad Pro's AI credits, not with your own API keys", because they "require server-side processing and use multiple AI models working together". There are exactly two of them: Turbo Edits, advertised as "Up to 50% faster code generation, especially for large files" and "Up to 2× cheaper, saving your AI credits", and Smart Context, which "automatically includes the most relevant files from your codebase in the chat context". No methodology is published for either claim, nor for the Super Value router's "Build at 20% of the cost". Quote them; do not budget from them.
The Agent cap is the number most write-ups get wrong. It is 20: the v1.12.0 notes say "Free users can now send up to 20 Basic Agent messages per day, increased from 10", the v1.13.0 notes repeat it, and the shipping source sets FREE_AGENT_QUOTA_LIMIT = 20 against a QUOTA_WINDOW_MS of 23 hours — a fixed window, not a rolling day. Aborted or failed agent streams are refunded to the quota. Dyad's own blog post dated February 4, 2026 still says "a 5-message daily quota (150 messages per month)", and it is stale.
One more boundary is visible only in the source. With Dyad Pro switched off and no Pro key present, a custom provider is a plain direct client and nothing about the request reaches Dyad. With Dyad Pro switched on and a Pro key configured, Dyad still sends your custom-provider traffic straight to your endpoint but wraps it so token counts are reported to its own engine — the code comment reads "The engine owns account spend." What rate, if any, Dyad applies to that reported usage is server-side and published nowhere, so this page does not state one. If you want the gateway bill to be the only bill, leave Dyad Pro off.
Where a Dyad turn's tokens actually go
Since v1.13.0, Build mode is an agentic loop and Dyad removed manual context configuration by path for it. That is convenient and it moves the token decision out of your hands: each generate, edit and self-debug step re-sends a working set the app selects. Output tokens matter more than usual too, because editing a component means emitting code, not prose.
Two fields in the custom-model form control the rest, and both are easy to leave blank. Dyad's documentation warns only that "If left blank, Dyad will use default values, which may be smaller than optimal"; the source is specific. The default context window is 128,000 tokens, and, with context compaction left on (the shipping default), Dyad compacts a conversation at the lower of a per-provider cap and contextWindow − 25,000. A custom provider is stored under a custom:: id, so it does not take the Google or OpenAI caps — it takes the 250,000-token one.
The arithmetic that follows is worth doing once. Leave Context Window blank and Dyad compacts at 103,000 tokens. Type in the real window for a long-context model such as Claude Opus 5 at 1,000,000 tokens and it compacts at 250,000 instead — the cap, not the model's limit. Compaction is a summarization pass over the conversation, so compacting sooner means paying for more of them and losing more detail between them. Take both numbers from the model catalog rather than guessing. Set Max Output Tokens from the same page.
Adding an OpenAI-compatible endpoint to Dyad
Settings → AI Providers → Add Custom Provider. The shipping dialog has four fields, one of which the documentation does not mention.
| Field | What to enter | Why it matters |
|---|---|---|
| Provider ID | A short slug with no spaces | "used internally and cannot be changed later"; stored with a custom:: prefix |
| Display Name | Whatever you want in the picker | Cosmetic only |
| API Base URL | https://api.kunavo.com/v1 | Passed through verbatim — Dyad appends nothing, and the dialog's own placeholder ends in /v1. Leave it empty and Dyad throws "missing the API Base URL" |
| Environment Variable (optional) | e.g. KUNAVO_API_KEY | Undocumented on the docs page. The source reads the stored key first and falls back to this variable only when no key is saved in settings |
Then open the new provider, scroll to Add Custom Model, and fill in Model ID, Name, Description, Max Output Tokens and Context Window. The Model ID must match the catalog slug exactly — Dyad's docs say it "must match exactly what's specified in the provider's API documentation. It's the identifier sent to the API" — so claude-opus-5, not a display name. See the chat endpoint reference for the ids and quickstart for a first key.
One protocol boundary decides whether this works at all. Dyad builds a custom provider as an OpenAI chat-completions client — the source comment is literally "Assume custom providers are OpenAI compatible for now" — and there is no Anthropic-shaped custom provider type. Its built-in Anthropic provider is constructed with no base-URL argument, so there is no ANTHROPIC_BASE_URL-style override, and its built-in OpenAI provider uses the Responses API, also with no base URL. So route Claude models through the chat-completions surface rather than the Messages protocol; OpenAI-compatible API covers that shape, and the base-URL page explains why the other path is not reachable from here.
Kunavo has not runtime-tested Dyad against its endpoint, and publishes no Dyad integration guide. The steps above are read from Dyad's documentation and its shipping source, not from an observed run. Three things specifically remain untested: whether Agent-mode tool calls behave through this dispatch for a given model, whether streaming usage is reported back (Dyad constructs the client with usage included), and how each model handles the loop. Keep a working route available, run one bounded feature, and read the charge your account recorded. Pi pricing documents the same hand-configured pattern for another client.
A worked Dyad API cost estimate
These are illustrative token arithmetic, not measured task costs and not a bill ceiling. Assume one agentic turn sends 120,000 uncached input tokens and receives 8,000 output tokens, and that a working session runs 20 such turns. Those three numbers are assumptions for illustration; your app's size and how often Dyad compacts will move them. Rates are live Kunavo catalog prices per million tokens, with no cache reads or writes.
| Model | Input / output per 1M | Estimate per turn | Estimate per 20-turn session |
|---|---|---|---|
| GPT-5.6 Luna | $0.07 / $0.42 | $0.012 | $0.24 |
| Claude Haiku 4.5 | $0.40 / $2.00 | $0.064 | $1.28 |
| Gemini 3.8 Flash | $0.525 / $2.625 | $0.084 | $1.68 |
| GPT-5.6 Terra | $0.70 / $4.20 | $0.118 | $2.35 |
| Claude Sonnet 4.6 | $1.20 / $6.00 | $0.192 | $3.84 |
| Claude Opus 5 | $2.00 / $10.00 | $0.320 | $6.40 |
Read the spread rather than the winner. Under these assumptions the session estimate runs from $0.24 on GPT-5.6 Luna to $6.40 on Claude Opus 5 — a real gap, and also small enough that a model needing one extra pass at the same feature can erase it. Claude Sonnet 5 lists at the same $2.00 / $10.00 as Claude Opus 5, so the choice between those two is about capability rather than rate.
Two Kunavo-side caveats belong in the same estimate. The catalog amount is a billing floor rather than a cap: when the upstream reports its charge, the bill is the greater of catalog cost and upstream cost times the applicable markup — see billing. And the minimum top-up is $10 of prepaid credit, which is the cash needed to open a funded account, not a task fee or a subscription. Cache pricing is separate and documented at caching. A Dyad Pro subscription cannot be put in this table honestly, because the credit-to-token rate is not published.
Which route wins, and when
| Route | Wins when | What you give up |
|---|---|---|
| Dyad Free + a custom OpenAI-compatible provider | You switch models per task, want one key and one prepaid balance, and mostly work in Build mode | Pro modes entirely, plus the 20-message Agent window; you type the model metadata in by hand |
| Dyad Free + a direct vendor key | One vendor's flagship covers everything and you want its own caching and account terms | Same Dyad-side limits; a second vendor means a second account and a second key |
| Dyad Pro or Max credits | You want Smart Context and Turbo Edits, and prefer a fixed monthly outlay to a meter | Price transparency — the credit-to-token rate is unpublished — and full refundability of spent credits |
| A connected ChatGPT subscription | You already pay for one and want more headroom than credits alone | It is in beta: shipped only in v1.16.0-beta.1 on September 16, 2026, and Agent mode adds an orchestration fee on top |
| Local model via Ollama or LM Studio | Small, private or throwaway work with no per-request charge | Capability on a multi-step agentic loop; Dyad's own docs warn smaller models may struggle to follow its instructions |
The subscription row is genuinely new and easy to miss. The v1.16.0-beta.1 notes say Dyad "lets you build with your ChatGPT subscription, including for free users", recommend ChatGPT Plus or Pro for top models, and state that in Agent mode "Dyad charges a small orchestration fee based on total token usage" of "up to 1.5 credits per million tokens", or 0.3 for smaller models. Its "up to 5x the usage" line carries no published methodology. As of September 19, 2026 this had not reached a stable release — re-check before planning around it. Re-check OpenAI's own subscription prices at the source too; the ones on that page are Dyad quoting a third party.
Finally, on picking a model: treat Dyad's own recommendations as dated. Its optimization guide still opens "As of May 13, 2025" and its credit-maximizing page still reasons about 2025 models, while the Pro page advertises a 2026 lineup — so the two disagree by about a year. That guide also quotes a specific free-tier requests-per-day allowance for a Google model; Google's current rate-limit page no longer publishes that number and says limits "can be viewed in Google AI Studio", so it cannot be confirmed from a public page and this one does not repeat it. When your own free-tier key starts returning rate-limit errors, Dyad's troubleshooting page names the options honestly: wait for the limit to cool down, upgrade to a paid API key, switch to another AI provider, use manual context management, or upgrade to Dyad Pro. For a capability-versus-cost shortlist see the coding-model comparison, and AI cost optimization for the measurement method.
If an independent gateway is the route you want, note that Dyad ships exactly one as a preset. Its built-in list is OpenAI, Anthropic, Google Gemini, Vertex, OpenRouter, Dyad's own hosted option, Azure, xAI, Bedrock and MiniMax, plus local Ollama and LM Studio — so OpenRouter is the only independent multi-vendor gateway with a first-class entry, and the others arrive through the custom-provider form above. That is a setup difference, not a rate difference; compare the two on price and funding terms. OpenRouter alternatives and best LLM gateway cover that comparison, and cheapest Claude API covers the family most app builders settle on. When you are ready to price a real feature, create a Kunavo account and run one bounded build against the model you shortlisted.
FAQ
How much does Dyad cost?
Dyad the desktop app is free. The dyad.sh pricing page lists Dyad Free at $0, Dyad Pro at $20 per month with 200 AI credits, and Dyad Max at $79 per month with 900 AI credits (checked September 19, 2026); no annual price is published. Everything outside the src/pro directory of the repository is Apache-2.0, and the code inside src/pro is fair-source under the Functional Source License 1.1. So on the free plan the only money you spend is the model API bill from whichever provider key you configure, or nothing per request if you run a local model through Ollama or LM Studio. Note that the repository's package.json declares MIT, which contradicts both its LICENSE file and its README — the LICENSE file is the one to read. A different product, JuliaHub's Dyad physics-modelling software, has its own separate pricing page; none of its figures apply here.
What is the best API for Dyad?
Dyad's built-in provider list is OpenAI, Anthropic, Google Gemini, Vertex, OpenRouter, Dyad's own hosted option, Azure, xAI, Bedrock and MiniMax, plus local Ollama and LM Studio. OpenRouter is the only independent multi-vendor gateway among them — Azure, Vertex and Bedrock are the model vendors' own clouds — and every other independent gateway goes in under Settings, then AI Providers, then Add Custom Provider — Dyad's maintainer answered a request to add another gateway as a preset by pointing at exactly that page and saying a preset was not needed without a lot of user demand (GitHub issue 1389, October 3, 2025, still open). Which endpoint is best then depends on how you work. A direct vendor key wins when you use one vendor's flagship all day and want its own caching and batch terms. A custom OpenAI-compatible provider such as Kunavo wins when you switch models per task and want one key and one prepaid balance. Dyad Pro's own credits win when you want Smart Context and Turbo Edits, because those two modes cannot be reached with any customer key at all. A local model wins for small or private work. One hard constraint narrows the field: Dyad builds custom providers as OpenAI chat-completions clients, and its built-in Anthropic provider accepts no base-URL override, so your own Anthropic Messages-protocol endpoint is unreachable from Dyad; the built-in provider reaches Anthropic's own and nothing else.
What is the cheapest API for Dyad?
Cheapest listed rate and cheapest way to finish the app are different questions, and on an agentic builder they come apart badly: a weaker model that needs three passes at the same component can cost more than a stronger one that lands it once. Two Dyad-specific costs also sit outside the per-token rate. On the free plan, Agent mode is capped at 20 messages per 23-hour window no matter whose key you use, so heavy agentic work is rationed by Dyad rather than by your balance — Build, Ask and Plan modes are uncapped. And if you leave the Context Window field blank when adding a custom model, Dyad assumes 128,000 tokens and starts compacting the conversation much earlier than your model requires, which means more summarization passes over the same work. Shortlist on rate, then run one bounded feature on two candidates and read what your provider account actually recorded.
What is the best model for Dyad?
Dyad publishes no current answer, and that is worth knowing before you follow its documentation. Its model-optimization guide is still frozen at 'As of May 13, 2025' and names 2025-era free options, while its Pro marketing page advertises GPT 5.5 and Claude Opus 4.8 — the advice and the lineup are roughly a year apart, so the guide should not be read as current. Choose on three properties instead. First, tool-calling reliability, because Build mode is an agentic loop since v1.13.0, so a model that mishandles tool calls can stall or spin in it. Second, context window, because you type it into the custom-model form yourself and Dyad manages compaction from that number. Third, the rate card as a whole, because a builder re-sends a large working set every turn and emits code rather than prose — under the assumptions in the table on this page the re-sent input is still the larger half, so do not shortlist on the output rate alone. In practice that means a strong coding model for scaffolding and refactors and a cheaper one for small edits, switched in the model picker per task.
Can I use Smart Context or Turbo Edits with my own API key?
No. Dyad's pricing FAQ states it directly: 'No, Pro modes like Smart Context can only be used with Dyad Pro's AI credits, not with your own API keys.' The reason it gives is that those modes need server-side processing and several models working together, which would mean routing your key through Dyad's servers. The same answer adds a point worth keeping in view for a bring-your-own-key setup: 'In Dyad Free, your API keys connect directly to AI providers without passing through our servers.' There are exactly two Pro modes, Smart Context and Turbo Edits, and Dyad's documentation says both are enabled by default for Pro members. So a gateway key gets you the models and the uncapped Build, Ask and Plan modes, not the Pro context and edit machinery.
How many free Agent messages does Dyad give per day?
Twenty, and several write-ups still say five. The v1.12.0 release notes say 'Free users can now send up to 20 Basic Agent messages per day, increased from 10', the v1.13.0 notes repeat 20, and the shipping source sets FREE_AGENT_QUOTA_LIMIT to 20 with a quota window of 23 hours rather than a rolling day. Dyad's own blog post 'Agent Mode Explained in Dyad', dated February 4, 2026, still describes 'a 5-message daily quota (150 messages per month)' and is stale. The source also refunds the quota for an aborted or failed agent stream. Build mode has no usage limit for any user, so the cap is specifically on Agent mode, not on building.
Is this the same Dyad as JuliaHub's Dyad?
No, and the confusion is expensive because both publish a $20 monthly tier. This page is about Dyad the local open-source AI app builder from Dyad Tech, Inc. at dyad.sh, an Electron desktop app whose repository is dyad-sh/dyad and whose latest stable release on September 19, 2026 was v1.15.0. JuliaHub's Dyad is a physics-based modelling language and agentic modelling product, currently at version 3.0, with a completely separate pricing page. A Roborock wet/dry vacuum is also sold as 'Dyad Pro', and there is a cryptocurrency called DYAD. If a price you found for 'Dyad' did not come from dyad.sh, check which product it belongs to before budgeting from it.
Dyad's pricing, Pro, documentation, release-note and blog pages, its GitHub repository metadata and releases, and its shipping source on main (the free-agent quota constants, token and compaction utilities, model-client construction, custom-provider dialog, provider table and usage reporting) were all read on September 19, 2026. Kunavo rates and every dollar figure in the table above come from the live catalog and are illustrative token arithmetic, not measured task costs. No Dyad-to-Kunavo runtime test has been performed.