IMAGINE
Generate a video based on a prompt and/or an image input.
POST
https://api.apiframe.pro/luma-imagine
Headers
Content-Type
application/json
Authorization*
Your APIFRAME API Key
Body
prompt
*
string
the text prompt for the video
image_url
string
URL of the image representing initial frame of the video
end_image_url
string
URL of the image representing end frame of the video
enhance_prompt
boolean
Should Luma AI try to enhance your prompt? Default: false
aspect_ratio
string
Aspect ratio for the video. Default: 1:1
loop
boolean
Create a looping video
webhook_url
string
The final result and updates of this task will be posted at this URL.
webhook_secret
string
Will be passed as x-webhook-secret
in the webhook call headers for authentication.
Response
// Success, the task has been submitted
{
"task_id": "29e983ca-7e86-4017-a9e3-ef6fe9cd5f2a"
}
This endpoint doesn't generate the video instantly, you can use the Fetch endpoint to fetch the result or use webhooks.
The result (posted to the webhook_url
or retrieved with the Fetch endpoint) looks like this:
{
"task_id": "29e983ca-7e86-4017-a9e3-ef6fe9cd5f2a",
"task_type": "luma",
"video_url": "https://...........xxxx.mp4", //
}
If the job is not completed, you will get a result like this:
{
"task_id": "29e983ca-7e86-4017-a9e3-ef6fe9cd5f2a",
"task_type": "luma",
"status": "processing",
"percentage": "40",
}
Code samples
const axios = require('axios');
const data = JSON.stringify({
"prompt": "A colossal mech suit towering over a futuristic cityscape, its powerful weapons primed for battle against an unseen threat.",
"webhook_url": "https://........",
"webhook_secret": "abc123"
});
const config = {
method: 'post',
maxBodyLength: Infinity,
url: 'https://api.apiframe.pro/luma-imagine',
headers: {
'Content-Type': 'application/json',
'Authorization': 'YOUR_API_KEY'
},
data : data
};
axios.request(config)
.then((response) => {
console.log(JSON.stringify(response.data));
})
.catch((error) => {
console.log(error);
});
Last updated
Was this helpful?