IMAGINE
Generate a video based on a prompt and/or an image input or a video input.
POST
https://api.apiframe.pro/runway-imagine
Headers
Content-Type
application/json
Authorization*
Your APIFRAME API Key
Body
prompt
*
string
the text prompt for the video
generation_type
*
string
It can be 'text2video', 'image2video' or 'video2video'
image_url
string
URL of the image representing the initial frame of the video, for 'image2video'
end_image_url
string
URL of the image representing the end frame of the video, also for 'image2video'
video_url
string
The video to use for the 'video2video' generation
aspect_ratio
string
Aspect ratio for the video. Can be 16:9, 9:16, 1:1, 4:3, 3:4, or 21:9 Only for 'text2video'
model
string
The model to use to generate the video, it can be 'gen3' or 'gen3a_turbo'
duration
integer
The duration of the video, it can be 5 or 10
flip
boolean
Whether to flip the video vertically or not
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": "runway",
"video_url": "https://...........xxxx.mp4", //
"status": "finished",
"percentage": 100
}
If the job is not completed, you will get a result like this:
{
"task_id": "29e983ca-7e86-4017-a9e3-ef6fe9cd5f2a",
"task_type": "runway",
"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.",
"generation_type": "text2video",
"webhook_url": "https://........",
"webhook_secret": "abc123"
});
const config = {
method: 'post',
maxBodyLength: Infinity,
url: 'https://api.apiframe.pro/runway-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?