[{"data":1,"prerenderedAt":56},["ShallowReactive",2],{"docs:providers/cloudflare":3},{"title":4,"navTitle":4,"description":5,"api":6,"html":7,"toc":8,"path":44,"tab":45,"group":46,"prev":47,"next":51,"markdownUrl":54,"sourceUrl":55,"lastModified":6},"@standardagents/cloudflare","Cloudflare Workers AI provider package for Standard Agents using the OpenAI-compatible Chat Completions API",null,"\u003Caside class=\"docs-callout\" data-kind=\"info\" role=\"note\">\u003Cp>For direct access, set \u003Ccode>CLOUDFLARE_API_TOKEN\u003C/code> and \u003Ccode>CLOUDFLARE_ACCOUNT_ID\u003C/code> in your environment. A model can instead configure \u003Ccode>providerOptions.baseUrl\u003C/code>. Standard Agents Builder can use hosted routing through \u003Ccode>STANDARD_AGENTS_API_KEY\u003C/code> when the provider token is absent. Hosted access depends on platform configuration.\u003C/p>\u003C/aside>\n\u003Ch2 id=\"overview\">\u003Ca class=\"docs-anchor\" href=\"#overview\" aria-label=\"Link to this section\">\u003C/a>Overview\u003C/h2>\n\u003Cp>The \u003Ccode>@standardagents/cloudflare\u003C/code> package provides a Cloudflare Workers AI provider factory for Standard Agents. It targets Cloudflare's OpenAI-compatible Chat Completions endpoint and adds typed \u003Ccode>providerOptions\u003C/code>, model discovery via Cloudflare's models API, and request inspection support in the admin UI.\u003C/p>\n\u003Cdiv class=\"docs-card\">\u003Cspan class=\"docs-icon\" data-icon=\"cloud\">\u003C/span>\u003Cspan class=\"docs-card-title\">Key Features\u003C/span>\u003Cdiv class=\"docs-card-body\">\u003Cul>\n\u003Cli>Direct integration with Cloudflare's account-scoped \u003Ccode>/ai/v1/chat/completions\u003C/code> endpoint\u003C/li>\n\u003Cli>Typed \u003Ccode>providerOptions\u003C/code> for Workers AI request parameters\u003C/li>\n\u003Cli>Remote model discovery with search and pagination for \u003Ccode>@cf/...\u003C/code> chat models in the builder UI\u003C/li>\n\u003Cli>Tool calling, structured outputs, streaming, and multimodal model support where documented\u003C/li>\n\u003C/ul>\u003C/div>\u003C/div>\n\u003Ch2 id=\"installation\">\u003Ca class=\"docs-anchor\" href=\"#installation\" aria-label=\"Link to this section\">\u003C/a>Installation\u003C/h2>\n\u003Cdiv class=\"docs-tabs docs-code-group\" data-docs=\"tabs\" data-sync=\"pkg\">\u003Csection class=\"docs-tab\" data-label=\"npm\">\u003Ch4 class=\"docs-tab-label\">npm\u003C/h4>\u003Cfigure class=\"docs-code\" data-docs=\"code\" data-lang=\"bash\">\u003Cfigcaption class=\"docs-code-title\">npm\u003C/figcaption>\u003Cpre class=\"shiki shiki-themes one-light github-dark\" style=\"--shiki-light:#383A42;--shiki-dark:#e1e4e8;--shiki-light-bg:#FAFAFA;--shiki-dark-bg:#24292e\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#4078F2;--shiki-dark:#B392F0\">npm\u003C/span>\u003Cspan style=\"--shiki-light:#50A14F;--shiki-dark:#9ECBFF\"> install\u003C/span>\u003Cspan style=\"--shiki-light:#50A14F;--shiki-dark:#9ECBFF\"> @standardagents/cloudflare\u003C/span>\u003C/span>\u003C/code>\u003C/pre>\u003C/figure>\u003C/section>\u003Csection class=\"docs-tab\" data-label=\"pnpm\">\u003Ch4 class=\"docs-tab-label\">pnpm\u003C/h4>\u003Cfigure class=\"docs-code\" data-docs=\"code\" data-lang=\"bash\">\u003Cfigcaption class=\"docs-code-title\">pnpm\u003C/figcaption>\u003Cpre class=\"shiki shiki-themes one-light github-dark\" style=\"--shiki-light:#383A42;--shiki-dark:#e1e4e8;--shiki-light-bg:#FAFAFA;--shiki-dark-bg:#24292e\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#4078F2;--shiki-dark:#B392F0\">pnpm\u003C/span>\u003Cspan style=\"--shiki-light:#50A14F;--shiki-dark:#9ECBFF\"> add\u003C/span>\u003Cspan style=\"--shiki-light:#50A14F;--shiki-dark:#9ECBFF\"> @standardagents/cloudflare\u003C/span>\u003C/span>\u003C/code>\u003C/pre>\u003C/figure>\u003C/section>\u003Csection class=\"docs-tab\" data-label=\"yarn\">\u003Ch4 class=\"docs-tab-label\">yarn\u003C/h4>\u003Cfigure class=\"docs-code\" data-docs=\"code\" data-lang=\"bash\">\u003Cfigcaption class=\"docs-code-title\">yarn\u003C/figcaption>\u003Cpre class=\"shiki shiki-themes one-light github-dark\" style=\"--shiki-light:#383A42;--shiki-dark:#e1e4e8;--shiki-light-bg:#FAFAFA;--shiki-dark-bg:#24292e\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#4078F2;--shiki-dark:#B392F0\">yarn\u003C/span>\u003Cspan style=\"--shiki-light:#50A14F;--shiki-dark:#9ECBFF\"> add\u003C/span>\u003Cspan style=\"--shiki-light:#50A14F;--shiki-dark:#9ECBFF\"> @standardagents/cloudflare\u003C/span>\u003C/span>\u003C/code>\u003C/pre>\u003C/figure>\u003C/section>\u003C/div>\n\u003Ch2 id=\"quick-start\">\u003Ca class=\"docs-anchor\" href=\"#quick-start\" aria-label=\"Link to this section\">\u003C/a>Quick Start\u003C/h2>\n\u003Cfigure class=\"docs-code\" data-docs=\"code\" data-lang=\"typescript\">\u003Cfigcaption class=\"docs-code-title\">agents/models/workers_fast.ts\u003C/figcaption>\u003Cpre class=\"shiki shiki-themes one-light github-dark\" style=\"--shiki-light:#383A42;--shiki-dark:#e1e4e8;--shiki-light-bg:#FAFAFA;--shiki-dark-bg:#24292e\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#A626A4;--shiki-dark:#F97583\">import\u003C/span>\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\"> { \u003C/span>\u003Cspan style=\"--shiki-light:#E45649;--shiki-dark:#E1E4E8\">defineModel\u003C/span>\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\"> } \u003C/span>\u003Cspan style=\"--shiki-light:#A626A4;--shiki-dark:#F97583\">from\u003C/span>\u003Cspan style=\"--shiki-light:#50A14F;--shiki-dark:#9ECBFF\"> '@standardagents/spec'\u003C/span>\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\">;\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#A626A4;--shiki-dark:#F97583\">import\u003C/span>\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\"> { \u003C/span>\u003Cspan style=\"--shiki-light:#E45649;--shiki-dark:#E1E4E8\">cloudflare\u003C/span>\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\"> } \u003C/span>\u003Cspan style=\"--shiki-light:#A626A4;--shiki-dark:#F97583\">from\u003C/span>\u003Cspan style=\"--shiki-light:#50A14F;--shiki-dark:#9ECBFF\"> '@standardagents/cloudflare'\u003C/span>\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\">;\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#A626A4;--shiki-dark:#F97583\">export\u003C/span>\u003Cspan style=\"--shiki-light:#E45649;--shiki-dark:#F97583\"> default\u003C/span>\u003Cspan style=\"--shiki-light:#4078F2;--shiki-dark:#B392F0\"> defineModel\u003C/span>\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\">({\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#E45649;--shiki-dark:#E1E4E8\">  name\u003C/span>\u003Cspan style=\"--shiki-light:#0184BC;--shiki-dark:#E1E4E8\">:\u003C/span>\u003Cspan style=\"--shiki-light:#50A14F;--shiki-dark:#9ECBFF\"> 'workers-fast'\u003C/span>\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\">,\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#E45649;--shiki-dark:#E1E4E8\">  provider\u003C/span>\u003Cspan style=\"--shiki-light:#0184BC;--shiki-dark:#E1E4E8\">:\u003C/span>\u003Cspan style=\"--shiki-light:#E45649;--shiki-dark:#E1E4E8\"> cloudflare\u003C/span>\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\">,\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#E45649;--shiki-dark:#E1E4E8\">  model\u003C/span>\u003Cspan style=\"--shiki-light:#0184BC;--shiki-dark:#E1E4E8\">:\u003C/span>\u003Cspan style=\"--shiki-light:#50A14F;--shiki-dark:#9ECBFF\"> '@cf/google/gemma-4-26b-a4b-it'\u003C/span>\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\">,\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#A0A1A7;--shiki-light-font-style:italic;--shiki-dark:#6A737D;--shiki-dark-font-style:inherit\">  // Prices change. Check https://developers.cloudflare.com/workers-ai/platform/pricing/\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#E45649;--shiki-dark:#E1E4E8\">  inputPrice\u003C/span>\u003Cspan style=\"--shiki-light:#0184BC;--shiki-dark:#E1E4E8\">:\u003C/span>\u003Cspan style=\"--shiki-light:#986801;--shiki-dark:#79B8FF\"> 0.1\u003C/span>\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\">,\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#E45649;--shiki-dark:#E1E4E8\">  outputPrice\u003C/span>\u003Cspan style=\"--shiki-light:#0184BC;--shiki-dark:#E1E4E8\">:\u003C/span>\u003Cspan style=\"--shiki-light:#986801;--shiki-dark:#79B8FF\"> 0.3\u003C/span>\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\">,\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\">});\u003C/span>\u003C/span>\u003C/code>\u003C/pre>\u003C/figure>\n\u003Ch2 id=\"provider-factory\">\u003Ca class=\"docs-anchor\" href=\"#provider-factory\" aria-label=\"Link to this section\">\u003C/a>Provider Factory\u003C/h2>\n\u003Cfigure class=\"docs-code\" data-docs=\"code\" data-lang=\"typescript\">\u003Cpre class=\"shiki shiki-themes one-light github-dark\" style=\"--shiki-light:#383A42;--shiki-dark:#e1e4e8;--shiki-light-bg:#FAFAFA;--shiki-dark-bg:#24292e\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#A626A4;--shiki-dark:#F97583\">import\u003C/span>\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\"> { \u003C/span>\u003Cspan style=\"--shiki-light:#E45649;--shiki-dark:#E1E4E8\">cloudflare\u003C/span>\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\"> } \u003C/span>\u003Cspan style=\"--shiki-light:#A626A4;--shiki-dark:#F97583\">from\u003C/span>\u003Cspan style=\"--shiki-light:#50A14F;--shiki-dark:#9ECBFF\"> '@standardagents/cloudflare'\u003C/span>\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\">;\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#4078F2;--shiki-dark:#B392F0\">defineModel\u003C/span>\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\">({\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#E45649;--shiki-dark:#E1E4E8\">  name\u003C/span>\u003Cspan style=\"--shiki-light:#0184BC;--shiki-dark:#E1E4E8\">:\u003C/span>\u003Cspan style=\"--shiki-light:#50A14F;--shiki-dark:#9ECBFF\"> 'workers-reasoning'\u003C/span>\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\">,\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#E45649;--shiki-dark:#E1E4E8\">  provider\u003C/span>\u003Cspan style=\"--shiki-light:#0184BC;--shiki-dark:#E1E4E8\">:\u003C/span>\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\"> cloudflare,\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#E45649;--shiki-dark:#E1E4E8\">  model\u003C/span>\u003Cspan style=\"--shiki-light:#0184BC;--shiki-dark:#E1E4E8\">:\u003C/span>\u003Cspan style=\"--shiki-light:#50A14F;--shiki-dark:#9ECBFF\"> '@cf/openai/gpt-oss-120b'\u003C/span>\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\">,\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\">});\u003C/span>\u003C/span>\u003C/code>\u003C/pre>\u003C/figure>\n\u003Ch2 id=\"provider-options\">\u003Ca class=\"docs-anchor\" href=\"#provider-options\" aria-label=\"Link to this section\">\u003C/a>Provider Options\u003C/h2>\n\u003Cfigure class=\"docs-code\" data-docs=\"code\" data-lang=\"typescript\">\u003Cpre class=\"shiki shiki-themes one-light github-dark\" style=\"--shiki-light:#383A42;--shiki-dark:#e1e4e8;--shiki-light-bg:#FAFAFA;--shiki-dark-bg:#24292e\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#A626A4;--shiki-dark:#F97583\">import\u003C/span>\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\"> { \u003C/span>\u003Cspan style=\"--shiki-light:#E45649;--shiki-dark:#E1E4E8\">defineModel\u003C/span>\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\"> } \u003C/span>\u003Cspan style=\"--shiki-light:#A626A4;--shiki-dark:#F97583\">from\u003C/span>\u003Cspan style=\"--shiki-light:#50A14F;--shiki-dark:#9ECBFF\"> '@standardagents/spec'\u003C/span>\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\">;\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#A626A4;--shiki-dark:#F97583\">import\u003C/span>\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\"> { \u003C/span>\u003Cspan style=\"--shiki-light:#E45649;--shiki-dark:#E1E4E8\">cloudflare\u003C/span>\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\"> } \u003C/span>\u003Cspan style=\"--shiki-light:#A626A4;--shiki-dark:#F97583\">from\u003C/span>\u003Cspan style=\"--shiki-light:#50A14F;--shiki-dark:#9ECBFF\"> '@standardagents/cloudflare'\u003C/span>\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\">;\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#A626A4;--shiki-dark:#F97583\">export\u003C/span>\u003Cspan style=\"--shiki-light:#E45649;--shiki-dark:#F97583\"> default\u003C/span>\u003Cspan style=\"--shiki-light:#4078F2;--shiki-dark:#B392F0\"> defineModel\u003C/span>\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\">({\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#E45649;--shiki-dark:#E1E4E8\">  name\u003C/span>\u003Cspan style=\"--shiki-light:#0184BC;--shiki-dark:#E1E4E8\">:\u003C/span>\u003Cspan style=\"--shiki-light:#50A14F;--shiki-dark:#9ECBFF\"> 'workers-reasoning'\u003C/span>\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\">,\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#E45649;--shiki-dark:#E1E4E8\">  provider\u003C/span>\u003Cspan style=\"--shiki-light:#0184BC;--shiki-dark:#E1E4E8\">:\u003C/span>\u003Cspan style=\"--shiki-light:#E45649;--shiki-dark:#E1E4E8\"> cloudflare\u003C/span>\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\">,\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#E45649;--shiki-dark:#E1E4E8\">  model\u003C/span>\u003Cspan style=\"--shiki-light:#0184BC;--shiki-dark:#E1E4E8\">:\u003C/span>\u003Cspan style=\"--shiki-light:#50A14F;--shiki-dark:#9ECBFF\"> '@cf/openai/gpt-oss-120b'\u003C/span>\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\">,\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#E45649;--shiki-dark:#E1E4E8\">  providerOptions\u003C/span>\u003Cspan style=\"--shiki-light:#0184BC;--shiki-dark:#E1E4E8\">:\u003C/span>\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\"> {\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#E45649;--shiki-dark:#E1E4E8\">    seed\u003C/span>\u003Cspan style=\"--shiki-light:#0184BC;--shiki-dark:#E1E4E8\">:\u003C/span>\u003Cspan style=\"--shiki-light:#986801;--shiki-dark:#79B8FF\"> 42\u003C/span>\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\">,\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#E45649;--shiki-dark:#E1E4E8\">    user\u003C/span>\u003Cspan style=\"--shiki-light:#0184BC;--shiki-dark:#E1E4E8\">:\u003C/span>\u003Cspan style=\"--shiki-light:#50A14F;--shiki-dark:#9ECBFF\"> 'user-123'\u003C/span>\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\">,\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#E45649;--shiki-dark:#E1E4E8\">    logprobs\u003C/span>\u003Cspan style=\"--shiki-light:#0184BC;--shiki-dark:#E1E4E8\">:\u003C/span>\u003Cspan style=\"--shiki-light:#986801;--shiki-dark:#79B8FF\"> true\u003C/span>\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\">,\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#E45649;--shiki-dark:#E1E4E8\">    top_logprobs\u003C/span>\u003Cspan style=\"--shiki-light:#0184BC;--shiki-dark:#E1E4E8\">:\u003C/span>\u003Cspan style=\"--shiki-light:#986801;--shiki-dark:#79B8FF\"> 5\u003C/span>\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\">,\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\">  },\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\">});\u003C/span>\u003C/span>\u003C/code>\u003C/pre>\u003C/figure>\n\u003Ch3 id=\"available-options\">\u003Ca class=\"docs-anchor\" href=\"#available-options\" aria-label=\"Link to this section\">\u003C/a>Available Options\u003C/h3>\n\u003Cdiv class=\"docs-table\">\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>Option\u003C/th>\n\u003Cth>Type\u003C/th>\n\u003Cth>Description\u003C/th>\n\u003C/tr>\n\u003C/thead>\n\u003Ctbody>\n\u003Ctr>\n\u003Ctd>\u003Ccode>baseUrl\u003C/code>\u003C/td>\n\u003Ctd>\u003Ccode>string\u003C/code>\u003C/td>\n\u003Ctd>Override the default OpenAI-compatible base URL\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>seed\u003C/code>\u003C/td>\n\u003Ctd>\u003Ccode>number\u003C/code>\u003C/td>\n\u003Ctd>Best-effort deterministic sampling seed\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>user\u003C/code>\u003C/td>\n\u003Ctd>\u003Ccode>string\u003C/code>\u003C/td>\n\u003Ctd>End-user identifier\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>logprobs\u003C/code>\u003C/td>\n\u003Ctd>\u003Ccode>boolean\u003C/code>\u003C/td>\n\u003Ctd>Return token log probabilities\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>top_logprobs\u003C/code>\u003C/td>\n\u003Ctd>\u003Ccode>number\u003C/code>\u003C/td>\n\u003Ctd>Number of top logprobs to return\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>frequency_penalty\u003C/code>\u003C/td>\n\u003Ctd>\u003Ccode>number\u003C/code>\u003C/td>\n\u003Ctd>Frequency penalty forwarded to the chat endpoint\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>presence_penalty\u003C/code>\u003C/td>\n\u003Ctd>\u003Ccode>number\u003C/code>\u003C/td>\n\u003Ctd>Presence penalty forwarded to the chat endpoint\u003C/td>\n\u003C/tr>\n\u003C/tbody>\n\u003C/table>\u003C/div>\n\u003Caside class=\"docs-callout\" data-kind=\"note\" role=\"note\">\u003Cp>By default, the provider builds the base URL from \u003Ccode>CLOUDFLARE_ACCOUNT_ID\u003C/code>. Set \u003Ccode>providerOptions.baseUrl\u003C/code> if you want to route through a different OpenAI-compatible endpoint such as AI Gateway.\u003C/p>\u003C/aside>\n\u003Ch2 id=\"model-ids\">\u003Ca class=\"docs-anchor\" href=\"#model-ids\" aria-label=\"Link to this section\">\u003C/a>Model IDs\u003C/h2>\n\u003Cp>Workers AI model IDs are sent directly, for example:\u003C/p>\n\u003Cul>\n\u003Cli>\u003Ccode>@cf/meta/llama-3.1-8b-instruct\u003C/code>\u003C/li>\n\u003Cli>\u003Ccode>@cf/meta/llama-4-scout-17b-16e-instruct\u003C/code>\u003C/li>\n\u003Cli>\u003Ccode>@cf/openai/gpt-oss-120b\u003C/code>\u003C/li>\n\u003Cli>\u003Ccode>@cf/qwen/qwen3-30b-a3b-fp8\u003C/code>\u003C/li>\n\u003Cli>\u003Ccode>@cf/zhipu-ai/glm-4.7-flash\u003C/code>\u003C/li>\n\u003C/ul>\n\u003Cp>The builder fetches available models from Cloudflare's account-scoped models API, so the model picker can search and paginate through the live Workers AI catalog. The provider keeps a small static fallback catalog for capability hints and as a fallback if the models API is unavailable.\u003C/p>\n\u003Ch2 id=\"capabilities\">\u003Ca class=\"docs-anchor\" href=\"#capabilities\" aria-label=\"Link to this section\">\u003C/a>Capabilities\u003C/h2>\n\u003Cp>The provider exposes model capabilities for the bundled Workers AI fallback catalog, including:\u003C/p>\n\u003Cul>\n\u003Cli>\u003Ccode>supportsImages\u003C/code> for multimodal models like Llama 3.2 Vision and Llama 4 Scout\u003C/li>\n\u003Cli>\u003Ccode>supportsToolCalls\u003C/code> for models Cloudflare documents with function calling\u003C/li>\n\u003Cli>\u003Ccode>supportsJsonMode\u003C/code> and \u003Ccode>supportsStreaming\u003C/code> for the OpenAI-compatible chat API\u003C/li>\n\u003Cli>\u003Ccode>reasoningLevels\u003C/code> for reasoning-focused models like \u003Ccode>@cf/openai/gpt-oss-120b\u003C/code>\u003C/li>\n\u003C/ul>\n\u003Ch2 id=\"environment-setup\">\u003Ca class=\"docs-anchor\" href=\"#environment-setup\" aria-label=\"Link to this section\">\u003C/a>Environment Setup\u003C/h2>\n\u003Cfigure class=\"docs-code\" data-docs=\"code\" data-lang=\"bash\">\u003Cfigcaption class=\"docs-code-title\">.dev.vars\u003C/figcaption>\u003Cpre class=\"shiki shiki-themes one-light github-dark\" style=\"--shiki-light:#383A42;--shiki-dark:#e1e4e8;--shiki-light-bg:#FAFAFA;--shiki-dark-bg:#24292e\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#E45649;--shiki-dark:#E1E4E8\">CLOUDFLARE_API_TOKEN\u003C/span>\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#F97583\">=\u003C/span>\u003Cspan style=\"--shiki-light:#50A14F;--shiki-dark:#9ECBFF\">...\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#E45649;--shiki-dark:#E1E4E8\">CLOUDFLARE_ACCOUNT_ID\u003C/span>\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#F97583\">=\u003C/span>\u003Cspan style=\"--shiki-light:#50A14F;--shiki-dark:#9ECBFF\">...\u003C/span>\u003C/span>\u003C/code>\u003C/pre>\u003C/figure>\n\u003Cp>For a deployed project, set \u003Ccode>CLOUDFLARE_API_TOKEN\u003C/code> in your project's environment settings on the Standard Agents platform.\u003C/p>\n\u003Cp>Set \u003Ccode>CLOUDFLARE_ACCOUNT_ID\u003C/code> in the same place.\u003C/p>\n\u003Ch2 id=\"notes\">\u003Ca class=\"docs-anchor\" href=\"#notes\" aria-label=\"Link to this section\">\u003C/a>Notes\u003C/h2>\n\u003Cul>\n\u003Cli>The provider uses Cloudflare's OpenAI-compatible \u003Ccode>/chat/completions\u003C/code> API.\u003C/li>\n\u003Cli>Authentication uses a Cloudflare API token, not a traditional provider-specific API key.\u003C/li>\n\u003Cli>The current package focuses on text-generation/chat-completions models, not embeddings or image generation.\u003C/li>\n\u003C/ul>\n\u003Ch2 id=\"related\">\u003Ca class=\"docs-anchor\" href=\"#related\" aria-label=\"Link to this section\">\u003C/a>Related\u003C/h2>\n\u003Cdiv class=\"docs-card-group\" data-cols=\"2\">\u003Ca class=\"docs-card\" href=\"/docs/core-concepts/models\">\u003Cspan class=\"docs-icon\" data-icon=\"brain\">\u003C/span>\u003Cspan class=\"docs-card-title\">Models\u003C/span>\u003Cdiv class=\"docs-card-body\">\u003Cp>Core model concepts\u003C/p>\u003C/div>\u003C/a>\u003Ca class=\"docs-card\" href=\"/docs/providers/cerebras\">\u003Cspan class=\"docs-icon\" data-icon=\"zap\">\u003C/span>\u003Cspan class=\"docs-card-title\">Cerebras Provider\u003C/span>\u003Cdiv class=\"docs-card-body\">\u003Cp>Compare with Cerebras\u003C/p>\u003C/div>\u003C/a>\u003Ca class=\"docs-card\" href=\"/docs/providers/openrouter\">\u003Cspan class=\"docs-icon\" data-icon=\"route\">\u003C/span>\u003Cspan class=\"docs-card-title\">OpenRouter Provider\u003C/span>\u003Cdiv class=\"docs-card-body\">\u003Cp>Compare with OpenRouter\u003C/p>\u003C/div>\u003C/a>\u003C/div>",[9,13,16,19,22,25,29,32,35,38,41],{"id":10,"text":11,"depth":12},"overview","Overview",2,{"id":14,"text":15,"depth":12},"installation","Installation",{"id":17,"text":18,"depth":12},"quick-start","Quick Start",{"id":20,"text":21,"depth":12},"provider-factory","Provider Factory",{"id":23,"text":24,"depth":12},"provider-options","Provider Options",{"id":26,"text":27,"depth":28},"available-options","Available Options",3,{"id":30,"text":31,"depth":12},"model-ids","Model IDs",{"id":33,"text":34,"depth":12},"capabilities","Capabilities",{"id":36,"text":37,"depth":12},"environment-setup","Environment Setup",{"id":39,"text":40,"depth":12},"notes","Notes",{"id":42,"text":43,"depth":12},"related","Related","providers/cloudflare","docs","Providers",{"path":48,"title":49,"navTitle":50},"providers/baseten","Baseten Model APIs","Baseten",{"path":52,"title":53,"navTitle":53},"providers/cerebras","@standardagents/cerebras","/docs/providers/cloudflare.md","https://github.com/standardagents/agentbuilder/blob/main/docs/providers/cloudflare.mdx",1794580509739]