Use the Gemini API with OpenAI Fallback in TypeScript
Published on: 2025-05-09 19:41:13
If you want to use Gemini’s public API, but at the same time have a safe fallback in case you have exhausted the rate limits, you can use the OpenAI TS/JS library and a few helper functions. In my particular case I needed a type-safe solution for a chartmaker app with a fallback since Gemini’s gemini-2.5-pro-exp-03-25 model is restricted to 20 request/min.
First, you need to define which models you want to use so that they appear as autosuggest when you use the helper functions:
type Model = ChatCompletionParseParams[ 'model' ] | 'gemini-2.5-pro-exp-03-25' | 'gemini-2.0-flash' ;
The helper function requires one argument; an array of 2 configuration objects for the desired AI queries (in principle, you can add as many as you want, or choose other AIs that are compatible with the OpenAI library):
export const getCompletion = async ( options : [ Omit< ChatCompletionParseParams , ' model ' > & { model: Model }, Omit< ChatCompletionParseParams , ' model ' > & { model: Model }, ], ) => {
... Read full article.