Video Generation (Coming soon)

Create text-to-video, image-to-video, and video-to-video tasks.

Video generation (Coming soon)

Use POST /v1/videos/generations to create a video task. The API returns a task id; use Task status to get the final video URL.

This endpoint is documented for preview and is not open yet.

Endpoint

POST /v1/videos/generations

Request body

FieldTypeRequiredDescription
providerstringYesVideo provider, for example kie or fal.
modelstringYesVideo model, for example sora-2-pro-text-to-video.
scenestringYesOne of text-to-video, image-to-video, or video-to-video.
promptstringRequired for text-to-videoText instruction for the video.
image_inputstring or string[]Required for image-to-videoOne or more image URLs used as references.
video_inputstring or string[]Required for video-to-videoSource video URL used as the input.
optionsobjectNoExtra model options, such as duration or aspect_ratio when the selected model supports them.

Scenes and credits

SceneRequired inputCredits
text-to-videoprompt6
image-to-videoimage_input8
video-to-videovideo_input10

Example: text to video

curl https://sseedance.com/v1/videos/generations \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "provider": "kie",
    "model": "sora-2-pro-text-to-video",
    "scene": "text-to-video",
    "prompt": "A cinematic shot of a glass city at sunrise"
  }'

Example: image to video

curl https://sseedance.com/v1/videos/generations \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "provider": "kie",
    "model": "sora-2-pro-image-to-video",
    "scene": "image-to-video",
    "image_input": ["https://cdn.example.com/reference.png"],
    "options": {
      "duration": "10"
    }
  }'

Example: video to video

curl https://sseedance.com/v1/videos/generations \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "provider": "fal",
    "model": "fal-ai/kling-video/o1/video-to-video/edit",
    "scene": "video-to-video",
    "video_input": ["https://cdn.example.com/source.mp4"]
  }'

Response

{
  "id": "task_id",
  "object": "video.generation.task",
  "status": "pending",
  "data": {
    "id": "task_id",
    "mediaType": "video",
    "status": "pending",
    "videoUrls": []
  }
}

Use GET /v1/tasks/{id} to check the final videoUrls.

Video Generation (Coming soon)