Working config (gateway.helicone.ai/v1 + Helicone-Target-URL origin)
oai.helicone.ai proxies OpenAI. ai-gateway.helicone.ai uses Helicone-managed keys. Helicone-OpenAI-Api-Base is the oai.helicone.ai header. Putting /v1 in Helicone-Target-URL duplicates the path the gateway already appends.
A Chat Completions host whose public catalog is GET https://api.pzero.studio/v1/models (no key) fits the generic gateway if base_url is https://gateway.helicone.ai/v1, Helicone-Target-URL is the origin only, api_key is that host's Bearer, and Helicone-Auth is the Helicone key.
import os
from openai import OpenAI
client = OpenAI(
api_key="<Bearer key for that host>",
base_url="https://gateway.helicone.ai/v1",
default_headers={
"Helicone-Auth": f"Bearer {os.environ['HELICONE_API_KEY']}",
"Helicone-Target-URL": "https://api.pzero.studio",
},
)
r = client.chat.completions.create(
model="deepseek-v4-flash",
messages=[{"role": "user", "content": "Say hello"}],
)
Keep embeddings and multimodal off this host.
Working config (
gateway.helicone.ai/v1+Helicone-Target-URLorigin)oai.helicone.aiproxies OpenAI.ai-gateway.helicone.aiuses Helicone-managed keys.Helicone-OpenAI-Api-Baseis theoai.helicone.aiheader. Putting/v1inHelicone-Target-URLduplicates the path the gateway already appends.A Chat Completions host whose public catalog is
GET https://api.pzero.studio/v1/models(no key) fits the generic gateway ifbase_urlishttps://gateway.helicone.ai/v1,Helicone-Target-URLis the origin only,api_keyis that host's Bearer, andHelicone-Authis the Helicone key.Keep embeddings and multimodal off this host.