Show HN: Infinity – Realistic AI characters that can speak

481 points by lcolucci ↗ HN
Hey HN, this is Lina, Andrew, and Sidney from Infinity AI (https://infinity.ai/). We've trained our own foundation video model focused on people. As far as we know, this is the first time someone has trained a video diffusion transformer that’s driven by audio input. This is cool because it allows for expressive, realistic-looking characters that actually speak. Here’s a blog with a bunch of examples: https://toinfinityai.github.io/v2-launch-page/

If you want to try it out, you can either (1) go to https://studio.infinity.ai/try-inf2, or (2) post a comment in this thread describing a character and we’ll generate a video for you and reply with a link. For example: “Mona Lisa saying ‘what the heck are you smiling at?’”: https://bit.ly/3z8l1TM “A 3D pixar-style gnome with a pointy red hat reciting the Declaration of Independence”: https://bit.ly/3XzpTdS “Elon Musk singing Fly Me To The Moon by Sinatra”: https://bit.ly/47jyC7C

Our tool at Infinity allows creators to type out a script with what they want their characters to say (and eventually, what they want their characters to do) and get a video out. We’ve trained for about 11 GPU years (~$500k) so far and our model recently started getting good results, so we wanted to share it here. We are still actively training.

We had trouble creating videos of good characters with existing AI tools. Generative AI video models (like Runway and Luma) don’t allow characters to speak. And talking avatar companies (like HeyGen and Synthesia) just do lip syncing on top of the previously recorded videos. This means you often get facial expressions and gestures that don’t make sense with the audio, resulting in the “uncanny” look you can’t quite put your finger on. See blog.

When we started Infinity, our V1 model took the lip syncing approach. In addition to mismatched gestures, this method had many limitations, including a finite library of actors (we had to fine-tune a model for each one with existing video footage) and an inability to animate imaginary characters.

To address these limitations in V2, we decided to train an end-to-end video diffusion transformer model that takes in a single image, audio, and other conditioning signals and outputs video. We believe this end-to-end approach is the best way to capture the full complexity and nuances of human motion and emotion. One drawback of our approach is that the model is slow despite using rectified flow (2-4x speed up) and a 3D VAE embedding layer (2-5x speed up).

Here are a few things the model does surprisingly well on: (1) it can handle multiple languages, (2) it has learned some physics (e.g. it generates earrings that dangle properly and infers a matching pair on the other ear), (3) it can animate diverse types of images (paintings, sculptures, etc) despite not being trained on those, and (4) it can handle singing. See blog.

Here are some failure modes of the model: (1) it cannot handle animals (only humanoid images), (2) it often inserts hands into the frame (very annoying and distracting), (3) it’s not robust on cartoons, and (4) it can distort people’s identities (noticeable on well-known figures). See blog.

Try the model here: https://studio.infinity.ai/try-inf2

We’d love to hear what you think!

307 comments

[ 3.4 ms ] story [ 237 ms ] thread
Any details yet on pricing or too early?
It's free right now, and we'll try to keep it that way as long as possible
What about open weights?

If not now, would you consider to do that with older versions of the model as you make better ones?

I look forward to movies that are dubbed moving the face+lips to the dubbed text. Also using the original actors voice.
+1 for the lips matching the dubbed speech, but I'm not sure about cloning the actor's voice. I really like dubbing actor's unique voices and how they become the voice of some characters in their language.
I thought the larger public was starting to accept subtitles so I was hoping we’d rather see the end of dubbed movies !
Love this one as well. It's a painting of Trithemius, a German monk, who actually said that
Although I assume he didn't say it in British English ;-)
FYI dang they kinda ripped off our product down to copying the UI (Hedra.com). Our model is about 12x faster and supports 4 minute long videos…
[flagged]
I welcome competition, but they have made disingenuous claims about being first after having chatted with our team (in person), are using celebrity deepfakes for their advertising, and have 1-1 copied our UI down to the three panel mobile layout and autocrop button.
To be fair your UI looks much better and the layout of both these sites is so basic (not a bad thing), it should be the last thing to worry about. Better product will win so focus on that, because except for ones ego, no one else cares who's "first".
You've expressed this concern, and your comment has been upvoted. The brigade of newly registered users echoing these talking points on this topic is not necessary and undermines your point.
I understand your implication, however I’m not behind any brigading.
Why did you make a brand new account to comment this?
Fwiw, you’ve got one video on your homepage and everything else is locked behind a signup button.

I know that signup requirement is an article of faith amongst some startup types, but it’s not a surprise to me shareable examples lead to sharing.

We have a sign-up because we ensure users accept our terms of service and acceptable use policy before creating their first video, which affirms they understand how their data is used (legally required in most US states) and will not use our technology to cause harm.
You can have that without a sign up.
>legally required in most US states

Funny how other sites can do this with a birthday dropdown, an IP address, and a checkbox.

>We have a sign-up because we ensure users accept our terms of service and acceptable use policy before creating their first video

So your company would have no problem going on record saying that they will never email you for any reason, including marketing, and your email will never be shared or sold even in the event of a merger or acquisition? Because this is the problem people have with sign-up ... and the main reason most start-ups want it.

I am not necessarily for or against required sign-ups, but I do understand people that are adamantly against them.

99% of visitors will just hit the back button.
Do you realize that this or similar technology will eventually end in every computer really soon? By building walls, you're essentially asking your potential users to go elsewhere. You should be as open as possible now that there is still room and time for competition.
(comment deleted)
This thread has opened my eyes to how many similar products exist; beyond your companies' and OP's. Was yours the first? Could the other companies make the same claim about yours? Do you make the same claim about the others?
Putting Drake as a default avatar is just begging to be sued. Please remove pictures of actual people!
That would be ironic given how Drake famously performed alongside an AI recreation of Pac.
Ya, this is tricky. Our stance is the people should be able to make funny, parody videos with famous people.
Is that legal? As in: can you use an image of a celebrity without their consent as part of the product demo?
Quick tangent: Does anybody know why many new companies have this exact web design style? Is it some new UI framework or other recent tool? The design looks sleek, but they all appear so similar.
My sad millennial take is: We're in the brain rot era, if a piece of content doesn't have immediate animation / video and that "wowww" sound byte nobody pays attention.

https://www.youtube.com/watch?v=Xp2ROiFUZ6w

My happy millennial take is that browsers have made strides in performance and flexibility, and people are utilizing that to build more complex and dynamic websites.

Simplicity and stillness can be beautiful, and so can animations. Enjoying smooth animations and colorful content isn’t brain rot imo.

It may be unpopular, but my opinion is that web pages must not have non-consensual movement.

I’ll begrudgingly accept a default behavior of animations turned on, but I want the ability to stop them. I want to be able to look at something on a page without other parts of the page jumping around or changing form while I’m not giving the page any inputs.

For some of us, it’s downright exhausting to ignore all the motion and focus on the, you know, actual content. And I hate that this seems to be the standard for web pages these days.

I realize this isn’t particularly realistic or enforceable. But one can dream.

I've seen some site behaviors "rediscovered" lately that have both grated and tickled me because it's apparent the designers are too young to have been a part of the conversations from before the Web was Won.

They can't fathom what a world without near infinite bandwidth, low latency and load times, and disparate hardware and display capabilities with no graphical acceleration looks like, or why people wouldn't want video and audio to autoplay, or why we don't do flashing banners. They think they're distinguishing themselves using variations on a theme, wowing us with infinitely scrolling opuses when just leaving out the crap would do.

I still aim to make everything load within in a single packet, and I'll happily maintain my minority position that that's the true pinnacle of web design.

Do you mean on the infinity.ai site or studio.infinity.ai? On infinity.ai we just wanted something fast and easy. This is MagicUI
It's much easier to use standard CSS packages, and these come with more standard styles. Our team doesn't have much experience building websites, so we just went with the standard styles. We used TailwindCSS.
Designers today are largely driven by trends (just like engineering?). Being cool = jumping on the latest bandwagon, not being unique or better. The good news is this particular style is pretty much restricted to tech companies, I think it started with https://neon.tech a few years ago or a similar startup.

Incidentally, the same behaviour is seen in academia. These websites for papers are all copying this one from 2020: https://nerfies.github.io/

I have uploaded an image and then used text to image, and both videos were not animated but the audio was included
can you clarify? what image did you use? or send the link to the resulting video
Sorry for the delay in response, the text prompt was "cute dog" and the uploaded image was also of a dog
This can happen with non-humanoid images. The model doesn't know how to animate them.
Is there any limitation on the video length?
Our transformer model was trained to generate videos that are up to 8s in length. However, we can make videos that are longer by using it an an autoregressive manner, and taking the last N frames of output i to seed output (i+1). It is important to use more than just 1 frame. Otherwise ,the direction of movement can suddenly change, which looks very uncanny. Admittedly, the autoregressive approach tends to accumulate errors with each generation.

It is also possible to fine-tine the model so that single generations (one forward pass of the model) are longer than 8s, and we plan to do this. In practice, it just means our batch sizes have to be smaller when training.

Right now, we've limited the public tool to only allow videos up to 30s in length, if that is what you were asking.

Thanks for answering this. I would love to use it when APIs are available to integrate with my apps
Video compression algorithms use key frames. So can’t you do the same thing? Essentially, generate five seconds. Then pull out the last frame. Use some other AI model to enhance it (upscale, consistency with the original character, etc.). Then use that as the input for the next five seconds?
(comment deleted)
This is a good idea. We have discussed incorporating an additional "identity" signal to the conditioning, but simply enforcing consistency with the original character as a post-processing step would be a lot easier to try. Are there any tools you know of that do that?
Is it similar to https://loopyavatar.github.io/. I was reading about this today and even the videos are exactly the same.

I am curious if you are anyway related to this team?

It was posted to hacker news as well within the last day.

https://news.ycombinator.com/item?id=41463726

Examples are very impressive, here's hoping we get an implementation of it on huggingface soon so we can try it out, and even potentially self-host it later.

[flagged]
We are not related to Loopy Avatar. We trained our own models. It's a coincidence that they launched yesterday.

In the AI/research community, people often try to use the same examples so that it's easier to compare performance across different models.

You should watch out for Hedra and Sync. Plus a bunch of Loopy activity on Discord.
I know these guys in real life, they've been working on this for months and, unlike the ByteDance paper, have actually shipped something you can try yourself.
Not seeing other possibilities isn't great though, right? Clearly there are other possibilities.
No, not related. We just took some of Loopy's demo images + audios since they came out 2 days ago and people were aware of them. We want to do an explicit side-by-side at some point, but in the meantime people can make their own comparisons, i.e. compare how the two models perform on the same inputs.

Loopy is a Unet-based diffusion model, ours is a diffusion transformer. This is our own custom foundation model we've trained.

This took me a minute - your output demos are your own, but you included some of their inputs, to make for an easy comparison? Definitely thought you copied their outputs at first and was baffled.
Exactly. Most talking avatar papers re-use each others images + audios in their demo clips. It's just a thing everyone does... we never thought that people would think it means we didn't train our own model!

For whoever wants to, folks can re-make all the videos themselves with our model by extracting the 1st frame and audio.

Yes, exactly! We just wanted to make it easy to compare. We also used some inputs from other famous research papers for comparison (EMO and VASA). But all videos we show on our website/blog are our own. We don't host videos from any other model on our website.

Also, Loopy is not available yet (they just published the research paper). But you can try our model today, and see if it lives up to the examples : )

