Using Kling API to animate toys like Popal

A logo of PiAPI
PiAPI

Hey guys!

Today, we'll be using the Kling API to bring toys to life through animation. In this blog, we’ll be using Popal’s brick figurines as the examples to demonstrate how Kling API animate toys. For those of you unfamiliar with Popal, they are a company focusing on creating brick figurines of your favorite characters.

Screenshot of Popal Website homepage
Popal website homepage

In this blog, we’ll be using the Kling API to animate figures like the ones from Popal. We’ll explore three different aspects to evaluate whether Kling API is an effective tool for animating toys, such as brick figures. The three aspects we’ll be examining are:

  1. 1. Movement

Realistic movement is essential for making brick figures feel alive and interactive. When animating a toy, you'd naturally want it to perform some form of movement to catch the attention of the viewer.

  1. 2. Physics

Physics ensures that toy animations react naturally to real-world physics like gravity and momentum, creating believable and authentic actions that make the animation feel grounded. We also wanted to see how it would do when interacting with different objects.

  1. 3. Facial Expressions

Facial expressions are key to revealing the personality and emotions of the toys, deepening the emotional connection between the viewer and the animation.

Now that you know what the key elements that we are focusing on, let's first start with our results from trying to animate a Popal brick figurine's movements.

Movement

For movement, we are going to use this Mai Sakurajima figurine (Rascal Does not Dream of Bunny Girl Senpai) from Popal. Below is an image of the brick figure which we will be using as input into Kling API alongside a prompt to see how well can Kling animate the toy's movements.

PNG image of Mai Sakurajima Figure that will be used as input
Image of Mai Sakurajima Figure that will be used as input

We will have Kling API animate the brick figurine with two types of movements: one where it runs, and the other where it jumps.

Movement 1: Running

GIF of Mai Sakurajima Figure running towards the screen generated by Kling API
Prompt: "The brick figurine running intensely"

As you can see above, Kling API does a great job at animating the brick figure. The running motion feels quite realistic, with the figurine’s arms and legs moving naturally. Additionally, the bunny ears move in sync with the running action, which is a nice attention to detail from Kling API.

Movement 2: Jumping

GIF of Mai Sakurajima Figure jumping with joy generated by Kling API
Prompt: "The brick figure jumps up and down, jumping for joy"

The jumping animation is done very well. As you can see, the movement appears natural, with the figurine’s body lifting off the ground in a realistic way. Just like the running animation, the bunny ears react in sync with the jump, adding an extra layer of realism. The attention to detail in how the ears move with the figure showcases Kling API’s ability to handle detailed animations.

Physics

For the physics test, we’ll use the same figurine as input, but this time place a brick building toy beside her. The goal is to have her punch the building and see if the animation realistically shows the building breaking in response.

PNG image of the Mai Sakurajima Figure beside a toy brick building
Image of the Mai Sakurajima Figure beside a toy brick building

And below are the results.

GIF of the Mai Sakurajima Figure destroying the toy building beside her generated by Kling API
Prompt: "The female brick figure in one swift motion, punches the building beside her intensely, like in an action sequence. The lego building then crumbles onto the floor after the punch."

As you can see, the animation still looks good, but not quite as impressive. The brick figure's actions resemble more of a strangling motion than a punch. However, the brick building does break apart in a believable enough manner, showcasing a reasonable level of destruction despite the error in the figurine’s movements.

Facial Expressions

For the facial expressions section, we’ll be using Kling API to convey three different emotions: joy, sadness, and anger. Our goal is to evaluate whether Kling API can effectively capture and express these emotions through the toy’s facial expressions.We will also be using the same image as in our movement section.

Facial Expression 1: Joy

GIF of the Mai Sakurajima Figure laughing generated by Kling API
Prompt: "Animate the brick figurine, making it smile widely and laugh with a joyful expression."

As you can see, the emotion of joy and laughter is portrayed quite well in the video. The figurine’s facial expression clearly shows a smile, and its laughter is visibly conveyed, making the emotion feel genuine and lively. The animation does a great job of capturing the emotion of happiness, with the figurine's face reflecting a natural, joyful response.

Facial Expression 2: Sadness

GIF of the Mai Sakurajima Figure crying generated by Kling API
Prompt: "The brick figurine crying hysterically as tears flow out of her eyes"

The figurine expresses sadness quite well. You can see tears flowing from her eyes, while her head lowers slightly, conveying the expression of sadness quite well. The combination of movements and tears really helps convey the emotion of sadness.

Facial Expression 3: Anger

GIF of the Mai Sakurajima Figure being angry generated by Kling API
Prompt: "Animate the brick figurine with a furrowed brow, clenching its fists and showing an angry expression."

In this video, you can clearly see the figurine expressing anger, with her fists tightly clenched and her eyebrows furrowed in frustration. The intensity of her facial expression, combined with these hand movements, effectively conveys the emotion of anger. Her face shows a strong sense of determination and irritation, making the expression effectively convey anger.

Other Tests

Before we get to our conclusion, let's quickly review the other attempts we made. Although we didn't include these in the main points of the blog, we hope they'd help you understand how different prompts influence the outcomes as shown by our tests below.

Movement

GIF of all the other "Movement" tests we did using Kling API
Other "Movement" tests we did using Kling API

M1: The brick figure walking off screen to the right

M2: The brick figure walks off to the right

M3: The brick figure moving its legs in an exaggerated manner, walking offscreen to the right

M4: The brick figure move its legs in an exaggerated manner, lifting it up one by one as it does a walking animation to the right of the screen

M5: The brick figure move its legs in an exaggerated manner, lifting it up one by one as it does a walking animation and walks in place, lifting his legs up and down

M6: The brick figure move its legs in an exaggerated manner, walking towards the viewer

M7: The brick figure turns to the right and starts running

M8: The brick figure turns 90 degrees to the right, then starts running

Physics

GIF of all the other "Physics" tests we did using Kling API
Other "Physics" tests we did using Kling API

P1: The brick figure destroying the building beside her, punching it and breaking it into two

P2: The brick figure destroying the building beside her, punching it and breaking it into two

P3: The brick figure punches the building beside her in a quick intense motion as the building explodes into lego pieces

P4: The brick figure punches the building beside her and it explodes

Facial Expressions

GIF of all the other "Facial Expressions" tests we did using Kling API
Other "Facial Expressions" tests we did using Kling API

FEJ1: The brick figurine smiling

FEJ2: The brick figurine laughing, as she points at the screen, she is laughing uncontrollably

FES1: Transform the brick figurine, showing tears in its eyes as it sobs, its face filled with sadness

FES2: Animate the brick figurine, showing tears in its eyes as it sobs, its face filled with sadness

FEA1: The brick figurine has a scornful expression, with her face showing intense anger

FEA2: Create a video of the brick figurine with a furrowed brow, clenching its fists and showing an angry expression.

Conclusion

Overall, we can say that Kling API does quite a good job animating toys. It is really good at conveying facial expressions, bringing out emotions with impressive details. The movement animations also stand out, with the figurines demonstrating realistic motions as they move. It's weakest point is when it comes to physics and interactions with other objects. While the building destruction test showed some promise, the overall physics interactions felt a bit off compared to the other aspects. Still, Kling API is a great AI tool for animation, especially for animating facial expressions and movement.

If you are interested in the brick figures we used in this blog as examples, check out Popal!

And if you are interested in any of our other APIs, feel free to check them out at PiAPI!


More Stories