Skip to main content
Coze is ByteDance’s bot and workflow platform. It is useful for building bots, chaining workflow steps, calling plugins, and publishing to different channels. When connecting Coze to Crazyrouter, the most stable and public-doc-friendly path is not to assume every Coze plan supports direct custom-model integration. The recommended public path is to use an HTTP / API plugin or a workflow HTTP request node first.

Start Here

For most Crazyrouter users, these are the two recommended Coze integration paths:
  • Option 1: call Crazyrouter through a Create from API plugin
  • Option 2: call Crazyrouter through a workflow HTTP request node
Do not present “attach Crazyrouter directly as a custom model in Coze model management” as the default public guide, because:
  • Coze features differ across editions, regions, and plans
  • Coze’s published plan FAQ explicitly lists custom model as an enterprise flagship capability
  • For public documentation, the safer baseline is the HTTP / API plugin route
The most important accuracy rule for this page is: document Coze’s public baseline as “call Crazyrouter through HTTP / API plugins or workflow HTTP requests”, not “every user can directly mount a custom upstream model”.

Who This Guide Is For

  • Users who want to call Crazyrouter inside a Coze bot or workflow
  • Users who want Crazyrouter to act as an external model endpoint
  • Users who want the smallest reproducible setup before touching enterprise-only capabilities
  • Teams that want plugin- or workflow-based access to multiple models

Public baseline: HTTP / API plugin route

Recommended parameters:
  • Request method: POST
  • URL: https://crazyrouter.com/v1/chat/completions
  • Headers:
    • Authorization: Bearer sk-xxx
    • Content-Type: application/json
  • First validation model: gpt-5.4

Why this route comes first

Because it:
  • depends less on Coze plan differences
  • makes it easier to tell whether the issue is Coze setup or Crazyrouter token / model scope
  • is the most stable route to document publicly

Requirements And Prerequisites

ItemNotes
Crazyrouter accountRegister at crazyrouter.com first
Crazyrouter tokenCreate a dedicated token for Coze
Coze accountYou need access to create bots, workflows, or plugins
Publish or debug accessAt minimum, you should be able to debug a bot or workflow
Allowed modelsAllow at least one chat model first
Suggested initial allowlist:
  • gpt-5.4
  • claude-sonnet-4-6
  • gemini-3-pro-preview

Option 1: Connect Crazyrouter Through An API Plugin

1

Step 1: Create a dedicated Crazyrouter token for Coze

For the first pass, only allow:
  • gpt-5.4
  • claude-sonnet-4-6
Do not enable too many models on day one. Troubleshooting is easier when the scope is small.
2

Step 2: Create an API plugin in Coze

In the Coze workspace, open the area that matches your current version, usually something like:
  • Plugins
  • Create Plugin
  • Create from API or a similarly named entry
Exact menu names may vary by Coze version, region, or product line, but the core idea is the same: create a plugin that calls an external HTTP API.
3

Step 3: Set the request method and URL

Enter:
  • Method: POST
  • URL: https://crazyrouter.com/v1/chat/completions
4

Step 4: Configure headers

Enter:
Authorization: Bearer sk-xxx
Content-Type: application/json
5

Step 5: Start with the smallest request body

For the first test, use:
{
  "model": "gpt-5.4",
  "messages": [
    {
      "role": "user",
      "content": "{{input}}"
    }
  ]
}
If your plugin UI supports parameter mapping, map user input into a placeholder such as {{input}}.
6

Step 6: Validate the plugin connection first

If your version supports plugin debugging, send:
Reply only OK
Make sure the API returns successfully before attaching the plugin to a bot or workflow.
7

Step 7: Add the plugin to a bot or workflow

After the plugin passes standalone testing, attach it to:
  • a bot plugin capability
  • or a workflow node
For the first rollout, keep the task simple, such as summarization, rewrite, or a fixed Q&A step.

