Open to every creator. Built for developers.

AI generation.
One API.

Video, images, music and 3D. The models you use in MotionLab, ready to build into your own products and workflows.

Available to every account · Same wallet & generation prices

VideoImagesAudio3DUpscale

The model library

One key. Every medium.

Live models and settings from MotionLab. Available models appear here and in API discovery as the catalog evolves.

From idea to first request

A few lines.
A lot of possibility.

  1. 01

    Create your key

    Sign in, name a key, choose permissions and save it securely.

  2. 02

    Choose a model

    Read /api/v1/models for live durations, resolutions and reference inputs. Select a model above to generate its example.

  3. 03

    Estimate, create, retrieve

    Get a credit estimate, submit with a saved idempotencyKey, then poll motionlab_get_job for your result.

Create API key
GPT Image 2.5 Sunburst
// Run on your server. Persist the key below before submitting.
const response = await fetch("https://www.motionlab.art/api/v1/actions/motionlab_generate_image", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.MOTIONLAB_API_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    "model": "gpt-image-2.5-sunburst",
    "prompt": "A sculptural glass pavilion in the desert, golden hour",
    "aspectRatio": "auto",
    "resolution": "1k",
    "idempotencyKey": "REPLACE_WITH_A_SAVED_UNIQUE_REQUEST_ID"
  }),
});
const data = await response.json();
if (!response.ok) throw new Error(data.error?.message);
console.log(data.result);

Replace every YOUR_OWNED_* placeholder using motionlab_create_upload. Save a unique idempotencyKey before each new creation and reuse it for retries. The example does not send a request.

Build your integration

AI API guides for developers.

Know what you spend

Same models.
See where you save.

Your website credits work through the API. See selected models where MotionLab costs less than Higgsfield or fal.ai at matching settings. Choose your credit pack to compare the actual dollar equivalent.

Selected configurations where MotionLab costs less than Higgsfield with Pro. Savings update with your credit pack.

Model / settingsMotionLab · ProHiggsfield · same settingsfal.ai · same settings
Grok Imagine Video 1.5

Per 5s video

Text to video · 5s · 720p · 16:9 · native audio · no reference inputs

$0.1736

2.63 credits

$0.7000

Save 75.2% vs Higgsfield

Price source ↗
$0.7000

Save 75.2% vs fal.ai

Price source ↗
Grok Imagine Image 2.0

Per image

Text to image · 2K · medium quality · one image · no reference inputs

$0.0310

0.47 credits

$0.0800

Save 61.2% vs Higgsfield

Price source ↗
$0.0800

Save 61.2% vs fal.ai

Price source ↗
Grok Imagine Image 2.0

Per image

Text to image · 1K · low quality · one image · no reference inputs

$0.0310

0.47 credits

$0.0400

Save 22.4% vs Higgsfield

Price source ↗
$0.0400

Save 22.4% vs fal.ai

Price source ↗

Selected savings, not the full model catalog. USD equivalents assume the full selected pack purchase, before tax. Website and API use the same credit price. Savings use unrounded amounts; prices are displayed to four decimals. Competitor references were checked on 2026-09-20 and may change. Missing comparisons do not imply a model is unavailable from that provider.

Competitor reference checked 2026-09-20. Higgsfield’s published API prices ↗

The practical details

Your first integration.

Discover before you create

Send Authorization: Bearer YOUR_API_KEY on every request. GET /api/v1/models returns live model IDs and supported settings in result.models. GET /api/v1/actions returns every available operation and its input and output JSON schemas.

Use the model’s actual settings

Video uses duration in seconds, resolution and aspectRatio. MotionLab tiers have duration limits per resolution. Provider models have their own ranges and audio/reference controls. Image models can expose resolution, quality and output format. Suno settings belong inside suno; Lyria controls are top-level fields.

Upload your references

Call motionlab_create_upload with filename, contentType and fileSizeBytes (the actual file size). PUT the bytes to the returned uploadUrl using the same Content-Type. Pass the returned key into the model’s reference fields. Inputs must belong to your account.

1. Estimate without spending

POST /api/v1/actions/motionlab_estimate_cost

{ "kind": "video", "model": "MODEL_ID_FROM_DISCOVERY",
  "duration": 5, "resolution": "720p", "aspectRatio": "16:9" }

2. Create the video

POST /api/v1/actions/motionlab_generate_video

{ "model": "MODEL_ID_FROM_DISCOVERY",
  "prompt": "Your creative direction",
  "duration": 5, "resolution": "720p", "aspectRatio": "16:9",
  "idempotencyKey": "YOUR_SAVED_UNIQUE_REQUEST_ID" }

3. Poll for your result

POST /api/v1/actions/motionlab_get_job

{ "jobId": "JOB_ID_FROM_RESULT" }

Safe retries

Every spending request needs an 8–120 character idempotencyKey. Persist it before submitting and reuse it if a response is lost. Use a new key for a new creation, never for a retry.

Asynchronous results

Creation returns result.jobId. Poll every few seconds with backoff, stopping at a terminal status. Successful jobs include output URLs. Download results before their signed links expire.

Predictable limits

Up to five active keys per account. 60 requests per minute per account and a separate 10-per-minute spending-action limit, plus model service limits. A 429 means back off. JSON bodies are limited to 2 MiB; media uses uploads.

A few good questions.

Who can use the API?

Every signed-in account can create a personal API key. Generation uses your available credits at the same prices as the website.

Will new models appear automatically?

New models become available through the API as they are integrated and enabled in MotionLab. Refresh /api/v1/models to get the current catalog and supported settings.

What happens when a model is switched off?

Disabled models disappear from discovery and new requests are rejected. Always refresh the catalog instead of relying on a hardcoded model list.

How do I get started?

Create an API key, choose a model from the live catalog, estimate the credit cost and submit your first request. Poll the returned job ID to retrieve the result.

Your next idea, connected.

Make something
only you would make.

Get your API key