Developer Access

MERaLiON API

Audio-native language model API — OpenAI-compatible, built for Southeast Asian languages.

Try It Live

Make a real API request with your key. The generated curl command updates as you type.

Click to select an audio file (WAV, MP3, M4A…)
curl · live preview
curl -X POST http://meralion.org:8010/audio/transcription \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "audio_url": "data:audio/wav;base64,<BASE64_AUDIO>"
  }'

Base URL

Productionhttp://meralion.org:8010

OpenAI-compatible — use any OpenAI SDK by pointing base_url to the MERaLiON endpoint.

Transcription Example

curl
curl -X POST http://meralion.org:8010/audio/transcription \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "audio_url": "data:audio/wav;base64,<BASE64_AUDIO>"
  }'
Python
from openai import OpenAI
import base64, pathlib

client = OpenAI(
    base_url="http://meralion.org:8010/v1",
    api_key="YOUR_API_KEY",
)

audio_b64 = base64.b64encode(pathlib.Path("speech.wav").read_bytes()).decode()

response = client.chat.completions.create(
    model="MERaLiON/MERaLiON-3-10B",
    messages=[{
        "role": "user",
        "content": [
            {"type": "text", "text": "Transcribe this audio."},
            {"type": "audio_url", "audio_url": {"url": f"data:audio/wav;base64,{audio_b64}"}},
        ],
    }],
)
print(response.choices[0].message.content)
JavaScript
const fs = require("fs");
const base64 = fs.readFileSync("speech.wav").toString("base64");

const response = await fetch("http://meralion.org:8010/v1/chat/completions", {
  method: "POST",
  headers: {
    "Authorization": "Bearer YOUR_API_KEY",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    model: "MERaLiON/MERaLiON-3-10B",
    messages: [{
      role: "user",
      content: [
        { type: "text", text: "Transcribe this audio." },
        { type: "audio_url", audio_url: { url: `data:audio/wav;base64,${base64}` } },
      ],
    }],
  }),
});
const { choices } = await response.json();
console.log(choices[0].message.content);

Authentication

Recommended
Header
Authorization: Bearer YOUR_API_KEY
Header
X-API-Key: YOUR_API_KEY
Query param
?api_key=YOUR_API_KEY

Key Endpoints

POST/v1/chat/completionsOpenAI-compatible multi-modal chat
POST/audio/transcriptionSpeech-to-text (ASR)
POST/keys/registerRegister for an API key
GET/v1/modelsList available models
GET/keys/usageCheck your usage & limits
GET/keys/tiersView available tiers

Full OpenAPI spec: http://meralion.org:8010/docs ↗