Option 2: Connect Crazyrouter Through A Workflow HTTP Request Node

If you do not want to maintain a separate plugin, you can call Crazyrouter directly from a workflow HTTP request node.
  • Request method: POST
  • URL: https://crazyrouter.com/v1/chat/completions
  • Headers:
    • Authorization: Bearer sk-xxx
    • Content-Type: application/json
  • Body:
{
  "model": "gpt-5.4",
  "messages": [
    {
      "role": "user",
      "content": "{{input}}"
    }
  ]
}
  1. Send a fixed string such as Reply only OK
  2. Replace the fixed string with a variable input
  3. Map the result into downstream nodes only after the HTTP node is stable

How To Think About “Custom Model Integration”

Some Coze versions or plans may support custom-model integration, but that should not be the default public Crazyrouter guide. Reasons:
  • Coze’s own plan FAQ currently lists custom model as an enterprise flagship capability
  • For most ordinary users, the most reproducible and lowest-friction route is still HTTP / API plugins
  • This page therefore treats custom-model support as background context, not as the default public setup path
Use caseRecommended modelWhy
First connection testgpt-5.4Verified successfully in production on March 23, 2026, and best for validating the Coze-to-Crazyrouter path
Higher-quality outputclaude-sonnet-4-6Better for stronger explanation and content generation
Gemini fallback pathgemini-3-pro-previewUseful as a second compatibility-validation path

Token Best Practices

SettingRecommendationWhy
Dedicated tokenRequiredDo not share a Coze token with desktop apps or IDE tools
Model allowlistStrongly recommendedStart with only one or two models
Spending limitStrongly recommendedWorkflow loops and retries can multiply usage
Environment isolationRecommendedUse separate tokens for dev / test / production
Leak handlingRotate immediatelyReplace the key if it appears in screenshots or shared workspaces

Validation Checklist

  • Created a dedicated Crazyrouter token for Coze
  • Chosen the HTTP / API plugin route or workflow HTTP request route first
  • Set the request URL to https://crazyrouter.com/v1/chat/completions
  • Filled the Authorization header as Bearer sk-xxx
  • Set Content-Type to application/json
  • Validated the smallest request body with gpt-5.4
  • Confirmed the plugin or HTTP node works in standalone debugging
  • Confirmed it still works after attaching to the bot or workflow
  • Confirmed the request appears in Crazyrouter logs

Common Errors And Fixes

SymptomCommon causeFix
401 unauthorizedToken is wrong, expired, or copied incompletelyGenerate a new token and re-enter the Authorization header
404URL is wrong or missing /v1/chat/completionsChange it to the full URL
403 / model not allowedThe token does not allow that modelAllow the model in Crazyrouter token settings
model not foundModel name is wrongSwitch back to gpt-5.4 and revalidate
Plugin can be created but fails inside the botInput / output mapping is inconsistentFall back to a fixed-string test first
Workflow node fails intermittentlyInput is too large, retries are too aggressive, or concurrency is too highShrink the input and return to a minimal test
You cannot find a “model management” custom-upstream entry from another tutorialYour version or plan is differentGo back to the HTTP / API plugin route instead of relying on enterprise-only capabilities

FAQ

What is the best Coze-to-Crazyrouter route?

In public docs, prefer the HTTP / API plugin route or the workflow HTTP request node route.

Why is “custom model integration” not the main path here?

Because Coze capabilities vary a lot by version and plan, and Coze’s plan FAQ also places custom model under enterprise flagship capabilities. Public docs should lead with the most reproducible lower-threshold HTTP path.

What URL should I enter?

Use https://crazyrouter.com/v1/chat/completions.

What should the first model be?

Start with gpt-5.4.

When should I add Claude or more models?

Only after the single-model, single-node, single-task path is already stable.
If your goal is “make Coze call Crazyrouter reliably first”, the most important thing is not choosing the fanciest integration path. It is getting the smallest HTTP / API flow working end to end.