Skip to main content

Enterprise: Text to Video Endpoint

Overview

This endpoint is used to create video from a text prompt based on trained or on public models.

Request

--request POST 'https://stablediffusionapi.com/api/v1/enterprise/text2video' \

Make a POST request to https://stablediffusionapi.com/api/v1/enterprise/text2video endpoint and pass the required parameters as a request body.

Body Attributes

ParameterDescription
keyYour enterprise API Key used for request authorization
model_idThe ID of the model to be used. It can be public or your trained model.
promptText prompt with description of the things you want in the video to be generated
negative_promptItems you don't want in the vidoe
widthMax Height: Width: 1024x1024
heightMax Height: Width: 1024x1024
schedulerUse it to set a scheduler.
num_inference_stepsNumber of denoising steps (minimum: 1; maximum: 50)
enhance_promptEnhance prompts for better results; default: yes, options: yes/no
guidance_scaleScale for classifier-free guidance (minimum: 1; maximum: 20)
strengthPrompt strength when using init image. 1.0 corresponds to full destruction of information in the init image.
seedSeed is used to reproduce results, same seed will give you same result in return again. Pass null for a random number.
webhookSet an URL to get a POST API call once the video generation is complete.
track_idThis ID is returned in the response to the webhook API call. This will be used to identify the webhook request.
loadbalancerEnable load balancer; options: yes/no, default: no.
info

To use the load balancer, you need to have more than 1 server. Pass the first server's API key, and it will handle the load balancing with the other servers.

Schedulers

This endpoint also supports schedulers. Use the "scheduler" parameter in the request body to pass a specific scheduler from the list below:

  • DDPMScheduler
  • DDIMScheduler
  • PNDMScheduler
  • LMSDiscreteScheduler
  • EulerDiscreteScheduler
  • EulerAncestralDiscreteScheduler
  • DPMSolverMultistepScheduler
  • HeunDiscreteScheduler
  • KDPM2DiscreteScheduler
  • DPMSolverSinglestepScheduler
  • KDPM2AncestralDiscreteScheduler
  • UniPCMultistepScheduler
  • DDIMInverseScheduler
  • DEISMultistepScheduler
  • IPNDMScheduler
  • KarrasVeScheduler
  • ScoreSdeVeScheduler
  • LCMScheduler

Example

Body

Body
{
"key": "enterprise_api_key",
"model_id": "model_id",
"prompt": "Girl smiling and sitting on bench, ultra HD video",
"negative_prompt": "Low Quality",
"width": "512",
"height": "512",
"scheduler": "UniPCMultistepScheduler",
"num_inference_steps": "30",
"enhance_prompt": "yes",
"guidance_scale": 7.5,
"strength": 0.7,
"seed": null,
"webhook": null,
"track_id": null
}

Request

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

var raw = JSON.stringify({
"key": "",
"model_id": "model_id",
"prompt": "Girl smiling and sitting on bench, ultra HD video",
"negative_prompt": "Low Quality",
"width": "512",
"height": "512",
"scheduler": "UniPCMultistepScheduler",
"num_inference_steps": "30",
"enhance_prompt": "yes",
"guidance_scale": 7.5,
"strength": 0.7,
"seed": null,
"webhook": null,
"track_id": null
});

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

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

Response

{
"status": "success",
"generationTime": 8.905120134353638,
"id": 14933666,
"output": [
"https://pub-8b49af329fae499aa563997f5d4068a4.r2.dev/generations/f15581f8-710f-4716-89c6-72b417972337.mp4"
]
}