Every request uses one bearer key (uk-…) you create in the
console. The chat endpoint is OpenAI-compatible.
curl https://api.ucok.org/v1/chat/completions \
-H "Authorization: Bearer uk-YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"general","messages":[{"role":"user","content":"hello"}]}'
from openai import OpenAI
client = OpenAI(base_url="https://api.ucok.org/v1", api_key="uk-YOUR_KEY")
r = client.chat.completions.create(
model="general",
messages=[{"role": "user", "content": "hello"}],
)
print(r.choices[0].message.content)
curl https://api.ucok.org/v1/credits -H "Authorization: Bearer uk-YOUR_KEY"
Named skills live under /apis/v1/<skill>. Media skills are
async: create a task, then poll /apis/v1/tasks/<id>.
curl -X POST https://api.ucok.org/apis/v1/image \
-H "Authorization: Bearer uk-YOUR_KEY" -H "Content-Type: application/json" \
-d '{"prompt":"a red fox in snow"}'
# -> { "task_id": 42, "status": "pending" }
curl https://api.ucok.org/apis/v1/tasks/42 -H "Authorization: Bearer uk-YOUR_KEY"