New TTS Audio/Speech AI Plugin using Vapi

Howdy ya’ll :wave: super excited to introduce our very first public plugin!

If you haven’t used any smart Audio AI tools before, you’re missing out on a whole world of functionality.

This plugin let’s you get a smart assistant like Siri directly in your app that can speak, communicate, and transcribe conversations in real time. These transcriptions can then be used to make decisions based on the conversation or start follow on actions. A ton of both localized and digital first use cases to explore here.

We are actually using it for our own app SARA AI, which answers the phone for local restaurants, and would love to share in the fun with ya’ll.

Below is a link to:

  1. how to set up vapi on the vapi side of things (get keys and assistant ID’s)
  2. how the plugin works and
  3. the plugin itself.

If you have any questions hit us up here or join our discord!

Setting up Vapi

Using the plugin

The plugin itself

Very cool, GLWS!

I’ve been watching Vapi since the start of the year. Exciting to see how the plugin makes audio AI so easy to implement into Bubble.

Would a Hume.ai plugin be just as easy for you and the team to build? Per / minute cost is slightly lower than Vapi and Hume have a very interesting ethos behind their LLM development.

1 Like

Hey Matt, thanks for positive feedback, we appreciate you :partying_face:

Most certainly can, would you be willing to be our first customer? If you pre-paid I’d drop it to $100 for you instead of $125 and we could have it done by sometime next week. Would also let you have some input on how it works if there’s any more advanced features you’d need.

Let me know and feel free to DM me!

3 Likes

I would also be extremely interested in a Hume.ai plugin. Is this on your roadmap? I would purchase it ASAP! Thank you so much!

1 Like

UPDATE:
Figured this out, see next post of mine. The plugin encountered a comma in my variable text and apparently attempted to interpret it as a delimiter before a second variable, and thus failed. Best to find/replace commas with a space or something like that. Also: Dynamic Variables are really cool and powerful. Glad to be able to get back to spinning them up. :wink:

Hi there, @michael.david.marsac. I’ve been experimenting with a few VAPI plugins, and I really like yours for a number of reasons. One is the dynamic variables you can enter when you make a call. I am having some difficulty though. I can make the variables work if I directly enter plain text in the element inspector, like:

specials:Today we have hamburgers on special.

This works.

But if I have a multiline input and enter the specials in that, in the same way you have in the demo video, I get an error.

Here are a couple of screenshots. One is from your demo video, to make clear what I’m referring to, the second is a screenshot of the error, the third is how the plugin is set up to get the value of a multiline input.

The variable {{theCaper}} is set up in the Assistant and as mentioned, works if the Vapi plugin variable is just the plain text, and not a dynamic reference to the data.

Appreciate your assistance. This is a really valuable piece of functionality and I’m hoping to make it work. (Would also be cool to have dynamically referenced files, but first things first.) :wink:

Thanks!

Ron



I figured it out! There was a comma in my variable content. You can see it in the last image. Removed that and all worked as expected. I will henceforward do a find/replace on anything that goes up there. Might want to add this to your docs as a tip or something, or sanity check for commas on your end.

Why is it always one little character that eats your day? :wink:

Thanks anyway! Will leave the original post up in case anyone else runs into this.

Ron

Hey Ron, glad you found the issue and it’s working great for you :partying_face:

Let me know if you ever need anything, feel free to ping me or join our discord!

Thanks, Michael. Much appreciated.

In fact, I have run into some anomalous behavior, and I wonder if you might check it there to confirm. When I use an 11Labs voice, the conversation text returned from the plugin includes only the “user” prompts. The Assistant responses do not appear, so only getting half the conversation.

When I switch to a different provider, say OpenAI, Azure, or Cartesia, both sides of the conversation are returned.

I have tested this by having a text box that simply displays the VAPI element’s transcription of the current call. And to test with different voices, I am selecting different providers in the VAPI dashboard, and publishing the changed voice settings.

Can you possibly try this and confirm whether it is happening or not in your tests? Kind of stumped as to why a voice provider would make a difference in the conversation communicated back to the client, but, of course. software. :wink:

Best,
Ron

@michael.david.marsac Bumping this. :wink:

Hey Ron, sorry for the delay, here’s a quick loom: Understanding Voice Transcription Tools | Loom

Michael, thanks! And sorry for the delay on my end. Some traveling within EU and have dropped a couple of threads.

I still seem to have this problem, though I believe I am set up properly. I’ll test again with a vanilla implementation set up exactly as your demo is, and hopefully that will allow me to home in on the culprit.

Thanks again, Ron