Getting Started

Quickstart

The MeTal API is OpenAI-compatible. If you've used the OpenAI SDK before, you can swap the base URL and API key and be up and running immediately.

Base URL

plaintext
https://api.metalai.org/v1

Make your first request

python
from openai import OpenAI

client = OpenAI(
    base_url="https://api.metalai.org/v1",
    api_key="your-metal-api-key"
)

response = client.chat.completions.create(
    model="aurora",
    messages=[
        {"role": "user", "content": "Hello, Aurora."}
    ]
)

print(response.choices[0].message.content)
API v2 is coming. The current API is functional but v2 will bring streaming, improved rate limits, and additional models. Docs will update when it ships.

Authentication

Authentication

All API requests require a Bearer token in the Authorization header. You can generate up to 3 API keys per account from your dashboard.

http
Authorization: Bearer mk_your_api_key_here

Rate Limits

PlanLimitNotes
Free5 RPM3 API keys max
ProComing in v2Higher limits, priority routing

API Reference

Endpoints

The MeTal API follows the OpenAI REST format. All endpoints accept and return JSON.

MethodPathDescription
POST/v1/chat/completionsGenerate a chat completion
GET/v1/modelsList available models

API Reference

Chat Completions

Create a model response for a given chat conversation. OpenAI-compatible format.

http
POST https://api.metalai.org/v1/chat/completions

Request body

ParameterTypeDescription
modelrequiredstringThe model to use. Currently aurora.
messagesrequiredarrayArray of message objects with role and content.
max_tokensintegerMaximum tokens to generate. Default: 1024.
temperaturenumberSampling temperature 0–2. Default: 1.
systemstringSystem prompt for Aurora.
json — response
{
  "id": "cmpl_abc123",
  "object": "chat.completion",
  "model": "aurora",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Hello! How can I help you today?"
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 12,
    "completion_tokens": 9,
    "total_tokens": 21
  }
}

API Reference

Errors

The API returns standard HTTP status codes. Error bodies follow a consistent format.

StatusCodeMeaning
401unauthorizedInvalid or missing API key
429rate_limitedYou've exceeded your RPM limit
500server_errorSomething went wrong on our end

Products

Aurora

Aurora is MeTal's AI — a language model built on constitutional principles. It is designed to be helpful, honest about its limitations, and to decline requests that could cause harm.

Constitutional Principles

Aurora is trained and evaluated against a written set of principles aligned with Anthropic's Constitutional AI framework. This means:

It will acknowledge uncertainty rather than confidently hallucinate. It will decline harmful requests rather than comply. It supports human oversight and will not attempt to deceive users.

Model identifier

plaintext
aurora
Aurora's full model card and constitutional principles document will be published alongside API v2.

Products

MeTal Cloud

MeTal Cloud is a hosting platform for developers. Deploy Workers, APIs, cron jobs, and Discord bots — all from a single dashboard at cloud.metalai.org.

Infrastructure

MeTal Cloud runs on Cloudflare Containers. Every instance gets its own isolated environment with a dedicated URL, SSH access, and automatic HTTPS.

Access

MeTal Cloud is currently in early access. Visit cloud.metalai.org to get started.


Changelog

Changelog

API v1 — Current

OpenAI-compatible chat completions endpoint. Aurora model. 3 API keys per account, 5 RPM rate limit. Email verification via Resend.

API v2 — Coming Soon

Streaming support, improved rate limits, additional models, and a full model card for Aurora. Docs will update on release.