Skip to content

docs: add Synthorai to the OpenAI-compatible cloud providers - #1359

Closed
cuihuan wants to merge 1 commit into
open-webui:mainfrom
cuihuan:docs-add-synthorai
Closed

docs: add Synthorai to the OpenAI-compatible cloud providers#1359
cuihuan wants to merge 1 commit into
open-webui:mainfrom
cuihuan:docs-add-synthorai

Conversation

@cuihuan

@cuihuan cuihuan commented Aug 27, 2026

Copy link
Copy Markdown

Disclosure: I am affiliated with Synthorai — this adds our own product to the provider list, not demand I am relaying from elsewhere. Flagging it so the change is judged with that on the table. No expectation of priority, and "not now" is a fine answer.

This PR was prepared with an AI agent. Every factual claim below is backed by a command I ran; where something was not verified, that is said outright.

Why here

Synthorai speaks the OpenAI Chat Completions protocol, so it needs no core code — which is the case this page exists for. Per Protocol-Oriented Design, gateways belong here rather than in a provider-specific module, and OpenRouter and Vercel AI Gateway already have tabs.

What changed

One <TabItem> in starting-with-openai-compatible.mdx, inside ### Cloud Providers, placed between Vercel AI Gateway and OpenRouter so the gateway entries stay together. One file, 15 added lines, nothing removed or reordered.

Shape mirrors the Vercel AI Gateway tab: bold lead sentence, the three-row settings table, one :::tip.

The one claim I measured rather than assumed

The tab states /models auto-detection works, which this page documents for every provider. I tested it against a real key rather than inferring it:

GET /v1/models  + Bearer <key>   →  HTTP 200, 67 models, each with id/object/owned_by

Two things worth flagging, because they change what the tip should say:

  1. /models returns what the key is permitted to use, not the full catalog. The key I tested returned 67 of the 113 models in our public catalog; the difference is that key's model permissions, not endpoint behaviour. So the tip tells readers to check key permissions rather than hand-adding IDs — hand-adding an ID the key cannot use produces a model that appears in the selector and then fails on send.

  2. A 401 from this endpoint proves nothing about it. Our auth sits on the /v1 prefix, so an unrouted path answers 401 too:

    /v1/models        (no auth) → 401
    /v1/definitely-not-real     → 401
    

    I mention it only because your warning box reasonably treats a 401 during connection verification as a signal. For this gateway it is not one, and the tab does not ask readers to interpret it.

The list is small enough that the allowlist-and-caching advice in the OpenRouter tab does not apply here, so it is not repeated.

Deliberately not done

  • No row added to the "Providers with known /models issues" table. That table's stated subject is known issues, and this endpoint has none. Happy to add a | Synthorai | Yes | Auto-detection works | row if you would rather the table stay exhaustive.
  • JS/other pages untouched.
  • No screenshots. Neighbouring tabs in this file carry none.

Note on the precedent I was following

The last external provider addition I found here is #1054 (sylviezhang37, merged 2026-02-12), which edited docs/getting-started/quick-start/starting-with-openai.mdx — two one-line lists. That file no longer exists; the docs were reorganised and providers moved to this page as tabs with settings tables. So I followed the current file's conventions rather than that diff's shape. Saying so in case the older pattern is what you expect.

Where to look

The tip wording. It carries the only non-obvious claim in the change, and if "permitted to use" reads oddly for this page's audience I will reword it.

One TabItem between Vercel AI Gateway and OpenRouter, mirroring the shape of the
neighbouring gateway tabs.

The /models behaviour in the tip was measured against a real key rather than
assumed: GET /v1/models returns 200, and the list is scoped to the models that
key is permitted to use rather than the whole catalog. The tip says so, because
hand-adding an ID the key cannot use produces a model that appears in the
selector and then fails on send.
@Classic298 Classic298 closed this Aug 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants