Talk directly to cs-sonnet, cs-haiku, and cs-opus

CareerStudioMax's own proprietary LoRA-tuned model family, trained exclusively on career intelligence. Pick the exact model you want — no automatic routing, no surprises.

cs-opus

7B · Mistral-7B-v0.3 base

Deep reasoning — complex career strategy, multi-step analysis, long-form output.

cs-sonnet

3B · Llama-3.2-3B base

Balanced — CV writing, salary intelligence, interview coaching. Best default for most use cases.

cs-haiku

1B · Llama-3.2-1B base

Fast — quick responses, keyword extraction, scoring, classification.

Authentication

This API shares the same key as the rest of the Transformer API (/v1/extract, /v1/career-graph, /v1/job-match) — if you already have a Transformer API key, it works here too. Otherwise, generate one from the Transformer API tab in the app (no separate signup).

X-API-Key: csk_live_your_key_here
Rate limits match your existing key's tier: free = 100 req/day, pro = 10,000 req/day, enterprise = unlimited. Same key, same daily counter, shared across every /v1/* endpoint on this API.

POST /api/transformer/v1/chat

Non-streaming completion. Returns the full response in one JSON object.

Request body

FieldTypeRequiredNotes
modelstringYescs-opus · cs-sonnet · cs-haiku
messagesarrayOne of messages / promptOpenAI-style [{role, content}], roles: system/user/assistant
prompt + systemstringOne of messages / promptSimpler alternative to messages
maxTokensnumberNoDefault 2048, max 8192
temperaturenumberNoDefault 0.7
curl -X POST https://careerstudiomax.com/api/transformer/v1/chat \
  -H "Content-Type: application/json" \
  -H "X-API-Key: csk_live_your_key_here" \
  -d '{
    "model": "cs-sonnet",
    "prompt": "Write a one-line resume summary for a mid-level nurse.",
    "maxTokens": 300
  }'
const res = await fetch('https://careerstudiomax.com/api/transformer/v1/chat', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'X-API-Key': process.env.CS_API_KEY,
  },
  body: JSON.stringify({
    model: 'cs-sonnet',
    messages: [
      { role: 'system', content: 'You are a concise career coach.' },
      { role: 'user', content: 'Write a one-line resume summary for a mid-level nurse.' },
    ],
  }),
});
const { data } = await res.json();
console.log(data.text);
import requests

res = requests.post(
    "https://careerstudiomax.com/api/transformer/v1/chat",
    headers={"X-API-Key": "csk_live_your_key_here"},
    json={
        "model": "cs-sonnet",
        "prompt": "Write a one-line resume summary for a mid-level nurse.",
    },
)
print(res.json()["data"]["text"])

Response

{
  "success": true,
  "data": { "text": "...", "model": "cs-sonnet:latest", "tier": "sonnet" },
  "metadata": { "model": "cs-sonnet:latest", "apiVersion": "v1", "requestId": "req_...", "inferenceMs": 842 },
  "requestId": "req_..."
}

POST /api/transformer/v1/chat/stream

Same request body as /v1/chat, streamed as Server-Sent Events instead of one JSON blob.

data: {"type":"start","model":"cs-sonnet"}
data: {"type":"text","text":"A "}
data: {"type":"text","text":"results-driven "}
data: {"type":"text","text":"nurse..."}
data: {"type":"done","model":"cs-sonnet","inferenceMs":1204,"requestId":"req_..."}
Availability — these are self-hosted local models. If the requested tier isn't currently warm, you'll get a clean 503 instead of a hang or a silently-substituted different model: {"error": "cs-opus is not currently available..."}. Retry, or fall back to a different tier in your own code.

Try it live

Paste an API key from your Transformer API tab and send a real request.

Response will appear here…