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

chat
Our most capable model for the hardest reasoning and long-horizon work

Flagship model for complex analysis, multi-step automation, long documents and demanding coding. Best when correctness matters more than cost.

reasoningthinkingvisiontoolspdfchat1M contextfunction calling
Input$12.00 / 1M tokens
Output$60.00 / 1M tokens
Cached input$0.3000 / 1M

WY Titan

chat
Premium reasoning for business analysis, agents and coding

High-capability model for strategy, research, agentic workflows and code. Strong default for demanding business tasks.

reasoningthinkingvisiontoolspdfchat1M contextfunction calling
Input$6.00 / 1M tokens
Output$30.00 / 1M tokens
Cached input$0.6000 / 1M

WY Horizon

chat
Balanced speed, quality and price for everyday production work

The everyday workhorse: drafting, summaries, customer replies, document understanding, structured extraction and coding at a very good price.

reasoningthinkingvisiontoolspdfchat1M contextfunction calling
Input$2.40 / 1M tokens
Output$12.00 / 1M tokens
Cached input$0.2400 / 1M

WY Nimbus

chat
Fast and economical for high-volume automation

Low-latency model for classification, routing, short replies, form filling and bulk processing where volume matters.

visiontoolschat200K contextfunction calling
Input$1.20 / 1M tokens
Output$6.00 / 1M tokens
Cached input$0.1200 / 1M

WY Aurora

chat
Fast reasoning for high-volume workloads

A cost-sensitive GPT-5.6 model for reasoning, coding and text or image input. Supports none, low, medium, high, xhigh and max reasoning effort.

reasoningvisiontoolschat1.05M contextfunction calling
Input$0.2400 / 1M tokens
Output$1.44 / 1M tokens
Cached input$0.0240 / 1M

WY Meridian

chat
Balanced GPT-5.6 reasoning and cost

A balanced GPT-5.6 model for demanding reasoning, coding and tool-enabled workflows with text or image input.

reasoningvisiontoolschat1.05M contextfunction calling
Input$2.40 / 1M tokens
Output$14.40 / 1M tokens
Cached input$0.2400 / 1M

WY Summit

chat
High-capability GPT-5.6 reasoning

A high-capability GPT-5.6 model for complex reasoning, coding and tool-enabled workflows with text or image input.

reasoningvisiontoolschat1.05M contextfunction calling
Input$4.80 / 1M tokens
Output$24.00 / 1M tokens
Cached input$0.4800 / 1M

WY Vision Prime

chat
Multimodal reasoning for demanding agent workflows

A high-capacity multimodal model for reasoning, coding, tool use and long-context work.

visiontoolsthinking256K contextfunction calling
Input$0.7200 / 1M tokens
Output$4.32 / 1M tokens
Cached input$0.7200 / 1M

WY Canvas Core

chat
Fast multimodal reasoning for everyday production use

A balanced multimodal model for reasoning, coding, agent workflows and document understanding.

visiontoolsthinkingaudio256K contextfunction calling
Input$0.1680 / 1M tokens
Output$0.4800 / 1M tokens
Cached input$0.0600 / 1M

WY Forge

chat
Deep coding and long-horizon agentic work

A high-capacity reasoning model for coding, planning and long-context agent tasks.

toolsthinking1M contextfunction calling
Input$1.68 / 1M tokens
Output$5.28 / 1M tokens
Cached input$0.3120 / 1M

WY Spark

chat
Fast multimodal coding and agent assistance

A fast multimodal model for coding and agent workflows with a large context window.

visiontoolsthinking1M contextfunction calling
Input$0.1800 / 1M tokens
Output$0.6000 / 1M tokens
Cached input$0.0360 / 1M

WY Atlas

chat
Premium multimodal agentic reasoning

A premium open-weight multimodal model for complex reasoning, coding and tool-enabled agents.

visiontoolsthinking1M contextfunction calling
Input$3.60 / 1M tokens
Output$18.00 / 1M tokens
Cached input$0.3600 / 1M

WY Canvas Studio

image
Image generation and editing

OpenAI image model for high-quality image generation and editing. Dedicated image endpoint required.

image_inputimage_outputvisionimage_generationimage_edit
Per image$0.2400

WY Voice Swift

voice
Natural text-to-speech for narration, agents and IVR

Fast, natural-sounding speech synthesis with several voices. Billed per 1,000 characters.

Speech$0.0375 / 1k 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.

ModelTypeInput / 1MCached / 1MOutput / 1MPer 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.

Chat with every model
Saved conversations, markdown, code blocks, tables and charts. Switch models mid-project.
Images, video, voice
Just ask - "make an image of…", "@video", "read this aloud" - results appear in the chat with download links.
Tools
Web search and page reading, image analysis (upload or paste), and - with the AI connector - actions on your own books: invoices, clients, expenses.
Council mode
Several models answer independently; one consolidates the best answer for important decisions.

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.

  1. Sign in to your account and open the AI workspace → API keys (or the AI card on the dashboard).
  2. Create a key (it looks like wyai_...) and copy it - it is shown once.
  3. Point your tool at one of the base URLs below with your key.
  4. Top up credits and start building.
Chat-completions dialect (OpenAI-style SDKs, LangChain, n8n, Open WebUI, LibreChat…)
Messages dialect (Anthropic-style SDKs and clients)
Auth: 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.

GET /v1/models · /v1/models/{name}

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.

POST /v1/chat/completions

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
}
POST /v1/messages · /v1/messages/count_tokens

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."}]}'
Streaming

Set "stream": true. Chat-completions streams chat.completion.chunk objects ending with [DONE]; Messages streams message_startcontent_block_deltamessage_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.

POST /v1/images/generations
{
  "model": "WY Canvas Studio",
  "prompt": "Clean product shot of a blue thermos on marble",
  "size": "1024x1024",
  "quality": "high"
}
→ { "data": [{ "b64_json": "..." }], "wyocs": {...} }
Sizes: 1024x1024, 1536x1024, 1024x1536. Quality: low / medium / high (billed per tier).
POST /v1/videos
{
  "model": "your-video-model",
  "prompt": "A drone shot over a modern data centre at sunrise",
  "seconds": 8,
  "size": "1280x720"
}
→ { "status": "completed", "video_base64": "...", "wyocs": {...} }
4, 8 or 12 seconds. 720p, 1024p or 1080p (portrait or landscape) - each tier has its own per-second price. The call waits for the render (up to a few minutes).
POST /v1/audio/speech
{
  "model": "WY Voice Swift",
  "input": "Welcome to Wyoming Cloud Solutions.",
  "voice": "nova",
  "response_format": "mp3"
}
→ audio bytes (Content-Type: audio/mpeg)
Voices: alloy, nova, shimmer, echo, onyx, fable, coral, sage, ash, ballad, verse. Formats: mp3, opus, aac, flac, wav. Send 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.

GET /ai-api (or ?mode=models)
curl https://wyocs.org/ai-api -H "Authorization: Bearer wyai_YOUR_KEY"
Response
{
  "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", ... }
}
Drop-in balance widget

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.