---
title: "Animate Request"
method: POST
path: "/animate"
---

# Animate Request

`POST /animate`

Animate an image using a driving video. The request is a multi-part form POST that takes the following arguments:

- **init_image**: The input image that needs to be animated
- **init_image_generated**:  Is the image given for animation an AI generated image?
- **driving_video**: The input driving video that will puppet the `init_image`
- **driving_video_name**: If a driving video is not uploaded, you can use this parameter to specify the name of
                          an pre-generated driving video. This can be one of `side_to_side.mp4`, `rainbow_connection_driving.mp4`, `soft_look_around.mp4` or `jasmine_love_ya.mp4`
- **synchronous**: DO NOT USE. Set to `False`
- **user_id**: A GUID that identifies the caller of the API. Please ensure the same `user_id` is passed in all requests.
               If you have multiple products using the API, you can use different `user_id` for different products. But please do not generate
               a new `user_id` in every request.
- **request_id**: A GUID identifying your request
- **seamless_loop**: Loop the result video so that it can loop seamlessly. This is useful for NPC characters in Games. Also looks nice.
- **should_add_audio**: Should audio from the driving video be added back to result?
- **remove_bg**: (Experimental) Try to remove the background in result video
- **generated_animated_frames_as_png**: Generate the frames of the result video as PNG frames. These can be huge and be in the order of several Gbs.
- **upscale_video_4x**: Upscale the result video by 4x. So if input is 512x512px image, this will result in 2048x2048 video.
- **make_slowmo_animation**: Make the result in slow motion.
- **smoother_animation_2x**: Double the number of frames in the result video. Gives smoother animation.
- **side_by_side_video**: DO NOT USE. Set to `False`
- **crop_animated_video_to_face**: For large input images with full body or half body of the person, should the result video be cropped to the persons face?
- **dummy_image**: A dummy image is used if the facial features of the input image `init_image` are not clear. Pass in another image that has clear facial features in the same position as the `init_image`
- **animation_mode**: Animation mode defines how the result animated video should look like. This can take three options:

     `standard` - Make the result video look like the driving video

     `relative` - Make the result video look like the input image

     `make_init_frame` - Choose the best possible mix of the two modes above.

NOTE:

The animations are limited to 1 min length. Please reach out to us if you need longer videos. The API will return a JSON object that looks like:

```
{
        "url":"05_06_2023/test-a8ee1618-a767-46f6-be30-dc8e3ae1b8ad/animations/C480BDD3-6E47-4949-B0C2-3C1C0E388391.wa.mp4",
        "frames":null,
        "task_id":"84289e12-562a-4fa8-8d43-895d050b54b4",
        "task_status":"PENDING"
}
```

## Response `200`

Successful Response

- unknown

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/puppetry/apis/puppetry-api.md) · [All operations](https://skmtc.net/puppetry/apis/puppetry-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/puppetry/puppetry-api/revisions/b1edb3c2f3e8/schema)
