LOCK

Raw cURL with Meridian

Every Meridian model speaks plain HTTP. No SDK required — just a terminal, an API key, and the examples below.

Set your key once and reuse it across all examples:

export MERIDIAN_API_KEY="mk-..."
POST/v1/chat/completions

Chat Completions

$ curl -s https://api.meridian.ai/v1/chat/completions \
  -H "Authorization: Bearer $MERIDIAN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "meridian-3-opus",
  "messages": [
    {
      "role": "system",
      "content": "You are a precise assistant."
    },
    {
      "role": "user",
      "content": "Explain quaternions in two sentences."
    }
  ],
  "temperature": 0.7,
  "max_tokens": 256
}'
POST/v1/embeddings

Embeddings

$ curl -s https://api.meridian.ai/v1/embeddings \
  -H "Authorization: Bearer $MERIDIAN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "meridian-embed-v2",
  "input": "The Meridian API normalizes vectors to unit length by default."
}'
POST/v1/images/generations

Image Generation

$ curl -s https://api.meridian.ai/v1/images/generations \
  -H "Authorization: Bearer $MERIDIAN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "meridian-vision-pro",
  "prompt": "A bioluminescent fox curled around a server rack, synthwave palette, 8k",
  "n": 1,
  "size": "1024x1024",
  "response_format": "b64_json"
}'
POST/v1/audio/transcriptions

Audio Transcription

$ curl -s https://api.meridian.ai/v1/audio/transcriptions \
  -H "Authorization: Bearer $MERIDIAN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '# Meridian audio endpoints accept multipart/form-data.
# Replace @/path/to/audio.mp3 with your local file.
curl https://api.meridian.ai/v1/audio/transcriptions \
  -H "Authorization: Bearer $MERIDIAN_API_KEY" \
  -F model="meridian-whisper-v3" \
  -F file=@/path/to/audio.mp3 \
  -F response_format="verbose_json"'
GET/v1/models

List Models

All endpoints require TLS 1.3. The base URL is https://api.meridian.ai. Streaming responses append stream: true to the JSON body — add --no-buffer to your cURL invocation.