Skip to content
Menu
Base URLhttps://api.getworg.com/v1

Models and compatibility

A lane is one model on one route, with its own price and data handling. Call a lane by its ID, or call the model by its name alone and Worg picks the lane.

Lanes

Model IDNameContext (tokens)Max outputCapabilitiesTags
deepseek-v4.1-flash:cachedDeepSeek V4.1 Flash1,048,576131,072
  • Tool calling
  • JSON output
  • Reasoning
  • Logprobs
  • Vision · up to 8 images
low cached price
deepseek-v4.1-flash:standardDeepSeek V4.1 Flash1,048,576131,072
  • Tool calling
  • JSON output
  • Reasoning
  • Vision · up to 8 images
  • Stop sequences · stop text appears in output
  • Choices · n=1 only
7-day cacheshared cache
qwen3.8-27b:standardQwen3.8 27B262,144Within context
  • Tool calling
  • JSON output
  • Reasoning
  • Logprobs
None

Read from the API when this page was built (2026-11-04). The list your key can use right now comes from GET /v1/models. Within context: the output can use what the input leaves of the context window.

Tool calling:
The model can ask your code to run a function you list in tools, including several calls in one reply and in a stream. Your code runs it and sends the result back as a tool message.
JSON output:
With response_format set to json_object the reply is valid JSON, and with a strict json_schema it follows your schema. Use it to get data back; use tool calling when the model should pick an action.
Reasoning:
The model can think before it answers, and the thinking comes back in reasoning_content. Set reasoning_effort to control it. qwen3.8-27b:standard reasons unless you set it to none.
Logprobs:
With logprobs and top_logprobs, the response includes the log probability of each output token and its closest alternatives.
Vision:
Send images as image_url content parts, as a URL or a data URI, and they count as input tokens; the note on the tag shows each lane's limit.
Stop sequences · stop text appears in output:
The reply stops at your stop text, but the stop text itself stays at the end of the output. Remove it in your code if you need to.
Choices · n=1 only:
The lane returns one choice per request. A request with n greater than 1 is refused with 400.
low cached price:
Cached input tokens are billed at a much lower rate than new input, which suits agents that resend a long prefix.
7-day cache:
Parts of recent requests are kept in memory, not on disk, for up to 7 days so repeated prompts start faster.
shared cache:
The cache on this lane is shared between the serving partner's customers, as described in the Privacy Policy.

How IDs work

  • The part after the colon names the route. The same model on another route is a different ID, with its own price, and is listed as its own lane.
  • A request to a lane ID stays on that lane. To let Worg move between lanes, call the model by its name alone (next section) or a combo.
  • Every request is billed at the rate of the lane that served it, and the rate is recorded with the request. Each lane's price per 1M tokens, with a rupiah estimate, is on Models and pricing.

Model name alone

Call a model by its name without the part after the colon, such as deepseek-v4.1-flash, and Worg tries its lanes in a fixed order. If one lane fails, Worg tries the other lane of the same model in the same request.

  • deepseek-v4.1-flash tries deepseek-v4.1-flash:cached, then deepseek-v4.1-flash:standard
  • qwen3.8-27b tries qwen3.8-27b:standard (its only lane)
  • The lane with the lowest cached input price goes first, so a long context you resend keeps hitting one lane's cache. A lane that failed three times in a row goes last for 30 seconds.
  • The model field in the response names the lane that answered, and the request is billed at that lane's rate. Before sending, Worg sets aside the cost for the most expensive lane it may try.
  • Only lanes that fully handle what your request uses are tried. A request with stop, n above 1, or logprobs skips a lane where the table above marks it as partial or missing. When no lane can handle the request, you get 400 before anything is sent.
  • A temperature outside 0 to 2 gets 400, so the answer never depends on which lane took it.
  • Lanes differ in data handling (see the tags above and Data handling). If you need one lane's handling, call that lane's ID.
  • A key limited to some lanes uses the name alone on those lanes only.

Renamed IDs

An old ID keeps working until the date shown, and is answered as the current ID. Move your code and combos to the current ID before then.

  • deepseek-v4.1-flash:local is now deepseek-v4.1-flash:cached, until 31 January 2027
  • qwen3.8-27b:local is now qwen3.8-27b:standard, until 31 January 2027

Choosing a route

  • :cached bills cached input tokens at a much lower rate than new input. It suits agents, RAG, and long chats that resend the same context with every request.
  • :standard is the general choice. Compared with :cached on the same model, new input and output cost slightly less.

The table above lists the routes each model has today.

OpenAI compatibility

  • Point an OpenAI SDK or any OpenAI-compatible client at https://api.getworg.com/v1 with a Worg key. The request and response follow the OpenAI chat completions format.
  • Two endpoints exist: POST /v1/chat/completions and GET /v1/models. Embeddings, the Responses API, audio, image generation, files and fine-tuning are not offered.
  • Reasoning text comes in reasoning_content, a field OpenAI does not have. Clients that do not know it ignore it.
  • usage has no completion_tokens_details; reasoning tokens are inside completion_tokens.

Where the lanes differ

Found by sending the same requests to every lane through the API on 4 Nov 2026. Everything else in the request fields behaved the same.

  • deepseek-v4.1-flash:standard: the stop text stays at the end of the output; n above 1 gets 400; logprobs comes back null. It is the only lane that follows "parallel_tool_calls": false.
  • deepseek-v4.1-flash:cached: a temperature outside 0 to 2 gets 400. The other lanes accept it.
  • qwen3.8-27b:standard: reasons unless you send "reasoning_effort": "none". Not listed for vision.

In a combo, a request goes to whichever lane answers, so send only what every lane in it handles. A 400 from the first lane is returned to you; the next lane is not tried. A model name alone picks only lanes that handle the request in full, as described above.

GET /v1/models

cURL
curl https://api.getworg.com/v1/models \
  -H "Authorization: Bearer $WORG_API_KEY"
Response (one lane shown)
{
  "object": "list",
  "data": [
    {
      "id": "deepseek-v4.1-flash:cached",
      "object": "model",
      "created": 1793486257,
      "owned_by": "worg",
      "name": "DeepSeek V4.1 Flash",
      "context_length": 1048576,
      "tags": ["low cached price"]
    }
  ]
}

The list holds only the lanes your key may use. Each model name alone comes first, with a lanes array in the order they are tried. Your organization's combos are listed too, with a combo array of their lanes, so clients that pick from this list can use them.

Next: Chat requestsCombos