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/completionsChat 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/embeddingsEmbeddings
$ 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/generationsImage 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/transcriptionsAudio 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/modelsList 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.