OpenAI is on a mission to make safe and beneficial AGI widely accessible. Key to that mission is empowering developers with APIs that bring the magic behind ChatGPT into applications everywhere.
Prior to using Stainless, they had built and maintained their own custom Python SDK. They also auto-generated a Node SDK for their API users using the openapi-generator.
Unfortunately, the custom Python build required engineering resources they didn’t have, and the open source, out-of-the box SDKs lacked the complex features their API required. After customer complaints about the painful experiences with their auto-generated SDK, OpenAI knew they needed a new solution.
Engineering Time Saved
“We wanted our engineers to spend time building new APIs to help other businesses.”
Before Stainless, OpenAI didn’t have a dedicated engineer, much less a team, to focus on building world-class SDKs. One engineer spent a month or two creating the foundation of their custom-built Python SDK. Then it became a part-time, shared responsibility to maintain it. The team realized that if they wanted to create SDKs well and have support for multiple languages, they needed full-time engineers to focus on it.Ideally, OpenAI would like to support as many of the top programming languages as possible, meaning 4-5 SDKs, plus hopefully some of the less common languages. But they knew that would require 2-3 full-time developers to create and maintain. That’s where Stainless became a compelling alternative. OpenAI can now keep engineers dedicated to building the core functionality for their products, instead of distracting them with SDK maintenance.
>25 new API features released with simultaneous SDK support
Closed 100+ GitHub Issues
Delighted developers with streaming, auto-retry, and types
…all with no dedicated eng resources
SDK Expertise
“It’s easy to code the basics of querying an API, but there’s a lot you don’t think about.”
When OpenAI experimented with building their own custom Python SDK, they ran into unforeseen circumstances. How does a retry work? Does the code work in all the different possible environments? How do you deal with SSL certificate errors if it can’t connect to the server? Stainless SDKs have built-in functionality and expert support to handle these nuanced situations from the start.
Open source SDK generators may work for simple APIs, but OpenAI found there were too many rough edges and features of their complex API that weren’t supported, like streaming chat
Fast, robust HTTP connectionsAuto-retry with backoff
Streaming in Type
ScriptTypes in Python
File uploads that just work from any runtime
All straight from your OpenAPI spec
End Customer Support
“Stainless triages and fixes issues, pinging us when a release is ready. It’s super useful.”
Historically, OpenAI had struggled to find time to fix bugs promptly and respond to issues from users. The Stainless team came in proactively addressing those issues and having conversations with end customers on how to improve the SDKs. When you have a million customers, one-in-a-million situations come up all the time—and the Stainless team with their SDKs handle all of them.Stainless continues to monitor discussions with end customers about how to improve functionality. Using the customer feedback and their expertise, they often make recommendations on how OpenAI can make improvements to their underlying API and benefit all customers.
Ongoing maintenance with over 70 releases shipped
Github developer support with SLAs
Product feedback on API docs and design