I Built an AI Dance Generator That Turns a Photo into a Video: Here's What I Learned" A developer built myaidance, an AI dance generator that takes a character photo and a reference dance video and produces a downloadable MP4 of the subject performing the choreography, avoiding text prompts entirely. The tool enforces input constraints (10 MB photos, 15-second/50 MB reference clips), displays credit costs on the generate button, offers 20 free credits without a card, and warns that fast motion can distort faces and limbs. The developer said requiring an actual clip keeps output grounded in real movement, since vague prompts produce unpredictable results. Text-to-video tools are impressive, but they have a weakness: they're bad at choreography. Try describing a specific dance in a prompt. "She steps left, spins, drops her arm, then points at the camera." Now try getting the same result twice. It doesn't work, because words are a poor way to describe movement. That's the problem I wanted to solve with myaidance https://myaidance.com , an AI dance generator that takes a photo and a reference dance video , and produces a dance clip you can download as an MP4. In this post I'll walk through the idea, the product decisions behind it, and what designing it taught me about building AI tools people can actually trust. Instead of asking users to write a prompt, the app asks for two files: The output is a new video of your subject performing the choreography from the reference clip. You preview it, download the MP4, and upload it to TikTok, Instagram Reels, YouTube Shorts, or wherever you like. The subject can be: That last category turned out to be a lot of fun. A cartoon character doing a trending dance is exactly the kind of thing people want to make. There's no prompt box and no settings maze. Two uploads and one button. One detail I care about: a dance name or a social media link can't replace the video file. Typing "make it do the Renegade" is exactly the kind of vague input that produces unpredictable results. Requiring an actual clip keeps the output grounded in real movement. Video generation is computationally expensive, and the quality of the output depends heavily on the quality of the input. So the constraints are part of the interface, not hidden in documentation: | Input | Accepted formats | Limit | |---|---|---| | Character photo | JPG, PNG, WebP | 10 MB | | Reference video | MP4, WebM, MOV | 15 seconds, 50 MB | Showing limits next to each upload field does two things. It prevents failed uploads, and it teaches users what good input looks like before they've wasted time or credits. The same applies to the photo itself. A clear, front-facing photo with the body visible and even lighting gives the model much more to work with than a tight face crop, or a picture with several people in it. When the model has to guess who should be dancing, results get worse. Here's the uncomfortable truth about AI video: fast movement is hard. Quick choreography, spins, and close-up reference clips can distort faces, hands, and legs. This isn't unique to my app; it's a limitation of the current generation of video models. But how you communicate it matters. I could have hidden this and hoped users wouldn't notice. Instead, the site says plainly that fast motion can affect results and encourages people to review the clip before sharing it . The practical advice that follows from this: Setting honest expectations means users who understand the limits get better output, and users who hit an artifact aren't surprised or angry. It's cheaper than support tickets and better for trust. Generation costs vary depending on the model, resolution, and clip length. Rather than hiding that behind a pricing page, the cost is displayed on the generate button before the user confirms. For example, the interface reads something like "15s reference · 5s · 16:9 · 480P" next to the credit cost. New accounts receive 20 free credits with no credit card required , so people can try the tool before deciding whether it's worth paying for. The tradeoff is that some settings cost more than the signup bonus, so the interface needs to be upfront about it. My rule here is simple: nobody should have to wonder what a click will cost. Surprise charges kill trust faster than almost anything else in a paid product. Anything that generates video of people carries responsibility. Three rules are built into the product: Putting these rules next to the upload field, where people make the decision, works far better than burying them in a legal page nobody reads. The pages that don't get launch-day attention are the ones that answer real questions: If people have to email you to find out whether they can use their own video, you've already lost a bit of goodwill. AI tools are easy to demo and hard to make dependable. Most of the work isn't the generation itself; it's everything around it that makes the result predictable and trustworthy. If you want to see it for yourself, myaidance.com https://myaidance.com is live. New accounts get 20 credits and no credit card is needed. Upload a photo, add a short reference dance clip, and see what comes out. I'd love to hear from other developers working with generative video: how are you handling motion artifacts, input validation, and cost transparency in your own projects? Let me know in the comments.