The OpenRouter / OpenAI interface path already works for hosted Chat Completions hosts. Two details are easy to get wrong when the host is not OpenAI or DeepSeek:
- API Base URL must be the
/v1 root. The DeepSeek screenshot uses https://api.deepseek.com (origin only). A Chat Completions-first host that mounts at /v1 404s without that suffix. Do not append /chat/completions.
- Do not point the embedding model at a chat-only host.
POST /v1/embeddings is not a Chat Completions surface. Leave embeddings on a host that actually serves them.
PZERO is a live OpenAI-compatible host. Catalog: GET https://api.pzero.studio/v1/models. Default text id: deepseek-v4-flash. Prepaid Bearer key (pzero_…). Needs langchain-openai. Use OpenRouter * or the OpenAI provider; local model ID is the catalog id (no openai/ prefix).
Settings:
- Provider: OpenRouter
* or OpenAI
- Local model ID:
deepseek-v4-flash
- API Base URL:
https://api.pzero.studio/v1
- API key:
pzero_…
- Embedding model: leave unset / not this host
Distinct from #1171 (that request added OpenRouter / OpenAI base_url support). This is the remaining /v1 vs origin and embeddings gotcha.
No first-party provider asked. If a named vendor subsection is too much, the two gotchas above are the docs gap.
The OpenRouter / OpenAI interface path already works for hosted Chat Completions hosts. Two details are easy to get wrong when the host is not OpenAI or DeepSeek:
/v1root. The DeepSeek screenshot useshttps://api.deepseek.com(origin only). A Chat Completions-first host that mounts at/v1404s without that suffix. Do not append/chat/completions.POST /v1/embeddingsis not a Chat Completions surface. Leave embeddings on a host that actually serves them.PZERO is a live OpenAI-compatible host. Catalog:
GET https://api.pzero.studio/v1/models. Default text id:deepseek-v4-flash. Prepaid Bearer key (pzero_…). Needslangchain-openai. Use OpenRouter*or the OpenAI provider; local model ID is the catalog id (noopenai/prefix).Settings:
*or OpenAIdeepseek-v4-flashhttps://api.pzero.studio/v1pzero_…Distinct from #1171 (that request added OpenRouter / OpenAI
base_urlsupport). This is the remaining/v1vs origin and embeddings gotcha.No first-party provider asked. If a named vendor subsection is too much, the two gotchas above are the docs gap.