Skip to main content
The Melius REST API drives Melius canvases and generations from your own code — create projects and canvases, add nodes, wire edges, run generations across the latest image, video, audio, and language models, and read the results. It runs on the same backend as the Melius web app, CLI, and MCP server.
You authenticate with an API key. Create one in the Melius app under Team settings → Integrations. See Authentication.

Base URL

Every request needs a bearer API key. You can optionally select which team to act on with the x-team-id header — it defaults to the team your key belongs to:

How generations work

A generation in Melius is a canvas node — there’s no separate “generate” path, so the API stays consistent with the app. You create a node, start a run, and poll the run until it finishes:
Runs are asynchronous jobs. Starting a run returns immediately with a run id; the generation runs in the background across Melius’s model providers. Poll the run until status is finished (or failed).

Post-process a node

Node tools modify a finished asset in place. The first public node tool is remove-background for image nodes and file nodes that contain images. It creates and activates a transparent PNG version on the same node and costs 12 credits.
The response is { "id": "<nodeRunId>" }. Poll GET /api/v1/node-runs/<nodeRunId> until the run finishes, just like a generation run.

Get the result

When a run finishes, fetch the URL of the generated file with one more call:

Rate limits and credits

  • Credits. Generations consume credits from the team you act on, exactly like the app. The credit cost of each model is shown in GET /generation/models.
  • Rate limits. There is no monthly request quota on any plan. Requests can still return 429 with a Retry-After header — wait the number of seconds it gives you, then retry.

Next steps

Quickstart

Create a key and run your first generation end to end.

Authentication

API keys, the x-team-id header, and how keys are scoped.
Browse every endpoint under API reference in the sidebar — each has a live try it playground and code samples in cURL, Python, TypeScript, PHP, Go, and Ruby.
Last modified on August 17, 2026