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
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.
- 01
Create your key
Sign in, name a key, choose permissions and save it securely.
- 02
Choose a model
Read /api/v1/models for live durations, resolutions and reference inputs. Select a model above to generate its example.
- 03
Estimate, create, retrieve
Get a credit estimate, submit with a saved idempotencyKey, then poll motionlab_get_job for your result.
// 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.
AI generation API quickstart
Create an API key, discover models, estimate credits and submit your first image with Node.js and cURL.
AI video generation API
Integrate text-to-video and image-to-video with model discovery, owned uploads, cost estimates and asynchronous results.
AI image generation and editing API
Build image generation and reference-image editing with live model settings and fractional-credit pricing.
MotionLab vs fal.ai and Higgsfield API
Compare authentication, job handling and model pricing, then plan a migration to MotionLab's media generation API.
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 / settings | MotionLab · Pro | Higgsfield · same settings | fal.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.