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

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

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

मटमैले सफेद बैकग्राउंड पर डेवलपर वर्कबेंच का इलस्ट्रेशन; बाईं ओर OpenAI SDK कोड कार्ड, दाईं ओर Gemini मॉडल कार्ड, बीच में टेराकोटा रंग के तीरों से base_url, API Key, model तीन बदलाव बिंदु दिखाए गए हैं; चारकोल ग्रे पतली रेखाओं से जुड़े हुए, कुल मिलाकर तकनीकी मैगज़ीन कवर जैसा

Google ने बात बहुत साफ़ कही है: Gemini models को OpenAI के Python और TypeScript/JavaScript SDK के ज़रिए एक्सेस किया जा सकता है, मूल बात बस तीन लाइन कोड बदलने की है। आधिकारिक संगतता दस्तावेज़ में दिया गया endpoint https://generativelanguage.googleapis.com/v1beta/openai/ है, और उदाहरण मॉडल gemini-3.5-flash है (Google OpenAI संगतता)। यह मौजूदा OpenAI SDK प्रोजेक्ट्स के लिए बहुत अनुकूल है: पहले provider abstraction तोड़ने की ज़रूरत नहीं, पूरी calling stack बदलने की ज़रूरत नहीं—पहले चलाकर देख लें।

ऑफ-व्हाइट पृष्ठभूमि वाला तीन-कॉलम फ़्लोचार्ट, बाएँ कॉलम पर OpenAI SDK, बीच वाले कॉलम पर तीन कॉन्फ़िगरेशन base_url / API Key / model, दाएँ कॉलम पर Gemini API लिखा है, टेराकोटा रंग के तीर बाएँ से दाएँ, चारकोल-ग्रे पतली रेखा की बॉर्डर

पहले पुष्टि करें कि आपको कौन-सा मॉडल कॉल करना है

2026-06-14 तक, Google के मॉडल पेज में Gemini 3.5 Flash को Stable के रूप में सूचीबद्ध किया गया है, और बताया गया है कि मॉडल कोड gemini-3.5-flash है; इस मॉडल की input सीमा 1,048,576 tokens और output सीमा 65,536 tokens है, यह text, image, video, audio और PDF input को support करता है, और output text होता है (Gemini 3.5 Flash)। मॉडल पेज आख़िरी बार 2026-05-19 UTC को अपडेट हुआ था।

कीमत भी उसी दिन के दस्तावेज़ में देखनी चाहिए। Google pricing page आख़िरी बार 2026-06-09 UTC को अपडेट हुआ था, gemini-3.5-flash Standard paid tier की सूचीबद्ध कीमत input $1.50 / 1M tokens, output $9.00 / 1M tokens है, output कीमत में thinking tokens शामिल हैं; Batch के लिए input $0.75, output $4.50 है (Gemini API pricing)।

मॉडल स्थिति input सीमा Standard input Standard output
gemini-3.5-flash Stable 1,048,576 $1.50 / 1M tokens $9.00 / 1M tokens
gemini-3-flash-preview Preview मॉडल पेज देखें $0.50 / 1M tokens $3.00 / 1M tokens
gemini-3.1-flash-lite Stable मॉडल पेज देखें $0.25 / 1M tokens $1.50 / 1M tokens

gemini-3-flash-preview और gemini-3.1-flash-lite Google के मौजूदा model और pricing pages से हैं (Models, Pricing)। Preview मॉडल को सीधे production default न मानें, version और quota बदल सकते हैं।

Python: OpenAI client को Gemini की ओर point करें

पहले SDK install करें:

pip install openai
export GEMINI_API_KEY="你的 Gemini API Key"

फिर OpenAI SDK की calling style बनाए रखें:

import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["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": "用三句话解释什么是 API 兼容层。"},
    ],
)

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

वास्तविक बदलाव सिर्फ़ तीन जगह हैं: api_key को Gemini key से बदलें, base_url को Google के OpenAI-compatible endpoint से बदलें, और model को Gemini मॉडल नाम से बदलें। ध्यान दें कि आधिकारिक उदाहरण में URL के अंत में / है; इसे यूँ ही हटाकर बाद में 404 debug करने में समय बर्बाद न करें।

कॉम्पैक्ट code before/after तुलना चित्र, बाईं ओर code में api.openai.com और gpt मॉडल नाम highlight हैं, दाईं ओर generativelanguage.googleapis.com/v1beta/openai/ और gemini-3.5-flash highlight हैं, टेराकोटा रंग के annotations

