Clients/WorkBuddy

Use the Wokey API with WorkBuddy

Get a Wokey API key, point WorkBuddy at the Wokey base URL, then confirm the connection with one curl request.

Updated

On this pageexpand_more

Get an API key and the base URLlink

Every client uses the same Wokey API key and the same base URL.

Create an API key

Sign in and create a platform key on the API page. Keys in one account share its balance.

Create an API keykey

Use the Wokey base URL

Set the client base URL to the gateway domain; the configuration below shows whether to append /v1.

Configure the clientlink

WorkBuddy uses OpenAI Chat Completions for custom models. In WorkBuddy, open Settings → Model → Custom models and enter Wokey’s endpoint, API key, and deepseek-v4.1-flash; tool calls and image input can then be used by WorkBuddy tasks and agent workflows.

  1. 1

    Open model settings

    Click the account button in the lower-left corner of WorkBuddy → Settings → Model. You can also open the model selector and choose Configure custom model.

  2. 2

    Add a custom model

    Choose Custom. Set the endpoint to https://api.wokey.ai, paste your Wokey API key, and enter the exact model ID deepseek-v4.1-flash (the old deepseek-flash ID also works).

  3. 3

    Set capabilities

    Enable tool calling and image input. Leave reasoning mode and custom protocol off. deepseek-v4.1-flash accepts text, images, and tools; if you use deepseek-v4-flash instead, turn image input off because that model is text-only.

  4. 4

    Save and switch models

    Run Test connection, save the model, then select it from the conversation model picker. Start with a short text prompt before testing tools or images.

WorkBuddy
Provider: Custom
Endpoint: https://api.wokey.ai
API key: YOUR_API_KEY
Model: deepseek-v4.1-flash
Tool calling: On
Image input: On
Reasoning mode: Off
Custom protocol: Off

API formats and base URLslink

When one client switches API format, whether the base URL ends in /v1 can change.

FormatBase URLUse it for
OpenAI Chat Completionshttps://api.wokey.aiDeepSeek, GLM, Kimi, and other models

Where it is configured: Settings → Models → Custom models

Common troubleshootinglink

  • 404: keep the endpoint at https://api.wokey.ai and leave custom protocol off. Only when custom protocol is on should you enter the full https://api.wokey.ai/v1/chat/completions path.
  • 401: paste the key itself into the API key field; do not add the Bearer prefix. Confirm the key is active and the account has balance.
  • model_not_found: set the model ID to deepseek-v4.1-flash, with no spaces or extra suffixes.
  • Image requests fail: select deepseek-v4.1-flash and enable image input. deepseek-v4-flash accepts text only.
  • 429, 502, 504, or 529: reduce concurrency, shorten the context, or retry later; you can also switch to another available model.

Verify with curllink

If the client reports an error, rule out the key and base URL with curl first.

WorkBuddy uses the OpenAI Chat Completions format by default. A 200 from this request means the key and base URL are right. Replace YOUR_API_KEY with your key before sending it.

cURL
curl https://api.wokey.ai/v1/chat/completions \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "deepseek-v4.1-flash",
    "messages": [
      { "role": "user", "content": "Hello" }
    ]
  }'

Errors & Troubleshootinglink

Separate auth, balance, rate limit, model availability, and upstream timeout cases first.

401

invalid api key

The key is missing, mistyped, deleted, or Authorization / x-api-key headers conflict.

402

insufficient balance

The account balance is too low. Top up before sending more requests.

403

model_denylisted / account_restricted

Calls to the model, or to every model on the account, are paused after repeated violations. See Violation Handling Fees & Restrictions.

403

request_blocked

This request was blocked before reaching the upstream and is not charged, for example an unchanged resend of a request the model just refused, or a paused end user (X-End-User-Id). The error message says what is blocked; change the request as it says or retry later. Other requests are not affected.

429

rate limited

Traffic is too frequent. Retry later or reduce concurrency. If only one model, or one end user (X-End-User-Id), keeps returning 429, it may be a temporary limit after violations.

499

client disconnected

The client closed the connection before the response finished (code downstream_aborted). This is free by default. Once an account has at least 50 client disconnects in the past 24 hours and they make up 10% or more of its requests, later disconnected requests are billed for the usage the upstream reported: the processed input, including cache reads and writes, and output only when the upstream counted it. A disconnect before the upstream reported any usage stays free. The account is notified when billing starts, and billing stops automatically within an hour once the disconnect rate is back to normal. The usual cause is a client or proxy timeout that is too short, or a program that cancels requests before they finish.

502

upstream unavailable

The upstream model service is temporarily unavailable. Switch models or retry later.

504

upstream timeout

The upstream response timed out. Shorten context, reduce max_tokens, or retry.

529

upstream overloaded

The upstream model is temporarily overloaded and Wokey already retried on other routes (code upstream_overloaded). It is unrelated to your balance. Retry shortly or switch models.

Frequently asked questionslink

Should the WorkBuddy API address end in /v1?
No. Use https://api.wokey.ai and keep the custom protocol switch off. Only with custom protocol on do you enter the full https://api.wokey.ai/v1/chat/completions; a mismatch returns 404.
What goes in the model name?
The exact model ID, for example deepseek-v4.1-flash, with no spaces or suffix. Anything else returns model_not_found.
Why do image requests fail?
Check that the model is deepseek-v4.1-flash and the image input switch is on. deepseek-v4-flash is a text model, so turn image input off when you use it.