सभी लेखों पर वापस जाएं
गाइड

OpenAI SDK से Gemini API कॉल करें: केवल base_url, key और मॉडल नाम बदलकर इंटीग्रेशन ट्यूटोरियल

14 जून 2026 · 9 मिनट पढ़ें · GPT / Gemini / Claude

मटमैले सफ़ेद बैकग्राउंड पर डेवलपर इंटीग्रेशन का संकेत चित्र: बाईं ओर चारकोल-ग्रे कोड विंडो, जिसमें base_url, api_key, model की तीन कॉन्फ़िगरेशन पंक्तियाँ टेराकोटा रंग से हाइलाइट हैं; दाईं ओर Gemini API क्लाउड नोड; बीच में पतली रेखा वाले तीर से कनेक्शन, नीचे छोटा प्राइस कार्ड और SDK आइकन जैसे वर्ग, कोई logo नहीं, कोई

Google ने बात बहुत साफ़ कर दी है: Gemini API OpenAI compatibility को सपोर्ट करता है, इसलिए OpenAI Python SDK, JavaScript SDK और REST से कॉल किया जा सकता है; आधिकारिक उदाहरण में base_url है https://generativelanguage.googleapis.com/v1beta/openai/, और मॉडल नाम है gemini-3.5-flashGoogle AI for Developers)。
यह उन टीमों के लिए बहुत उपयोगी है जिनके पास पहले से OpenAI SDK वाला कोड है। आपको नया client फिर से लिखने की ज़रूरत नहीं, संदेश संरचना बदलने की ज़रूरत नहीं; पहले तीन कॉन्फ़िगरेशन बदलें, उसे चला लें, फिर तय करें कि Gemini की native क्षमताएँ इस्तेमाल करनी हैं या नहीं।

ऑफ-व्हाइट पृष्ठभूमि पर तीन-चरणीय माइग्रेशन फ्लोचार्ट, बाईं ओर OpenAI SDK की पुरानी कॉन्फ़िगरेशन कार्ड, बीच में टेराकोटा रंग का तीर जिस पर “3 लाइनें बदलें” लिखा है, दाईं ओर Gemini API की नई कॉन्फ़िगरेशन कार्ड; तीन पंक्तियाँ क्रमशः base_url、api_key、model हैं, चारकोल ग्रे पतली रेखाओं और टेराकोटा हाइलाइट का उपयोग

पहले देखें कि किन तीन जगहों पर बदलाव करना है

Google दस्तावेज़ उदाहरण के बाद बहुत साफ़ लिखता है: बदलाव सिर्फ़ api_keybase_urlmodel इन तीन चीज़ों का है। OpenAI Python SDK स्वयं भी base_url या OPENAI_BASE_URL कॉन्फ़िगर करने को सपोर्ट करता है(openai-python), Node SDK में संबंधित फ़ील्ड baseURL है(openai-node)。

सबसे छोटा Python उदाहरण:

from openai import OpenAI

client = OpenAI(
    api_key="GEMINI_API_KEY",
    base_url="https://generativelanguage.googleapis.com/v1beta/openai/",
)

resp = client.chat.completions.create(
    model="gemini-3.5-flash",
    messages=[
        {"role": "system", "content": "你是一个简洁的技术助手。"},
        {"role": "user", "content": "用一句话解释什么是向量数据库。"},
    ],
)

print(resp.choices[0].message.content)

अगर आपका पुराना कोड पहले से client.chat.completions.create() इस्तेमाल कर रहा है, तो ज़्यादातर मामलों में बस client initialize करने वाली जगह को कॉन्फ़िगरेशन आइटम में निकालना होगा। बिज़नेस फ़ंक्शन में मॉडल नाम hardcode न करें, वरना बाद में Batch, Flex पर स्विच करना या मॉडल बदलना और दर्दनाक होगा।

Node.js में भी यही तरीका है

JavaScript संस्करण में बस फ़ील्ड नाम base_url से बदलकर baseURL होता है:

import OpenAI from "openai";

const client = new OpenAI({
  apiKey: process.env.GEMINI_API_KEY,
  baseURL: "https://generativelanguage.googleapis.com/v1beta/openai/",
});

const resp = await client.chat.completions.create({
  model: "gemini-3.5-flash",
  messages: [{ role: "user", content: "给我一个 Redis 限流方案。" }],
});

console.log(resp.choices[0].message.content);

REST को भी सीधे कॉल किया जा सकता है: POST https://generativelanguage.googleapis.com/v1beta/openai/chat/completions, request header में Authorization: Bearer $GEMINI_API_KEY इस्तेमाल करें। यह पहले curl से SDK, proxy और environment variable जैसी समस्याएँ अलग करने के लिए उपयुक्त है।

