8-day API access

The AI Maraya API

Generate images and video from your own app, workflow, or bot with a single REST call. Same models that power the Maraya studio and the Telegram bot.

8-day key

Every issued key expires automatically after 8 days.

Unlimited quota

No generation-count quota while the key is active.

All supported media

Use the same production models as the studio.

Quickstart

cURL
curl -X POST https://www.aimaraya.live/v1/generations \
  -H "Authorization: Bearer $AI_MARAYA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"category":"video","model":"vseed25","prompt":"A cinematic sunrise above Dubai","duration":"5s","resolution":"720p","aspect_ratio":"16:9"}'
JavaScript
const job = await fetch("https://www.aimaraya.live/v1/generations", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.AI_MARAYA_API_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    category: "video",
    model: "vseed25",
    prompt: "A cinematic sunrise above Dubai",
    duration: "5s",
    resolution: "720p",
    aspect_ratio: "16:9",
  }),
}).then((response) => response.json());

console.log(job.id, job.status_url);

Endpoints

POST/v1/generationsQueue an image, video, or sound-effect generation with optional reference files.
GET/v1/generations/{id}Retrieve the status and output of a generation job.
GET/v1/generationsList recent generations created by this API key.
POST/v1/generations/{id}/cancelCancel a queued or running generation safely.
GET/v1/modelsList available models and their capabilities.

Rate limits

Unlimited means there is no generation-count quota. Normal queue, model availability and service-protection limits still apply so one integration cannot block other active jobs.

Authentication

Send the key as Authorization: Bearer YOUR_API_KEY. Keys are shown only once when issued, stored hashed, and can be revoked immediately by an administrator.

Signed completion webhooks

Add a public HTTPS webhook_url when submitting a generation. AI Maraya sends a terminal event after the job completes, fails or is cancelled, retries temporary delivery failures, and signs the exact request body using your separately issued webhook secret.

x-aimaraya-signature: v1=HMAC_SHA256(webhook_secret, timestamp + "." + raw_body)
x-aimaraya-timestamp: UNIX_SECONDS
x-aimaraya-delivery: UNIQUE_DELIVERY_ID
Looking for tutorials instead of raw endpoints? Check the guides.