For developers

Build on the YG3 API.

Four models behind one OpenAI-compatible endpoint. Elysia for text reasoning. Taurus for vision. Vani for image generation. Merlin for the technical jobs. Point your existing OpenAI client at our base URL and start sending.

The whole API in one call
$ curl https://elysia-api.ngrok.io/api/public/v1/chat/completions \
  -H "Authorization: Bearer $ELYSIA_API_KEY" \
  -d '{"model":"elysia","messages":[{"role":"user","content":"hi"}]}'
Quickstart

The fastest call.

Drop these into a notebook and run them. The OpenAI Python SDK works unchanged against the YG3 base URL.

Authenticate
bash
Set ELYSIA_API_KEY in your environment. Every request takes the standard Authorization header.
curl https://elysia-api.ngrok.io/api/public/v1/models \
  -H "Authorization: Bearer $ELYSIA_API_KEY"
Chat with Elysia
python
Same request body as the OpenAI Chat Completions API.
from openai import OpenAI

client = OpenAI(
    base_url="https://elysia-api.ngrok.io/api/public/v1",
    api_key=ELYSIA_API_KEY,
)

response = client.chat.completions.create(
    model="elysia",
    messages=[
        {"role": "user", "content": "Summarize this article in three lines."},
    ],
    temperature=0.7,
    max_tokens=1000,
)
print(response.choices[0].message.content)
Vision with Taurus
python
Multimodal content array. Image as base64 or URL, text alongside it.
# Taurus handles vision + text in the same call.
response = client.chat.completions.create(
    model="taurus",
    messages=[{
        "role": "user",
        "content": [
            {"type": "image_url", "image_url": {
                "url": f"data:image/png;base64,{img_b64}",
            }},
            {"type": "text", "text": "What is in this image?"},
        ],
    }],
)
Image gen with Vani
python
Returns base64-encoded PNG. Omit response_format for a URL.
# Vani returns a base64-encoded image.
response = client.images.generate(
    model="vani",
    prompt="A storefront on a quiet street at dawn",
    response_format="b64_json",
)
img_b64 = response.data[0].b64_json
Endpoints

What you can call.

Three endpoints. Same authorization. The OpenAI client maps onto them with a base_url change.

POST/v1/chat/completions
Standard messages array. Vision content parts on Taurus. Streaming supported.
models: elysia, taurus, merlin
POST/v1/images/generations
Returns base64 PNG by default. Useful for storyboards, mocks, concept art.
models: vani
GET/v1/models
Lists the model IDs your key has access to.
models: all
Limits

What your key can do.

Published defaults. Production keys get higher limits on request.

100
requests / hour
Per key default. Higher available.
8,192
tokens / request
Streaming supported on chat.
10,000
free tokens / mo
Enough to evaluate the API.
$2
per 1M tokens
Pro tier. Flat per-token, no model premium.
Reference

Read more.

Live docs, runnable notebooks, and the deeper write-ups on what the platform is and why it works.

Help docs
API reference
The official endpoint reference. Auth, parameters, errors, sample payloads for each model.
GitHub
YG3-ai/yg3-tutorials
Runnable Jupyter notebooks. Multimodal usage, agents, structured output.
Colab
Try without installing
Open the tutorial notebook in Google Colab. Plug in your key and run the cells.
On this site3 projects
Code projects
Tutorials with a GitHub repo. ReAct-pattern agents, self-improving content engines, multimodal apps.
On this site31 workflows
YFlow library
Pre-built multi-step workflows that run on the API. Install on your tenancy, tune to your data.
On this site4 models
Model reference
A longer write-up on each model and its intended use.
On this site
How it works
Architecture behind the API. Model serving, the agent framework, the workflow runtime.
On this site
The Knox theorem
Why specialized models composed in a workflow outperform a single general one.
Get access

An API key takes one conversation.

The free tier is enough to evaluate the API. For production we provision keys manually so we can match you to the right rate limits.