Auralink AI

One key for chat, summarize, translate and moderation across OpenAI, Gemini, Mistral, Cloudflare and Claude.

Guide

  • Use Auralink AI for chat, summarization, translation, and content moderation in bots and apps.
  • One API key gives you models from OpenAI, Google (Gemini), Mistral, Cloudflare Workers AI and Anthropic (Claude). Pass model to pick one, or omit it for the default (gpt-4o-mini).
  • Billing is per token (prompt + completion) from a single balance. Each model has a price multiplier — a 4× model bills four tokens for every real token used, so premium models cost more.
  • Call GET /api/ai/models for the live list of models and their multipliers.
  • All calls need an API key with the ai scope. The models handle their own safety; only child sexual content is ever blocked.

Pass any catalog id as model. Cheaper models are 1×; larger models scale up.

1× (cheapest) — gpt-4o-mini, gemini-2.0-flash-lite, mistral-small, llama-3.1-8b 2× — gemini-2.0-flash, claude-3.5-haiku 3×–4× — mistral-large, gpt-4o, gemini-1.5-pro 5× — claude-3.5-sonnet

A model is only available when its provider is configured on the server — GET /api/ai/models returns exactly what you can use right now.

Use cases

  • Discord bots and community assistants
  • Summarize or translate user content
  • Screen messages before posting

Limits

AuthAPI key with the "ai" scope
ModelsSee GET /api/ai/models (default gpt-4o-mini)
BillingPer token × the model price multiplier
Prompt sizeUp to 2,000 non-space characters
Body formatJSON object (application/json)

Parameters

model·string

A catalog model id, e.g. gpt-4o-mini, gpt-4o, gemini-2.0-flash, mistral-large, claude-3.5-haiku. Omit for the default. See GET /api/ai/models.

prompt·stringreq

User message for chat.

prompt_code·string

Continue a chat thread (from prior response).

user·string

Speaker name when starting or joining a named thread.

user_code·string

Continue as an existing speaker (from prior response).

system·string

System instruction for chat.

temperature·number

0–2 (chat).

max_tokens·integer

1–4096 (chat).

text·stringreq

Input for summarize, translate, and moderate.

sentences·integer

1–10 (summarize, default 3).

to·stringreq

Target language (translate).

Response

JSON
{
  "chat_success": {
    "success": true,
    "data": {
      "model": "gpt-4o-mini",
      "response": "Assistant reply text…",
      "finishReason": "completed",
      "usage": {
        "promptTokens": 42,
        "completionTokens": 18,
        "totalTokens": 60
      },
      "prompt_code": "pc_a1b2c3d4e5f6",
      "user": "alice",
      "user_code": "uc_a1b2c3d4e5f6",
      "continued_from": "pc_0123456789ab",
      "usage_weight": 60,
      "participants": [
        {
          "code": "uc_a1b2c3d4e5f6",
          "label": "alice"
        }
      ]
    }
  },
  "moderate_success": {
    "success": true,
    "data": {
      "model": "omni-moderation",
      "flagged": false,
      "flaggedCategories": []
    }
  }
}

Endpoints

POST/api/ai/chat

Chat with any catalog model. Returns prompt_code for the next turn.

AuthHeader: Authorization: Bearer YOUR_API_KEY
URL pathNo path parameters
Query stringNo query parameters
Body · application/json
{
  "prompt": "What were we talking about?",
  "prompt_code": "pc_a1b2c3d4e5f6",
  "model": "gpt-4o-mini",
  "system": "You are a helpful assistant for a Discord community."
}

Required: prompt. Optional: model, prompt_code, user, user_code, system, temperature, max_tokens.

POST/api/ai/summarize

Summarize text (uses the default model)

AuthHeader: Authorization: Bearer YOUR_API_KEY
URL pathNo path parameters
Query stringNo query parameters
Body · application/json
{
  "text": "Long article text to summarize…",
  "sentences": 3
}

Required: text. Optional: sentences (1-10, default 3).

POST/api/ai/translate

Translate text with any catalog model

AuthHeader: Authorization: Bearer YOUR_API_KEY
URL pathNo path parameters
Query stringNo query parameters
Body · application/json
{
  "text": "Hello, how are you?",
  "to": "Spanish",
  "model": "gemini-2.0-flash-lite"
}

Required: text, to. Optional: model.

POST/api/ai/moderate

Content moderation (OpenAI moderation)

AuthHeader: Authorization: Bearer YOUR_API_KEY
URL pathNo path parameters
Query stringNo query parameters
Body · application/json
{
  "text": "User message to check"
}

Required: text. Returns flagged and flaggedCategories.

Example request

Request
{
  "method": "POST",
  "path": "https://api.auralink.dev/api/ai/chat",
  "headers": {
    "Authorization": "Bearer YOUR_API_KEY",
    "Content-Type": "application/json"
  },
  "body": {
    "model": "gpt-4o-mini",
    "prompt": "Write a one-line welcome message for a Discord server.",
    "system": "Keep replies under 20 words.",
    "temperature": 0.7
  }
}