Holy shit loopy is good, i imagine another closed model, opensource never gets good shit like that :(
The actor list you have is so... cringe. I don't know what it is about AI startups that they seem to be pulled towards this kind of low brow overly online set of personalities.

I get the benefit of using celebrities because it's possible to tell if you actually hit the mark, whereas if you pick some random person you can't know if it's correct or even stable. But jeez... Andrew Tate in the first row? And it doesn't get better as I scroll down...

I noticed lots of small clips so I tried a longer script, and it seems to reset the scene periodically (every 7ish seconds). It seems hard to do anything serious with only small clips...?

Thanks for the feedback! The good news is that the new V2 model will allow people to create their own actors very easily, and so we won't be restricted to the list. You can try that model out here: https://studio.infinity.ai/

The rest of our website still uses the V1 model. For the V1 model, we had to explicitly onboard actors (by fine-tuning our model for each new actor). So, the V1 actor list was just made based on what users were asking for. If enough users asked for an actor, then we would fine-tune a model for that actor.

And yes, the 7s limit on v1 is also a problem. V2 right now allows for 30s, and will soon allow for over a minute.

Once V2 is done training, we will get it fully integrated into the website. This is a pre-release.

Ah, I didn't realize I had happened upon a different model. Your actor list in the new model is much more reasonable.

I do hope more AI startups recognize that they are projecting an aesthetic whether they want to or not, and try to avoid the middle school boy or edgelord aesthetic, even if that makes up your first users.

Anyway, looking at V2 and seeing the female statue makes me think about what it would be like to take all the dialog from Galatea (https://ifdb.org/viewgame?id=urxrv27t7qtu52lb) and putting it through this. [time passes :)...] trying what I think is the actual statue from the story is not a great fit, it feels too worn by time (https://6ammc3n5zzf5ljnz.public.blob.vercel-storage.com/inf2...). But with another statue I get something much better: https://6ammc3n5zzf5ljnz.public.blob.vercel-storage.com/inf2...

One issue I notice in that last clip, and some other clips, is the abrupt ending... it feels like it's supposed to keep going. I don't know if that's an artifact of the input audio or what. But I would really like it if it returned to a kind of resting position, instead of the sense that it will keep going but that the clip was cut off.

On a positive note, I really like the Failure Modes section in your launch page. Knowing where the boundaries are gives a much better sense of what it can actually do.

Very creative use cases!

We are trying to better understand the model behavior at the very end of the video. We currently extend the audio a bit to mitigate other end-of-video artifacts (https://news.ycombinator.com/item?id=41468520), but this can sometimes cause uncanny behavior similar to what you are seeing.

Breathtaking!

First, your (Lina's) intro is perfect in honestly and briefly explaining your work in progress.

Second, the example I tried had a perfect interpretation of the text meaning/sentiment and translated that to vocal and facial emphasis.

It's possible I hit on a pre-trained sentence. With the default manly-man I used the phrase, "Now is the time for all good men to come to the aid of their country."

Third, this is a fantastic niche opportunity - a billion+ memes a year - where each variant could require coming back to you.

Do you have plans to be able to start with an existing one and make variants of it? Is the model such that your service could store the model state for users to work from if they e.g., needed to localize the same phrase or render the same expressivity on different facial phenotypes?

I can also imagine your building different models for niches: faces speaking, faces aging (forward and back); outside of humans: cartoon transformers, cartoon pratfalls.

Finally, I can see both B2C and B2B, and growth/exit strategies for both.

Thank you! You captured the things we're excited about really well. And I'm glad your video was good! Honestly, I'd be surprised if that sentence was in the training data... but that default guy tends to always look good.

Yes, we plan on allowing people to store their generations, make variations, mix-and-match faces with audios, etc. We have more of an editor-like experience (script-to-video) in the rest of our web app but haven't had time to move the new V2 model there yet. Soon!

The e2e diffusion transformer approach is super cool because it can do crazy emotions which make for great memes (like Joe Biden at Live Aid! https://youtu.be/Duw1COv9NGQ)

Edit: Duke Nukem flubs his line: https://youtu.be/mcLrA6bGOjY

Nice :) It's been really cool so see the model get more and more expressive over time
I don't think we've seen laughing quite that expressive before. Good find!
quite slow btw
Yeah, it's about 5x slower than realtime with the current configuration. The good news is that diffusion models and transformers are constantly benefitting from new acceleration techniques. This was a big reason we wanted to take a bet on those architectures.

Edit: If we generate videos at a lower resolution and with a fewer number of diffusion steps compared to what's used in the public configuration, we are able to generate videos at 20-23 fps, which is just about real-time. Here is an example: https://6ammc3n5zzf5ljnz.public.blob.vercel-storage.com/fast...

Woah that's a good find Andrew! That low-res video looks pretty good
Wowww.. can you buy more hardware and make a realtime websocket API?
For such models, is it possible to fine-tune models with multiple images of the main actor?

Sorry, if this question sounds dumb, but I am comparing it with regular image models, where the more images you have, the better output images you generate for the model.

It is possible to fine-tune the model with videos of a specific actor, but not images. You need videos to train the model.

We actually did this in early overfitting experiments (to confirm our code worked!), and it worked surprisingly well. This is exciting to us, because it means we can have actor-specific models that learn the idiosyncratic gestures of particular person.

This is actually great, waiting for your API integration or replicate integration to get my hands dirty :)
Damn - I took an (AI) image that I "created" a year ago that I liked and then you animated it AND let it sing Amazing Grace. Seeing IS believing this technology pretty much means video evidence ain't necessarily so.
We're definitely moving into a world where seeing is no longer believing
I tried with the drake and drake saying some stuff and while its cool, its still lacking, like his teeth are disappearing partially :S
Agreed! The teeth can be problematic. The good news is we just need to train at higher resolution (right now we are at 320x320px), and that should resolve the teethe issue.

So far, we have purposely trained on low resolution to make sure we get the gross expressions / movements right. The final stage of training with be using higher resolution training data. Fingers crossed.

Realistic teeth in lipsync videos based purely on data and without explicit priors would be tough.

Good luck :)

Thanks for the feedback. The current model was trained at ~320x320 resolution. We believe going higher will result in better videos with finer detail, which we plan to do soon.
I need to create a bunch of 5-7 minute talking head videos. What's your timeline for capabilities that would help with this?
Our model can recursively extend video clips, so theoretically we could generate your 5-7min talking head videos today. In practice, however, error accumulates with each recursion and the video quality gets worse and worse over time. This is why we've currently limited generations to 30s.

We're actively working on improving stability and will hopefully increase the generation length soon.

Could you not do that today, with the judicious use of cuts and transitions?
accidentally clicked the generate button twice.
i wonder how long would it take for this technology to advance to a point where nice people from /r/freefolk would be able to remake seasons 7 and 8 of Game of Thrones to have a nice proper ending? 5 years, 10?
I'd say the 5 year ballpark is about right, but it'll involve combining a bunch of different models and tools together. I follow a lot of great AI filmmakers on Twitter. They typically make ~1min long videos using 3-8 different tools... but even those 1min videos were not possible 9 months ago! Things are moving fast
Haha, wouldn't we all love that? In the long run, we will definitely need to move beyond talking heads, and have tools that can generate full actors that are just as expressive. We are optimistic that the approach used in our V2 model will be able to get there with enough compute.
Have to say, whilst this tech has some creepy aspects, just playing about with this my family have had a whole sequence of laughs out loud moments - thank you!
I'm so glad! We're trying to increase the laugh out loud moments in the world :)
This makes me so happy. Thanks for reporting back! Goal is to reduce creepiness over time.
I tried making this short clip [0] of Baron Vladimir Harkonnen announcing the beginning of the clone war, and it's almost fine, but the last frame somehow completely breaks.

[0]: https://6ammc3n5zzf5ljnz.public.blob.vercel-storage.com/inf2...

This is a bug in the model we're aware of but haven't been able to fix yet. It happens at the end of some videos but not all.

Our hypothesis is that the "breakdown" happens when there's a sudden change in audio levels (from audio to silence at the end). We extend the end of the audio clip and then cut it out the video to try to handle this, but it's not working well enough.

just an idea, but what if the appended audio clip was reversed to ensure continuity in the waveform? That is, if >< is the splice point and CLIP is the audio clip, then the idea would be to construct CLIP><PILC.
This is exactly what we do today! It seems to work better the more you extend it, but extending it too much introduces other side effects (e.g. the avatar will start to open its mouth, as if it were preparing to talk).
Hmm, maybe adding white noise would work. -- OK, that's quite enough unsolicited suggestions from me up in the peanut gallery. Nice job on the website, it's impressive, thank you for not requiring a sign up.
All for suggestions! We've tried white noise as well, but it only works on plain talking samples (not music, for example). My guess is that the most robust solution will come from updating how it's trained.
What if you train it to hold the last frame on silence (or quiet noise)?
We've talked about doing something like that. Feels like it should work in theory.
Or noise corresponding with a closed mouth

Hmmmmmmmm

Ohmmmmmmm

hmm weird, i thought you criticise heygen for doing exactly that (mirroring the input)
HeyGen (and our V1 model) literally uses the user on-boarding video in the final output. See here for a demonstration of this (https://toinfinityai.github.io/v2-launch-page/#comparisons). We are not talking about that in this thread. We are trying to solve a quirk of our Diffusion Transformer model (V2 model).

Our V2 model is trained on specific durations of audio (2s, 5s, 10s, etc) as input. So, if give the model a 7s audio clip during inference, it will generate lower quality videos than at 5s or 10s. So, instead, we buffer the audio to the nearest training bucket (10s in this case). We have tried buffering it with a zero array, white noise and just concatenating the input audio (inverted) to the end. The drawback is that the last frame (the one at 7s) has a higher likelihood to fail. We need to solve this.

And, no shade on HeyGen. It's literally what we did before. And their videos look hyper realistic, which is great for B2B content. The drawback is you are always constrained to the hand motions and environment of the on-boarding video, which is more limiting for entertainment content.

i already love you guys more than them bc of how transparent you are. keep it up!!
you need a slider for how animated the facial expression are.
That's a good idea! CFG is roughly correlated with expressiveness, so we might to expose that to the user at some point
It's incredibly good - bravo. Only thing missing for this to be immediately useful for content creation, is more variety in voices, or ideally somehow specifying a template sound clip to imitate.
Thanks for the feedback! We used to have more voices, but didn't love the experience, since users had no way of knowing what each voice sounded like without creating a clip themselves. Probably having pre-generated samples for each one would solve that. Let us know if you have any other ideas.

We're also very excited about the template idea! Would love to add that soon.

great job Andrew and Sidney!