Mage API · Video model
Plum API
Sound on every clip, up to 2K
POST https://api.mage.space/v1/plum/generateAt a glance
The Plum API runs Plum Fast and 2 other variants through Mage at POST https://api.mage.space/v1/plum/generate. A request at the default settings costs 173 Gems (about $0.173), with no subscription. Plum takes saved characters, references, audio references by @handle in the prompt.
- VideoOutput
- 3Variants
- 173Gems per clip, default
- $0.173About, in USD
Overview
What the Plum API does
Full-feature video with audio on every clip and up to 2K output. Start and end frames, up to 9 references or Characters, and Voices; 4 to 15 seconds.
Mage's full-feature video model with generated audio on every clip and output up to 2K, as Plum, the faster Plum Max, and Plum Fast, the fastest and lowest-cost.
It accepts first_image, last_image, image, additional_images, videos as inputs.
Quick start
Call the Plum API
Set MAGE_API_KEY, submit to /plum/generate, and poll status_url until the request completes.
cURL
STATUS_URL=$(curl --request POST 'https://api.mage.space/v1/plum/generate' \
--header "Authorization: Bearer $MAGE_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
"prompt": "A slow push-in on a lighthouse at dusk, waves breaking below",
"aspect_ratio": "16:9",
"duration": "5",
"model_id": "plum-fast"
}' | jq -r '.status_url')
# Repeat until status is "completed"; result.url is the file
curl "$STATUS_URL" --header "Authorization: Bearer $MAGE_API_KEY"TypeScript
// npm install @mage-space/sdk
import Mage from '@mage-space/sdk';
const mage = new Mage(); // reads MAGE_API_KEY
const request = await mage.run('plum', {
prompt: 'A slow push-in on a lighthouse at dusk, waves breaking below',
aspect_ratio: '16:9',
duration: '5',
model_id: 'plum-fast',
});
console.log(request.result.url);Python
# pip install mage-space
from mage_space import Mage
mage = Mage() # reads MAGE_API_KEY
request = mage.run("plum", {
"prompt": "A slow push-in on a lighthouse at dusk, waves breaking below",
"aspect_ratio": "16:9",
"duration": "5",
"model_id": "plum-fast",
})
print(request["result"]["url"])Models
Plum model_id values
Send model_id to pick a variant. A request without one runs the default.
| model_id | Name | Default |
|---|---|---|
| plum | Plum | |
| plum-max | Plum Max | |
| plum-fast | Plum Fast | Yes |
Options
Plum parameters
Allowed values across all variants; a variant may offer fewer. The docs list the options per variant.
| Field | Values |
|---|---|
| aspect_ratio | 16:9, 9:16, 1:1, 4:3, 3:4, 21:9 |
| resolution | 768P, 2K, 480P |
| duration | 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 |
Inputs
Media inputs Plum accepts
Send each as an https URL, a data URL, or an upload of up to 100 MB.
| Field | Role |
|---|---|
| first_image | The first frame image. |
| last_image | The last frame image. |
| image | The reference image. |
| additional_images | Additional reference images. |
| videos | The source videos. |
Rules
What the Plum API enforces
- First and last frames cannot be combined with reference images: send one kind or the other.
- On `plum-max` and `plum-fast` a last frame must be paired with a first frame.
- Video editing takes exactly one source video of 2 to 15 seconds, an output `duration`, and up to 2 reference images, counting mentioned characters and references. It takes no frames, audio references, or character voices: send `use_character_voices: false` to mention a character that has a voice.
- On `plum-max`, a source video bills at a higher rate per second than the output, so at 768P an edit costs more on `plum-max` than on `plum`.
More video models
Other video generation APIs on Mage
Raspberry API
Characters brought to life from a first frame
Seedance API
Seedance, with a strict filter
Wan 3.0 API
Wan 3.0, with a strict filter
Wan Video v2.2 API
Open-weights video with a Lightning variant
Berry API
Video that stays true to your references
Blueberry API
Pin the first and last frame
FAQ
Frequently asked questions
How much does the Plum API cost?
What is the Plum API endpoint?
Which Plum models can I call?
Does Plum support reference images or characters?
Can I use Plum from Claude or ChatGPT?
How long are Plum results kept?
Start building with Mage
One account, one Gems balance, every model. Pay only for what you generate.