One governed API for your AI stack.
Sophy puts supported models behind project-scoped keys. Each project brings its own Vercel AI Gateway credential while its team governs prompts, models, schemas, knowledge, logging, and limits from one console.
Each key is bound to one primary model; use an API route that matches its capabilities.
from openai import OpenAI
client = OpenAI(
base_url="https://sophy.in/v1",
api_key="mw_live_…",
)
resp = client.chat.completions.create(
model="sophy", # the key selects the model
messages=[{"role": "user", "content": "Hello!"}],
)
print(resp.choices[0].message.content)from openai import OpenAI
client = OpenAI(
base_url="https://sophy.in/v1",
api_key="mw_live_…", # bound to a transcription model
)
with open("meeting.m4a", "rb") as audio:
resp = client.audio.transcriptions.create(
model="sophy",
file=audio,
language="en",
)
print(resp.text)from openai import OpenAI
client = OpenAI(
base_url="https://sophy.in/v1",
api_key="mw_live_…", # bound to an embedding model
)
resp = client.embeddings.create(
model="sophy",
input=["First document", "Second document"],
)
print(resp.data[0].embedding)from openai import OpenAI
client = OpenAI(
base_url="https://sophy.in/v1",
api_key="mw_live_…", # bound to an image model
)
resp = client.images.generate(
model="sophy",
prompt="A monsoon city at blue hour, watercolor",
size="1024x1024",
)
print(resp.data[0].b64_json[:32])Seven supported API routes
One base URL, purpose-built surfaces
/v1/chat/completionsChat + streaming
/v1/responsesResponses + tools
/v1/audio/transcriptionsRaw or policy-processed text
/v1/embeddingsFloat or base64 vectors
/v1/images/generationsInline image output
/v1/filesKey-scoped uploads
/v1/modelsThe key’s bound model
One identity, isolated projects
Your work starts with the right project
Sophy keeps membership, policy, data, usage, and provider spend inside each project, while giving you one account and a personal default.
Start in My Project
Sign up directly and Sophy creates a renameable project where you are the Admin.
Join through an invitation
Your invited project becomes the default when it is your first Sophy project, with the role its Admin assigned.
Choose your default
Use one identity across projects, switch without signing out, and choose which project opens first.
Bring a Gateway per project
Every project connects its own Vercel AI Gateway credential before its Sophy keys can make paid model calls.
Build and govern
Keep clients simple. Keep control central.
Sophy separates application input from operator policy, while preserving the tool, streaming, multimodal, and structured workflows modern AI products need.
A familiar API surface
Use supported OpenAI SDK methods for Chat Completions, Responses, audio transcription, embeddings, image generation, models, and files.
Policy lives on the key
Pin a primary model and centrally own its prompt, optional transcript processor, parameters, schema, knowledgebase, logging policy, budget, and rate limit.
Tools and agent workflows
Run standard function-tool loops, or opt trusted server-side agents into per-request instructions while the key’s policy stays first.
Portable structured output
Attach a JSON Schema to a key for schema-constrained output, normalized across supported language models and validated on completion.
Managed knowledgebases
Ingest PDF, DOCX, Markdown, text, CSV, and JSON sources once, share them across keys, and ground Chat or Responses automatically.
A searchable model catalog
Compare supported language, transcription, image, and embedding models by provider, capability, context window, and estimated pricing.
Budgets and rate limits
Enforce per-key requests-per-minute limits and monthly cost caps before paid model calls reach the provider.
Key-scoped multimodal files
Stage short-lived images and documents, then reference them in multimodal requests with cross-key reuse blocked inside Sophy.
How it works
From integration to evidence in three steps
Configuration is read from the key on every request, so policy changes and model switches apply without a client release.
Connect your project
A Project Admin adds the project’s Vercel AI Gateway key. Sophy validates it without making a generation call and stores it encrypted.
Configure a Sophy API key
Choose a primary model and set its prompt policy, parameters, limits, logging, schema, optional transcript processor, and optional project knowledgebase.
Integrate and improve
Use the OpenAI SDK with the Sophy key, then trace project usage, evaluate challengers, and update policy without redeploying clients.
Operate and optimize
Choose models with production evidence
Sophy is a control plane, not just a proxy. Observe real workloads, compare a challenger without changing the client response, and attribute client, evaluation, and knowledgebase spend separately.
Production model evaluations
Shadow successful live text requests to a challenger, score outputs with a blinded judge, and compare quality, cost, and latency before switching.
Usage analytics and request tracing
Explore requests, tokens, estimated cost, latency, model mix, errors, and spend by source—with optional content capture where supported.
Project-isolated teams and spend
Give one identity an Admin or Editor role per project. Each project keeps its own members, Sophy keys, knowledgebases, telemetry, and Vercel Gateway credential.
Mature key operations
Rotate secrets in place, revoke immediately, search active and revoked keys, and apply model changes or start evaluations in bulk.
Blind quality judgment
Randomized response order reduces position bias.
Cost and latency per task
Compare operational tradeoffs beside the verdict.
Recommendation, not auto-switch
Operators stay in control of the final model change.
Governed by default, agent-ready by choice
Let trusted agents bring dynamic instructions
Standard keys drop client prompt instructions. Enable Agent mode only for trusted server-side apps, and Sophy appends their leading instructions after the key-owned prompt while model, parameters, limits, and observability remain centralized.
Read the prompt policyfrom openai import OpenAI
client = OpenAI(base_url="https://sophy.in/v1", api_key="mw_live_…")
# On a trusted key with Agent mode enabled, these instructions are
# appended after the centrally managed key prompt.
resp = client.responses.create(
model="sophy",
instructions="Plan carefully and explain the final decision.",
input="Compare the two launch options.",
)
print(resp.output_text)import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://sophy.in/v1",
apiKey: "mw_live_…",
});
const resp = await client.responses.create({
model: "sophy",
instructions: "Plan carefully and explain the final decision.",
input: "Compare the two launch options.",
});
console.log(resp.output_text);Ready to put your AI stack under control?
Read the compatibility guide or sign in to manage keys, knowledge, usage, and evaluations.