कॉम्पैक्ट आर्किटेक्चर डायग्राम, बाईं ओर तीन प्रवेश बिंदु Python SDK、Node SDK、REST छोटे कार्ड के रूप में दिखाए गए हैं, वे एक ही OpenAI-compatible endpoint में मिलते हैं, फिर Gemini 3.5 Flash से जुड़ते हैं; ऑफ-व्हाइट पृष्ठभूमि, टेराकोटा तीर, चारकोल ग्रे लेबल, कोई ब्रांड नहीं

कीमत अनुमान से न लगाएँ, output के हिसाब से गिनें

2026-06-14 तक, Gemini की आधिकारिक pricing page पर दिए गए gemini-3.5-flash के standard price हैं: input $1.50 / 1M tokens, output $9.00 / 1M tokens; Batch और Flex दोनों में input $0.75 / 1M tokens, output $4.50 / 1M tokens है(Gemini API pricing)。आधिकारिक रूप से यह भी लिखा है कि output price में thinking tokens शामिल हैं, इसलिए reasoning-type tasks में सिर्फ़ input price पर न टिकें।

मोड input / 1M tokens output / 1M tokens उपयुक्त परिदृश्य
Standard $1.50 $9.00 ऑनलाइन requests, low latency
Batch $0.75 $4.50 ऑफ़लाइन batch processing
Flex $0.75 $4.50 elastic scheduling स्वीकार्य हो

मेरी सलाह बहुत सरल है: chat, Agent, editor plugins पहले Standard पर चलाएँ; log summarization, data cleaning, offline evaluation को जितना हो सके Batch/Flex पर चलाएँ। जिन tasks का output लंबा है, उनमें लागत का अंतर और बड़ा हो जाएगा।

माइग्रेशन के दौरान सबसे आम गड्ढे

पहला, base_url के अंत वाला /openai/ न छोड़ें। कई 404 और model not found समस्याओं की असली वजह यह होती है कि request Gemini native path पर जा रही है, compatible path पर नहीं।
दूसरा, environment variables साफ़ अलग रखें। OPENAI_API_KEY को OpenAI के लिए जारी रख सकते हैं, Gemini के लिए अलग से GEMINI_API_KEY रखना बेहतर है; CI में दो provider को एक ही variable के लिए लड़ने न दें।
तीसरा, पहले models.list() चलाएँ। Google docs में models list करने और model fetch करने के उदाहरण हैं; production से पहले इसका इस्तेमाल करके account region, permissions और model ID सही हैं या नहीं, यह confirm करें।
चौथा, streaming, function calling, image input जैसी क्षमताओं के compatible layer में उदाहरण हैं, लेकिन यह assume न करें कि सभी OpenAI parameters एक-से-एक support होते हैं। पहले एक वास्तविक business request से regression करें।

अगर आप key maintenance कम करना चाहते हैं

अगर टीम एक साथ Claude, GPT, Gemini इस्तेमाल करती है, तो अलग-अलग apply करना, card bind करना और quota configure करना काफ़ी झंझट है। आसान रास्ता onehop इस्तेमाल करना है: OpenAI SDK का base_url बदलकर https://api.onehop.ai/v1 कर दें, onehop की key इस्तेमाल करें, और OpenAI/Anthropic compatible interfaces से Claude, GPT, Gemini कॉल कर सकेंगे। इसकी positioning है कि integration में आपकी मेहनत घटे; pricing official से कम है, नए account को $10 मिलता है, card bind करने की ज़रूरत नहीं।

from openai import OpenAI

client = OpenAI(
    api_key="ONEHOP_API_KEY",
    base_url="https://api.onehop.ai/v1",
)

resp = client.chat.completions.create(
    model="gemini-3.5-flash",
    messages=[{"role": "user", "content": "把这段报错日志总结成三条原因。"}],
)

print(resp.choices[0].message.content)

Claude या multi-model routing आज़माना चाहते हैं, तो सीधे देखें: onehop पर Claude आदि मॉडल कॉल करें। अगर पहले एक छोटा sample चलाना चाहते हैं और card bind नहीं करना चाहते, तो इस入口 से जाएँ: register करते ही $10 trial credit पाएँ

निष्कर्ष: पहले इसे configuration बनाएँ, provider hardcode न करें

Gemini की इस OpenAI compatibility की सबसे बड़ी value यह नहीं है कि “एक और मॉडल आ गया”, बल्कि यह है कि migration cost काफ़ी कम है। base_urlapi_keymodel को configuration में रखें, और business code OpenAI SDK के chat completions का ही उपयोग करता रहे।
चल जाने के बाद तीन चीज़ें और जोड़ें: input/output tokens record करें, task के हिसाब से Standard या Batch/Flex चुनें, और model ID को gray release switch बनाएँ। इस तरह आज आप Gemini जोड़ें, कल Claude या कोई और compatible service जोड़ें, core business code को फिर नहीं छूना पड़ेगा।