Skip to main content

Text to Video Endpoint

Overview

Text to Video endpoint generates and returns a video based on a text description.

Text to video endpoint result

Request

--request POST 'https://modelslab.com/api/v6/video/text2video' \

Make a POST request to https://modelslab.com/api/v6/video/text2video endpoint and pass the required parameters in the request body.

Body Attributes

ParameterDescriptionValues
keyYour API Key used for request authorization.key
model_idThe ID of the model to use. The allowed model IDs are cogvideox .Allowed values:cogvideox .
promptText prompt with a description of the things you want in the video to be generated.string
negative_promptItems you don't want in the video.string
seedSeed is used to reproduce results. The same seed will give you the same image again. Pass null for a random number.INTEGER
heightThe height of the video.The maximum is 512 pixels.
widthThe width of the video.The maximum is 512 pixels.
num_framesNumber of frames in the generated video.The maximum is 25. The default is 16.
num_inference_stepsNumber of denoising steps.The maximum is 50. The default is 20.
guidance_scaleScale for classifier-free guidance.min: 0, max: 8
clip_skipNumber of CLIP layers to skip. 2 leads to more aesthetic results.The default is null.
upscale_heightCan be specified to upscale the height of the video generated by the zeroscope model.1024
upscale_widthCan be specified to upscale the width of the video generated by the zeroscope model.1024
upscale_strengthHigher strength can lead to more differences between the generated video and the upscaled video when using the zeroscope model.0-1
upscale_guidance_scaleGuidance scale to be used for upscaling the video when using the zeroscope model.0-8
upscale_num_inference_stepsNumber of denoising steps for upscaling the video when using the zeroscope model.The maximum is 50. The default is 20.
use_improved_samplingWhether to use an improved sampling technique. Leads to better results with higher temporal consistency at the cost of being slow.boolean
improved_sampling_seedSeed for consistent video generation when using the improved sampling technique.INTEGER
fpsFrames per second rate of the generated video.Max 16
output_typeThe output type.mp4 or gif
instant_responsetrue if you'd like a response with future links for queued requests instantly instead of waiting for a fixed amount of time.The default is false. (TRUE or FALSE)
temptrue if you want to store your generations on our temporary storage. Temporary files are cleaned every 24 hours.The default is false. (TRUE or FALSE)
webhookSet a URL to get a POST API call once the video generation is complete.URL
track_idThis ID is returned in the response to the webhook API call. This will be used to identify the webhook request.string

Example

Body

When the model_id is zeroscope, the request json looks like so,

Body
{
"key":"",
"model_id":"zeroscope",
"prompt":"An astronaut riding a horse",
"negative_prompt":"low quality",
"height":512,
"width":512,
"num_frames":16,
"num_inference_steps":20,
"guidance_scale":7,
"upscale_height":640,
"upscale_width":1024,
"upscale_strength":0.6,
"upscale_guidance_scale":12,
"upscale_num_inference_steps":20,
"output_type":"gif",
"webhook":null,
"track_id":null
}

When the model_id is either dark-sushi-mix-vid ,epicrealismnaturalsi-vid orhellonijicute25d-vid , the request json looks like so,

Body
{
"key":"",
"model_id":"epicrealismnaturalsi",
"prompt":"An astronaut riding a horse",
"negative_prompt":"low quality",
"height":512,
"fps":7
"width":512,
"num_frames":18,
"num_inference_steps":30,
"guidance_scale":7.5,
"output_type":"gif",
"webhook":null,
"track_id":null
}

Request

var myHeaders = new Headers();
myHeaders.append("Content-Type", "application/json");

var raw = JSON.stringify({
"key":"",
"model_id":"zeroscope",
"prompt":"An astronaut riding a horse",
"negative_prompt":"low quality",
"height":512,
"width":512,
"num_frames":16,
"num_inference_steps":20,
"guidance_scale":7,
"upscale_height":640,
"upscale_width":1024,
"upscale_strength":0.6,
"upscale_guidance_scale":12,
"upscale_num_inference_steps":20,
"output_type":"gif",
"webhook":null,
"track_id":null
});

var requestOptions = {
method: 'POST',
headers: myHeaders,
body: raw,
redirect: 'follow'
};

fetch("https://modelslab.com/api/v6/video/text2video", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));

Response

Example Response

{
"status": "success",
"generationTime": 8.49,
"id": 147,
"output": [
"https://pub-3626123a908346a7a8be8d9295f44e26.r2.dev/generations/2be1702e-3a1f-46ee-811c-350cee84b66e.gif"
],
"proxy_links": [
"https://cdn2.stablediffusionapi.com/generations/2be1702e-3a1f-46ee-811c-350cee84b66e.gif"
],
"meta": {
"clip_skip": null,
"file_prefix": "2be1702e-3a1f-46ee-811c-350cee84b66e",
"fps": 7,
"guidance_scale": 7,
"height": 512,
"improved_sampling_seed": 42,
"instant_response": "no",
"model_id": "zeroscope",
"negative_prompt": "low quality",
"num_frames": 16,
"num_inference_steps": 20,
"output_type": "gif",
"prompt": "An astronaut riding a horse",
"seed": 3848624113,
"temp": "no",
"upscale_guidance_scale": 15,
"upscale_height": null,
"upscale_num_inference_steps": 20,
"upscale_strength": 0.6,
"upscale_width": null,
"use_improved_sampling": "no",
"width": 512
}
}