One API for chat, vision, image, video and voice.
The WYOCS AI platform gives your business one gateway to our model line - chat with function calling and vision, image and video generation, natural voices - on prepaid credits with live, public pricing. Use the ready-made workspace app or integrate with the standard API dialects your tools already speak.
Models
Every model is built for business use: automation, staff support, documents, customer communication. Prices are what you pay - per million tokens, per image, per second of video, or per 1,000 characters of speech.
WY Apex
chatFlagship model for complex analysis, multi-step automation, long documents and demanding coding. Best when correctness matters more than cost.
WY Titan
chatHigh-capability model for strategy, research, agentic workflows and code. Strong default for demanding business tasks.
WY Horizon
chatThe everyday workhorse: drafting, summaries, customer replies, document understanding, structured extraction and coding at a very good price.
WY Nimbus
chatLow-latency model for classification, routing, short replies, form filling and bulk processing where volume matters.
WY Aurora
chatA cost-sensitive GPT-5.6 model for reasoning, coding and text or image input. Supports none, low, medium, high, xhigh and max reasoning effort.
WY Meridian
chatA balanced GPT-5.6 model for demanding reasoning, coding and tool-enabled workflows with text or image input.
WY Summit
chatA high-capability GPT-5.6 model for complex reasoning, coding and tool-enabled workflows with text or image input.
WY Vision Prime
chatA high-capacity multimodal model for reasoning, coding, tool use and long-context work.
WY Canvas Core
chatA balanced multimodal model for reasoning, coding, agent workflows and document understanding.
WY Forge
chatA high-capacity reasoning model for coding, planning and long-context agent tasks.
WY Spark
chatA fast multimodal model for coding and agent workflows with a large context window.
WY Atlas
chatA premium open-weight multimodal model for complex reasoning, coding and tool-enabled agents.
WY Canvas Studio
imageOpenAI image model for high-quality image generation and editing. Dedicated image endpoint required.
WY Voice Swift
voiceFast, natural-sounding speech synthesis with several voices. Billed per 1,000 characters.
Pricing
Prepaid credits. $1 = 1,000 credits. You are charged only for what you actually use - tokens, images, seconds or characters. When your balance runs out, requests pause until you top up. No monthly minimum, no per-seat fees.
| Model | Type | Input / 1M | Cached / 1M | Output / 1M | Per unit |
|---|---|---|---|---|---|
| WY Apex | chat | $12.00 | $0.3000 | $60.00 | - |
| WY Titan | chat | $6.00 | $0.6000 | $30.00 | - |
| WY Horizon | chat | $2.40 | $0.2400 | $12.00 | - |
| WY Nimbus | chat | $1.20 | $0.1200 | $6.00 | - |
| WY Aurora | chat | $0.2400 | $0.0240 | $1.44 | - |
| WY Meridian | chat | $2.40 | $0.2400 | $14.40 | - |
| WY Summit | chat | $4.80 | $0.4800 | $24.00 | - |
| WY Vision Prime | chat | $0.7200 | $0.7200 | $4.32 | - |
| WY Canvas Core | chat | $0.1680 | $0.0600 | $0.4800 | - |
| WY Forge | chat | $1.68 | $0.3120 | $5.28 | - |
| WY Spark | chat | $0.1800 | $0.0360 | $0.6000 | - |
| WY Atlas | chat | $3.60 | $0.3600 | $18.00 | - |
| WY Canvas Studio | image | - | - | - | $0.2400 / image |
| WY Voice Swift | voice | - | - | - | $0.0375 / 1k chars |
Prices update automatically. Cached input applies when a request repeats a long prefix (system instructions, documents) within a few minutes. Video is billed per second at the tier of the requested resolution; images per image at the requested quality.
The workspace app
No integration needed: sign in and open /portal/ai. A full chat application for your team, on the same credits as the API.
Quickstart
Our API speaks the two most widely supported dialects, so most AI client libraries and no-code tools work out of the box. Change the base URL and the key - done.
- Sign in to your account and open the AI workspace → API keys (or the AI card on the dashboard).
- Create a key (it looks like
wyai_...) and copy it - it is shown once. - Point your tool at one of the base URLs below with your key.
- Top up credits and start building.
Authorization: Bearer wyai_... or x-api-key: wyai_...from openai import OpenAI
client = OpenAI(base_url="https://wyocs.org/v1", api_key="wyai_YOUR_KEY")
r = client.chat.completions.create(
model="WY Apex",
messages=[{"role": "user", "content": "Summarise our Q2 in 3 bullets: ..."}],
)
print(r.choices[0].message.content)const r = await fetch("https://wyocs.org/v1/chat/completions", {
method: "POST",
headers: { "Authorization": "Bearer wyai_YOUR_KEY", "Content-Type": "application/json" },
body: JSON.stringify({ model: "WY Apex", messages: [{ role: "user", content: "Hello!" }] })
});
const data = await r.json();
console.log(data.choices[0].message.content, data.wyocs.balance_credits);curl https://wyocs.org/v1/chat/completions \
-H "Authorization: Bearer wyai_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "WY Apex", "messages": [{"role":"user","content":"Hello!"}], "stream": true}'import anthropic
client = anthropic.Anthropic(base_url="https://wyocs.org", api_key="wyai_YOUR_KEY")
m = client.messages.create(
model="WY Apex", max_tokens=1024,
messages=[{"role": "user", "content": "Hello!"}],
)
print(m.content[0].text)API reference
All endpoints accept and return JSON. Streaming uses server-sent events in the dialect's native format. Every response carries a wyocs object with charge_credits and balance_credits.
Every model your key may use - chat, image, video and voice - with kind, capabilities, context_window and the client pricing. Works with both SDK families.
Fields: model, messages (system/user/assistant; user content may include image_url parts for vision), max_tokens, stream, tools + tool_choice (function calling - the model returns tool_calls, you run them and send role:"tool" results back), response_format (json_object / json_schema).
{
"model": "WY Apex",
"messages": [
{"role": "system", "content": "You are our support assistant."},
{"role": "user", "content": [
{"type": "text", "text": "What is on this invoice?"},
{"type": "image_url", "image_url": {"url": "data:image/png;base64,..."}}
]}
],
"tools": [{"type": "function", "function": {"name": "lookup_order",
"parameters": {"type": "object", "properties": {"id": {"type": "string"}}}}}],
"max_tokens": 800
}
The Messages dialect: model, system, messages with text / image / tool_use / tool_result blocks, max_tokens, tools, stream. Responses use content[] blocks and stop_reason.
curl https://wyocs.org/v1/messages \
-H "x-api-key: wyai_YOUR_KEY" -H "content-type: application/json" \
-d '{"model":"WY Apex","max_tokens":512,
"messages":[{"role":"user","content":"Draft a polite payment reminder."}]}'
Set "stream": true. Chat-completions streams chat.completion.chunk objects ending with [DONE]; Messages streams message_start → content_block_delta → message_stop events. The final chunk includes usage and your remaining balance.
Images, video and voice
Media models live on dedicated endpoints and are billed per image, per second or per 1,000 characters. Results are returned inline (base64) so nothing is stored on our side beyond your own workspace.
{
"model": "WY Canvas Studio",
"prompt": "Clean product shot of a blue thermos on marble",
"size": "1024x1024",
"quality": "high"
}
→ { "data": [{ "b64_json": "..." }], "wyocs": {...} }
{
"model": "your-video-model",
"prompt": "A drone shot over a modern data centre at sunrise",
"seconds": 8,
"size": "1280x720"
}
→ { "status": "completed", "video_base64": "...", "wyocs": {...} }
{
"model": "WY Voice Swift",
"input": "Welcome to Wyoming Cloud Solutions.",
"voice": "nova",
"response_format": "mp3"
}
→ audio bytes (Content-Type: audio/mpeg)
Accept: application/json for base64 instead of bytes.The native endpoint POST https://wyocs.org/ai-api offers the same with {"mode":"image"|"video"|"tts", ...} plus {"mode":"council"} - several models answer and one consolidates.
Account & balance
Check your remaining credits, recent top-ups, usage, limits and the models available to your key - with just your API key. Perfect for a live balance widget on your own dashboard.
?mode=models)curl https://wyocs.org/ai-api -H "Authorization: Bearer wyai_YOUR_KEY"
{
"ok": true,
"account": { "name": "Acme Ltd", "email": "you@acme.com" },
"balance": { "credits": 12345, "credits_display": "12,345 cr",
"usd": "$12.35", "low": false },
"usage": { "spent_usd": "$3.20", "calls": 128, "topped_up_usd": "$15.00",
"spent_today_usd": "$0.40", "daily_cap_usd": null },
"limits": { "requests_per_minute": 60, "key_scopes": ["chat","media","tts","tools","account"] },
"recent_topups": [ { "date": "2026-07-01 12:00", "credits": 10000, "usd": "$10.00", "source": "card" } ],
"models": [ { "name": "WY Apex", "kind": "chat", "pricing": {...} } ],
"endpoints": { "chat_completions": "/v1/chat/completions", "messages": "/v1/messages", ... }
}
Paste this on an internal page to show your remaining credits live:
<div id="wy-balance">Loading…</div>
<script>
fetch("https://wyocs.org/ai-api", { headers: { "Authorization": "Bearer wyai_YOUR_KEY" } })
.then(r => r.json())
.then(d => { document.getElementById("wy-balance").textContent =
d.account.name + " - " + d.balance.credits_display + " left (" + d.balance.usd + ")"; });
</script>
Cross-origin (CORS) is enabled, so this works straight from a browser.
Heads-up: a key placed in front-end code is visible to visitors and can spend your credits. For a public page, proxy the request through your own server. Keys can be scoped (chat / media / voice), limited per day and given an expiry - ask us for a scoped key.
Limits, errors & security
- 402 - out of credits (
insufficient_quota/billing_error). Nothing is charged for a refused request; top up to resume. Each request first holds the maximum it could cost and then settles to the exact usage. - 429 - rate limited (default 60 requests per minute per key) or the account's daily spend cap. Respect
Retry-After. - 404 - unknown model for this key. Some models are available by invitation only.
- 400 - invalid request; 502 - the model could not complete the request, retry.
- Sizes - request bodies up to 12 MB (images inline as base64), replies up to the model's output limit, video renders up to ~10 minutes.
- Keys are stored hashed and shown once; revoke and re-issue any time from the workspace.
- Your conversations in the workspace are private to your account; API requests are metered but their content is not used to train anything.
- Web tools used by the models refuse private/internal network addresses.
- Questions, custom models, dedicated capacity or an invoice-based plan: contact WYOCS.