Resellers/Vendor routing

Choosing Vendors and Their Order

One model can be served by several vendors; for example, deepseek-v4.1-flash can be served by deepseek, opencode, or volcengine. By default the platform picks a vendor by priority and moves to the next one when a vendor is unavailable. The price depends only on the model, never on which vendor serves the request. To control this yourself, add a provider object to the request body.

On this pageexpand_more

provider fieldslink

only

Use only the listed vendors, for example {"only": ["deepseek"]}.

ignore

Never use the listed vendors, for example {"ignore": ["opencode"]}.

order

Try the listed vendors in this order, moving to the next one when a vendor is unavailable. Vendors you do not list still come last as a fallback; to exclude them, combine order with only or ignore.

Vendor IDslink

provider only matters for models with more than one vendor. Closed models such as Claude, GPT, Gemini, and Grok are served only by their official vendor and need no preference. The vendor IDs in use today are listed below. The vendors that serve a given model are shown in the Vendors row of its model detail page (in default priority order) and in the providers field of GET https://wokey.ai/api/models.

Vendor IDVendor
deepseekDeepSeek (official)
moonshotKimi (official, Moonshot AI)
zhipuGLM (official, Zhipu)
minimaxMiniMax (official)
volcengineVolcengine Ark: Doubao, plus selected DeepSeek, GLM, Kimi, and MiniMax models
opencodeOpenCode Go: Tencent Hy4, plus selected DeepSeek, GLM, Kimi, and MiniMax models
ollamaOllama Cloud: selected DeepSeek, GLM, Kimi, and MiniMax models

Exampleslink

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" }
    ],
    "provider": {
      "order": ["volcengine", "deepseek"],
      "ignore": ["opencode"]
    }
  }'

The OpenAI and Anthropic Python SDKs reject unknown top-level arguments, so pass provider in extra_body.

Python
from openai import OpenAI

client = OpenAI(base_url="https://api.wokey.ai/v1", api_key="YOUR_API_KEY")

response = client.chat.completions.create(
    model="deepseek-v4.1-flash",
    messages=[{"role": "user", "content": "Hello"}],
    extra_body={"provider": {"only": ["deepseek"]}},
)
print(response.choices[0].message.content)

Noteslink

  • /chat/completions, /responses, and /messages all accept it in the same form.
  • An unknown vendor ID returns 400 invalid_request_error. A preference that excludes every vendor of the model returns 404 no_eligible_provider.
  • provider only narrows the choice. It applies together with any vendor restriction set on the API key and cannot re-enable a vendor the key excludes.
  • To keep the prompt cache, a conversation that has moved to another vendor stays there instead of switching back to the first vendor in order.
  • provider is a routing directive for the platform and is never forwarded upstream.