TypeScript: वही baseURL

Node प्रोजेक्ट में भी यही है:

npm install openai
export GEMINI_API_KEY="你的 Gemini API Key"
import OpenAI from "openai";

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

const response = await openai.chat.completions.create({
  model: "gemini-3.5-flash",
  messages: [
    { role: "user", content: "给我一个 JSON Schema 校验的最小例子。" },
  ],
});

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

अगर आपके प्रोजेक्ट ने provider को पहले से environment variables में wrap कर रखा है, तो बदलाव और भी छोटा होगा:

OPENAI_BASE_URL="https://generativelanguage.googleapis.com/v1beta/openai/"
OPENAI_API_KEY="$GEMINI_API_KEY"
OPENAI_MODEL="gemini-3.5-flash"

कई पुराने प्रोजेक्ट्स की दिक्कत यहीं होती है: variable name अभी भी OPENAI_API_KEY है तो कोई बात नहीं, value Gemini key हो सकती है; request कहाँ जाएगी, यह वास्तव में base_url/baseURL तय करता है।

Streaming, tool calling और thinking का क्या करें

Google compatibility दस्तावेज़ में streaming, function calling, structured outputs, image understanding आदि के उदाहरण दिए गए हैं (OpenAI संगतता)। मौजूदा OpenAI SDK प्रोजेक्ट्स आम तौर पर पहले तीन चीज़ें verify करते हैं: normal chat, stream=True, tools/function calling। ये सब पास हो जाएँ, फिर model-specific capabilities संभालें।

thinking parameter को सावधानी से इस्तेमाल करें। compatibility दस्तावेज़ में लिखा है कि OpenAI का reasoning_effort Gemini के thinking configuration में map होगा; लेकिन Gemini 3 और कुछ 2.5 models में thinking को पूरी तरह बंद नहीं किया जा सकता। मेरी सलाह सरल है: पहले version में thinking को न छेड़ें, default values से quality और cost baseline बनाएं, फिर long tasks, code agents और complex reasoning pipelines में अलग से pressure test करें।

अगर आप कई तरह की Keys कम संभालना चाहते हैं

आधिकारिक direct connection गंभीर production के लिए उपयुक्त है: billing, quota और data policy सब स्पष्ट रहते हैं। समस्या यह है कि टीमें अक्सर सिर्फ़ Gemini ही नहीं, Claude, GPT भी इस्तेमाल करती हैं, और अलग-अलग tools के लिए अलग-अलग keys भी चाहिए होती हैं। आसान रास्ता onehop इस्तेमाल करना है: OpenAI SDK का base URL बदलकर https://api.onehop.ai/v1 कर दें, उसी OpenAI/Anthropic compatible entry के ज़रिए Claude/GPT/Gemini call करें; नए account को $10 मिलते हैं, card bind करने की ज़रूरत नहीं, demo और internal tools पहले चलाने के लिए उपयुक्त है।

import os
from openai import OpenAI

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

resp = client.chat.completions.create(
    model=os.environ["ONEHOP_MODEL"],
    messages=[{"role": "user", "content": "把这段日志总结成 5 条排障线索。"}],
)

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

यहाँ मैंने जानबूझकर model को environment variable में रखा है: gateway के model names console को source of truth मानते हैं, code में hard-code न करें। अगर आप multi-vendor billing और compatibility layer की झंझट कम करना चाहते हैं, तो सीधे आज़मा सकते हैं: onehop पर Claude आदि models call करें, या पहले credit लें: register करते ही $10 trial credit पाएं

Integration से पहले आख़िरी check

上线 से पहले सिर्फ़ यह न देखें कि text return हो रहा है या नहीं। कम से कम चार checks करें: पहला, पुष्टि करें कि मॉडल Google के मौजूदा model page पर अभी भी available है; दूसरा, pricing page से input, output, Batch, Search grounding fees verify करें; तीसरा, 401, 429, 5xx के error logs पूरी तरह record करें; चौथा, base_url, api_key, model को runtime configuration बनाएं, model switch करने के लिए release की ज़रूरत न पड़े।

इस integration का मुख्य point “एक model vendor बदलना” नहीं है, बल्कि SDK layer और model provider को decouple करना है। पहले Google की official OpenAI compatibility से gemini-3.5-flash चलाकर देखें, फिर तय करें direct connection, gateway, या दोनों साथ। इस तरह बदलाव छोटा रहेगा और rollback भी तेज़ होगा।