Building 120 AI Chat: API integration with major AI providers

Sep 21th, 2025


While building 120 AI Chat, I had to integrate with multiple AI providers to give users access to different models. Each provider had its own personality, quirks, and developer experience. Here is my unfiltered take on what it is actually like to work with them.

Google (Gemini API): The over-engineer's dream (or nightmare)

Google's approach feels very... Google. They've built this comprehensive, forward-thinking API that tries to handle everything - text, images, video - all through the same endpoint. It's like they sat down and said "let's build the API that solves every possible use case."

The technical implementation is solid, but you can tell it's designed by Java developers. Everything is CamelCased, the structure is deeply nested, and there are configuration options for scenarios I didn't even know existed. It's powerful, but sometimes I just want to send a simple text message without having to think about multimodal content types and advanced safety settings.

My biggest concern? I'm not sure Google will maintain all these features long-term. They have a track record of deprecating products, and some of these advanced API features feel like they might be on the chopping block if adoption doesn't meet their expectations.

xAI (Grok): Familiar territory

xAI took the straightforward approach - they essentially adopted OpenAI's API structure and patterns. If you've integrated with OpenAI before, you'll feel right at home. Same request formats, similar response structures, familiar error handling.

It's not particularly innovative from an API design perspective, but honestly? Sometimes boring is good. I could get their integration up and running quickly without having to learn new paradigms or dig through extensive documentation. They've proven that you don't need to reinvent the wheel to build a solid developer experience.

Vercel AI SDK: The underwhelming wrapper

I had high expectations for Vercel's offering given their reputation in the developer tools space. Unfortunately, their AI SDK left me feeling underwhelmed. It feels more like a thin wrapper around other providers rather than a thoughtful abstraction that adds genuine value.

The feature set is limited, and I didn't get the sense that they're pushing boundaries or solving hard problems. For a company known for excellent developer experience, this felt surprisingly basic. Maybe they're playing it safe in the early days, but I expected more innovation.

File attachment improvements

We've resolved rendering issues affecting file preview icons and file names within user messages, ensuring that attached PDFs and images display correctly throughout conversation history.

File names and type indicators display accurately, making it easier for users to reference and preview attached documents within lengthy conversations.

Hugging Face: The satisfying surprise

This was the most satisfying integration experience. Hugging Face has nailed something really important - they built one API that can access hundreds of models. Write the integration once, and suddenly you have access to everything from small specialized models to large multimodal ones.

The concept is brilliant: instead of maintaining separate integrations for dozens of providers, I could route through Hugging Face and let users experiment with whatever models they wanted.

The one friction point is their "inference provider" concept. It adds a layer of complexity when selecting models because you need to understand which provider is actually running the model behind the scenes. Some models also require users to accept terms and conditions on Hugging Face's website before they can access them through the API, which breaks the seamless experience I was trying to create.

Stability AI: The original in a sea of copies

Stability AI has become the template that everyone else copies. They've been so successful with their open-source approach that half the internet now offers "Stable Diffusion as a service." While that's great for the ecosystem, it creates a discovery problem - users often don't realize they're using a derivative service instead of the original.

As a developer, this means I need to be clear about which Stability AI service I'm actually integrating with. Are we hitting their official API, or one of the many third-party services built on top of their models? It matters for reliability, pricing, and feature availability.

The bigger picture

Each provider reflects their company's DNA. Google builds comprehensive, forward-looking (sometimes over-engineered) solutions. xAI ships fast by building on proven patterns. Vercel seems to be testing the waters rather than diving deep. Hugging Face thinks about democratizing access to AI. Stability AI has become the foundation that others build upon.

For 120 AI Chat, this diversity is actually perfect. Different users have different needs, and having multiple providers means I can offer options that match various use cases, budgets, and preferences. The integration complexity is worth it for the flexibility it provides.

The real challenge isn't technical integration - it's helping users navigate these choices without overwhelming them. Each provider has its strengths, and my job is making sure users can find the right tool for their specific needs.

Building 120 AI Chat has been a masterclass in understanding the current AI provider landscape. Each integration taught me something different about how these companies think about developers, users, and the future of AI accessibility.


Get updates on new features, performance improvements directly in your inbox.

Never miss a release note or roadmap announcement.