डॉक्यूमेंटेशन
Smart AIPI OpenAI और Anthropic-compatible APIs दोनों प्रदान करता है। बस base URL बदलकर हमारे service को किसी भी मौजूदा OpenAI या Anthropic SDK, tool, या app के साथ उपयोग करें। Zero code changes required.
OpenAI Base URL
https://api.smartaipi.com/v1
Anthropic Base URL
https://api.smartaipi.com
CLI और MCP Tools
Smart AIPI developers को अपने accounts के साथ काम करने में मदद करने के लिए दो npm packages प्रदान करता है:
दोनों इंस्टॉल करें
npm install -g smart-aipi @smart-aipi/mcp
अलग-अलग इंस्टॉल करें
npm install -g smart-aipi
npm install -g @smart-aipi/mcp
ऑथेंटिकेशन
सभी API requests के लिए एक API key आवश्यक है। वही key दोनों authentication methods के साथ काम करती है:
Authorization: Bearer YOUR_API_KEY
x-api-key: YOUR_API_KEY
माइग्रेशन गाइड
Migration में एक मिनट से भी कम समय लगता है। हमारी API OpenAI और Anthropic endpoints दोनों के साथ 100% compatible है।
OpenAI से
अपनी Smart AIPI API key प्राप्त करें
साइन अप करें और अपने dashboard से एक API key बनाएं।
base URL बदलें
बदलें https://api.openai.com/v1 से https://api.smartaipi.com/v1
अपनी API key अपडेट करें
अपनी OpenAI key की जगह अपनी Smart AIPI key का उपयोग करें। बस इतना ही!
Anthropic से
अपनी Smart AIPI API key प्राप्त करें
साइन अप करें और अपने dashboard से एक API key बनाएं।
base URL बदलें
बदलें https://api.anthropic.com से https://api.smartaipi.com
अपनी API key अपडेट करें
अपनी Anthropic key की जगह अपनी Smart AIPI key का उपयोग करें। आपके मौजूदा Claude model names वैसे ही काम करेंगे।
Anthropic Messages API का उपयोग करने वाला आपका मौजूदा code, SDKs, और apps बिना किसी code changes के काम करेगा। Claude model names (claude-opus-4-6, claude-sonnet-4-5-20250929, claude-haiku-4-5-20251001) अपने आप high-performance GPT-5.4 models पर route किए जाते हैं। हर response में एक x-actual-model header जो पूरी transparency के लिए वास्तविक backend model दिखाता है।
Chat Completions
दिए गए messages और model के लिए chat completion बनाएं। भाषा models के साथ इंटरैक्ट करने के लिए यह मुख्य endpoint है।
Request Body पैरामीटर्स
| पैरामीटर | प्रकार | आवश्यक | विवरण |
|---|---|---|---|
| model | string | हाँ | उपयोग करने के लिए Model ID (जैसे, "gpt-6-astra", "gpt-5.6-sol") |
| messages | array | हाँ | role और content वाले message objects की array |
| temperature | number | नहीं | Sampling temperature (0-2)। अधिक = अधिक random। Default: 1 |
| max_tokens | integer | नहीं | response में generate करने के लिए अधिकतम tokens |
| top_p | number | नहीं | Nucleus sampling। top_p probability वाले tokens पर विचार करें। Default: 1 |
| frequency_penalty | number | नहीं | frequency के आधार पर tokens पर penalty लगाएं (-2 से 2)। Default: 0 |
| presence_penalty | number | नहीं | presence के आधार पर tokens पर penalty लगाएं (-2 से 2)। Default: 0 |
| stop | string/array | नहीं | Stop sequences। अधिकतम 4 sequences जहाँ generation रुकता है। |
| stream | boolean | नहीं | SSE के ज़रिए streaming responses सक्षम करें। Default: false |
मैसेज भूमिकाएँ
system- system - assistant का behavior/persona सेट करता हैuser- user - उपयोगकर्ता के messagesassistant- assistant - assistant के पिछले responses
कोड उदाहरण
from openai import OpenAI
client = OpenAI(
base_url="https://api.smartaipi.com/v1",
api_key="your-api-key"
)
response = client.chat.completions.create(
model="gpt-6-astra",
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Hello!"}
],
temperature=0.7,
max_tokens=1000
)
print(response.choices[0].message.content)
स्ट्रीमिंग
generate होते समय tokens को Server-Sent Events (SSE) के ज़रिए प्राप्त करने के लिए streaming सक्षम करें। यह लंबी responses के लिए बेहतर user experience देता है।
सेट करें "stream": true streaming सक्षम करने के लिए अपनी request में।
स्ट्रीमिंग उदाहरण
from openai import OpenAI
client = OpenAI(
base_url="https://api.smartaipi.com/v1",
api_key="your-api-key"
)
# Enable streaming
stream = client.chat.completions.create(
model="gpt-6-astra",
messages=[{"role": "user", "content": "Write a poem"}],
stream=True
)
# Process chunks as they arrive
for chunk in stream:
if chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="")
तर्क प्रयास
के साथ reasoning की गहराई नियंत्रित करें reasoning_effort parameter का उपयोग GPT-5 models के लिए करें।
Smart AIPI डिफ़ॉल्ट रूप से reasoning.effort = "high" सभी Responses API requests के लिए उपयोग करता है।
व्यापक परीक्षण के बाद, हमने पाया कि high व्यावहारिक उपयोग के लिए सबसे अच्छा reasoning effort है - यह xhigh. की latency cost के बिना गहरा, भरोसेमंद tool-use और analysis देता है। आप अपनी request में reasoning effort explicitly सेट करके इसे override कर सकते हैं।
Smart AIPI डिफ़ॉल्ट रूप से store = false सभी Responses API और WebSocket requests के लिए उपयोग करता है।
upstream API में store: false GPT-5.4 और नए models के लिए आवश्यक है। यदि आप explicitly store: true अपनी requests में, तो आपको "Store must be set to false" त्रुटि मिलेगी। इसे हटा दें या इसे false.
समर्थित मॉडल्स
Responses API
gpt-5.4, gpt-5.3, gpt-5.1, gpt-5, और सभी Codex variants
सिर्फ Chat Completions
gpt-5.4-nano — reasoning support केवल /v1/chat/completions पर उपलब्ध है।
तर्क प्रयास स्तर
none- कोई reasoning नहीं। thinking पूरी तरह skip करता है।low- न्यूनतम reasoning। सरल tasks के लिए बढ़िया।medium- संतुलित speed और depth।high- जटिल समस्याओं के लिए गहरा analysis। (Smart AIPI डिफ़ॉल्ट)xhigh- अतिरिक्त उच्च। सबसे कठिन समस्याओं के लिए अधिकतम reasoning depth।
फास्ट मोड (प्राथमिकता प्रोसेसिंग)
उपयोग करें service_tier: "priority" priority processing के लिए, कम latency के साथ। यही वह है जिसे Codex CLI में /fast command इस्तेमाल करता है। यह reasoning depth नहीं बदलता - आपको वही quality मिलती है, बस तेज़।
प्राइसिंग: Priority processing का बिल standard rate के 1.5x पर लिया जाता है। उदाहरण के लिए, GPT-5.4 output की सामान्य लागत $3.75/1M tokens है - priority के साथ यह $5.625/1M tokens हो जाती है।
response = client.responses.create(
model="gpt-6-astra",
input="Refactor this function",
service_tier="priority" # priority processing, lower latency
)
Chat Completions API
response = client.chat.completions.create(
model="gpt-6-astra",
messages=[{"role": "user", "content": "Analyze this code for bugs..."}],
reasoning_effort="high" # or "xhigh" for maximum depth
)
Responses API
# Reasoning is set via the "reasoning" object
response = client.responses.create(
model="gpt-6-astra",
input=[{"role": "user", "content": "Refactor this function..."}],
reasoning={"effort": "high"} # defaults to "high" on Smart AIPI
)
इमेज जनरेशन
हमारे image generation endpoint का उपयोग करके text prompts से images generate करें।
/v1/images/variations ) अभी supported नहीं हैं। Image edits उपलब्ध हैं /v1/images/edits।
Request Body पैरामीटर्स
| पैरामीटर | प्रकार | विवरण |
|---|---|---|
| prompt | string | generate करने वाली image का text विवरण (आवश्यक) |
| model | string | "gpt-image-2.5-flare" (frontier), "gpt-image-2.5-sunburst", या "gpt-image-2"। Default: "gpt-image-2.5-flare" |
| n | integer | generate करने के लिए images की संख्या (1-10)। Default: 1 |
| size | string | "1024x1024", "1024x1792", या "1792x1024"। Default: "1024x1024" |
| quality | string | "standard" या "hd"। Default: "standard" |
उपलब्ध Models
gpt-image-2.5-flare- Frontier model, सर्वोच्च गुणवत्ता (default)gpt-image-2.5-sunburst- सटीक संपादन और प्रीमियम रचनात्मक कार्य (धीमा जनरेशन)gpt-image-latest- gpt-image-2.5-flare के लिए aliasgpt-image-2- पिछली पीढ़ी का फ्लैगशिपgpt-image-1.5- पुराना फ्लैगशिप (पारदर्शी बैकग्राउंड का समर्थन करता है)gpt-image-1- पूर्ण गुणवत्ता image generationgpt-image-1-mini- तेज़, छोटी images
उदाहरण
response = client.images.generate(
model="gpt-image-2.5-flare",
prompt="A futuristic city at sunset, cyberpunk style",
size="1024x1024",
n=1
)
# Response contains base64-encoded image
image_b64 = response.data[0].b64_json
# Save to file
import base64
with open("output.png", "wb") as f:
f.write(base64.b64decode(image_b64))
इमेज संपादन
text prompt का उपयोग करके मौजूदा images edit करें। यह JSON (base64 string) और multipart/form-data (file upload) दोनों स्वीकार करता है, इसलिए OpenAI SDKs तुरंत काम करते हैं।
Request Body पैरामीटर्स
| पैरामीटर | प्रकार | विवरण |
|---|---|---|
| prompt | string | चाहे गए edit का text विवरण (आवश्यक) |
| image | string | edit करने के लिए base64-encoded image (आवश्यक) |
| model | string | "gpt-image-2.5-flare" (default), "gpt-image-2.5-sunburst", या "gpt-image-2" |
| n | integer | generate करने के लिए edited images की संख्या (1-10)। Default: 1 |
| size | string | "1024x1024", "1024x1792", या "1792x1024"। Default: "1024x1024" |
| quality | string | "low", "medium", "high" या "auto"। डिफ़ॉल्ट: "medium" |
image as an array of base64 strings (JSON) or as repeated image / image[] parts (multipart). Add a mask field alongside image to restrict edits to specific regions (white = edit, black = preserve). Works identically to the official OpenAI SDK.
उदाहरण
import base64
response = client.images.edit(
model="gpt-image-2.5-flare",
image=open("input.png", "rb"),
prompt="Change the background to a sunset beach",
size="1024x1024",
n=1
)
# Save the edited image
edited_b64 = response.data[0].b64_json
with open("edited.png", "wb") as f:
f.write(base64.b64decode(edited_b64))
WebSocket के साथ Realtime API
WebSockets realtime data transfer के लिए व्यापक रूप से supported API हैं, और server-to-server applications में Smart AIPI Realtime API से connect करने के लिए एक शानदार विकल्प हैं।
server-to-server integration में, आपका backend system सीधे Realtime API से WebSocket के ज़रिए connect करता है। connection authenticate करने के लिए एक standard API कुंजी का उपयोग करें, क्योंकि token केवल आपके secure backend server पर उपलब्ध होता है।
WebSocket के ज़रिए connect करें
नीचे WebSocket के ज़रिए connect करने के कई examples हैं। WebSocket URL के अलावा, आपको अपनी API key का उपयोग करके authentication header भी पास करना होगा।
import WebSocket from "ws";
const url = "wss://api.smartaipi.com/v1/responses";
const ws = new WebSocket(url, {
headers: {
Authorization: "Bearer " + process.env.SMARTAIPI_API_KEY,
},
});
ws.on("open", function open() {
console.log("Connected to server.");
// Send a response.create event
ws.send(JSON.stringify({
type: "response.create",
response: {
model: "gpt-6-astra",
store: false,
input: [{ role: "user", content: "Hello!" }],
stream: true,
},
}));
});
ws.on("message", function incoming(message) {
const event = JSON.parse(message.toString());
console.log(event.type, event);
});
Events भेजना और प्राप्त करना
Sessions, WebSocket connection पर client-sent और server-sent JSON events के ज़रिए manage किए जाते हैं। अपनी request को एक response.create envelope में wrap करें:
| इवेंट | दिशा | विवरण |
|---|---|---|
| response.create | क्लाइंट | एक request भेजें (आपके model, input, और parameters को wrap करता है) |
| response.created | सर्वर | Session स्वीकार हुआ, processing शुरू हुई |
| response.output_text.delta | सर्वर | स्ट्रीमिंग टेक्स्ट हिस्सा |
| response.completed | सर्वर | पूर्ण response और usage के साथ terminal event |
| response.failed | सर्वर | त्रुटि दर्शाने वाला terminal event |
"store": false response envelope में। connection कई turns तक बना रहता है - अतिरिक्त response.create frames बिना reconnect किए भेजें।
Models की सूची
सभी उपलब्ध models की सूची प्राप्त करें। अपने account के लिए उपलब्ध models को dynamically discover करने के लिए इस endpoint का उपयोग करें।
Response फ़ॉर्मेट
{
"object": "list",
"data": [
{
"id": "gpt-6-astra",
"object": "model",
"created": 1700000000,
"owned_by": "smart-aipi"
},
{
"id": "gpt-5.3-codex",
"object": "model",
"created": 1700000000,
"owned_by": "smart-aipi"
},
// ... more models
]
}
उदाहरण
from openai import OpenAI
client = OpenAI(
base_url="https://api.smartaipi.com/v1",
api_key="your-api-key"
)
# List all available models
models = client.models.list()
for model in models.data:
print(model.id)
उपलब्ध Models
GPT श्रृंखला
- gpt-6-astra नवीनतम
- gpt-5.6-sol
- gpt-5.6-terra
- gpt-5.6-luna
- gpt-5.5
- gpt-5.4-pro
- gpt-5.4
- gpt-5.4-mini
- gpt-5.4-nano सिर्फ completions
Codex श्रृंखला
- gpt-5.3-codex
- gpt-5.2-codex
- gpt-5.2
- gpt-5.1
Anthropic Messages API
पूरी Anthropic Messages API compatibility। किसी भी Anthropic SDK, Claude Code, या ऐसे app का उपयोग करें जो Anthropic protocol बोलता हो - बस base URL बदलें।
समर्थित फ़ीचर्स
- ✓ Streaming (पूरा Anthropic SSE event protocol)
- ✓ टूल उपयोग / फ़ंक्शन कॉलिंग
- ✓ System messages (string और array formats)
- ✓ Image inputs (base64 और URL)
- ✓ टोकन काउंटिंग (
/v1/messages/count_tokens) - ✓ विस्तृत सोच / तर्क प्रयास
कोड उदाहरण
from anthropic import Anthropic
client = Anthropic(
base_url="https://api.smartaipi.com",
api_key="your-api-key"
)
response = client.messages.create(
model="claude-sonnet-4-5-20250929",
max_tokens=1024,
messages=[
{"role": "user", "content": "Hello!"}
]
)
print(response.content[0].text)
मॉडल मैपिंग
Claude model names स्वीकार किए जाते हैं और अपने आप tiered reasoning effort के साथ GPT-5.4 पर route हो जाते हैं। हर response में एक x-actual-model header होता है जो वास्तविक backend model दिखाता है।
| Claude मॉडल | बैकएंड | Reasoning | किसके लिए सर्वोत्तम |
|---|---|---|---|
| claude-opus-4-6 | gpt-5.4 | उच्च | जटिल reasoning, architecture |
| claude-sonnet-4-5-20250929 | gpt-5.4 | मध्यम | रोज़मर्रा की coding, संतुलित गुणवत्ता |
| claude-haiku-4-5-20251001 | gpt-5.4 | निम्न | तेज़ responses, सरल कार्य |
Claude Code
Smart AIPI को backend के रूप में Claude Code के साथ उपयोग करें। पूरा tool use, streaming, और agentic capabilities supported हैं।
स्वचालित सेटअप
npx smart-aipi claude
यह ~/.claude/settings.json और ~/.claude.json को अपने आप कॉन्फ़िगर करता है। यदि आपके पास पहले से Anthropic account के साथ Claude Code सेट है, तो overwrite करने के बजाय यह आपको manual config दिखाएगा।
मैन्युअल सेटअप
में जोड़ें ~/.claude/settings.json:
{
"env": {
"ANTHROPIC_BASE_URL": "https://api.smartaipi.com",
"ANTHROPIC_API_KEY": "sk-your-key",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "claude-haiku-4-5-20251001"
},
"model": "opus"
}
फिर जोड़ें "hasCompletedOnboarding": true में ~/.claude.json setup wizard को skip करने के लिए।
settings edit करने के बाद, changes प्रभावी होने के लिए Claude Code को restart करें। यदि Claude Code पहले से किसी वास्तविक Anthropic account से जुड़ा है, तो ये env vars सेट करने से वह connection override हो जाएगा - दोनों को बनाए रखने के लिए project-level .claude/settings.json का उपयोग करें।
हर Setting क्या करती है
"model": "opus"— Main model। सभी प्राथमिक कार्यों के लिए claude-opus-4-6 (high reasoning) का उपयोग करता है।ANTHROPIC_DEFAULT_HAIKU_MODEL— Background model। तेज़ background tasks जैसे file indexing के लिए claude-haiku-4-5 (low reasoning) का उपयोग करता है।- session के बीच models बदलें
/model sonnet,/model opus, या/model haiku.
| उपनाम | Claude मॉडल | बैकएंड | Reasoning |
|---|---|---|---|
| opus | claude-opus-4-6 | gpt-5.4 | उच्च |
| sonnet | claude-sonnet-4-5-20250929 | gpt-5.4 | मध्यम |
| haiku | claude-haiku-4-5-20251001 | gpt-5.4 | निम्न |
OpenCode
OpenAI-compatible SDK के ज़रिए Smart AIPI को अपने OpenCode backend के रूप में उपयोग करें।
कॉन्फ़िग सेटअप
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"smart-aipi": {
"npm": "@ai-sdk/openai-compatible",
"name": "Smart AIPI",
"options": {
"baseURL": "https://api.smartaipi.com/v1",
"apiKey": "YOUR_API_KEY"
},
"models": {
"gpt-6-astra": {
"name": "GPT-6 Astra",
"reasoning": true,
"limit": { "context": 400000, "output": 128000 }
},
"gpt-5.3-codex": {
"name": "GPT-5.3 Codex",
"reasoning": true,
"limit": { "context": 400000, "output": 128000 }
},
"gpt-5.2-codex": {
"name": "GPT-5.2 Codex",
"reasoning": true,
"limit": { "context": 400000, "output": 128000 }
},
"gpt-5-codex": {
"name": "GPT-5 Codex",
"reasoning": true,
"limit": { "context": 400000, "output": 128000 }
}
}
}
},
"model": "smart-aipi/gpt-6-astra"
}
Codex CLI
Smart AIPI को OpenAI के Codex CLI tool के साथ उपयोग करें। तीन files कॉन्फ़िगर करनी होंगी।
स्वचालित सेटअप
npx smart-aipi codex
यह नीचे दी गई तीनों files को अपने आप कॉन्फ़िगर करता है। चलाने के बाद, अपनी config में model_reasoning_effort जोड़ें (step 2 देखें)।
मैन्युअल सेटअप
इन तीन files को कॉन्फ़िगर करें:
1. API कुंजी — ~/.codex/auth.json
{
"auth_mode": "apikey",
"OPENAI_API_KEY": "sk-your-key"
}
2. Model और Reasoning — ~/.codex/config.toml
हमेशा model_reasoning_effort शामिल करें - custom models के लिए आवश्यक।
इसके बिना, Codex डिफ़ॉल्ट रूप से no reasoning पर चला जाता है और सही तरीके से काम नहीं करेगा। सर्वोत्तम परिणामों के लिए "high" का उपयोग करें।
model = "gpt-6-astra"
model_reasoning_effort = "high"
मान्य reasoning levels: low, medium, high (सुझावित), xhigh.
3. पर्यावरण वेरिएबल्स — ~/.zshrc
# Smart AIPI
export OPENAI_API_KEY="sk-your-key"
export OPENAI_BASE_URL="https://api.smartaipi.com/v1"
अपना shell profile edit करने के बाद, अपना terminal restart करें या source ~/.zshrc चलाएं ताकि changes प्रभावी हों।
फिर Codex को सामान्य रूप से उपयोग करें:
codex "fix this bug"
Codex WebSocket स्पीड गाइड
बहुत सारे tool calls वाले agentic coding flows के लिए WebSocket mode आमतौर पर तेज़ होता है। HTTP पर बार-बार reconnect करने और पूरे request envelopes फिर से भेजने के बजाय, Codex एक live connection बनाए रखता है और incremental turns भेजता है, जिससे continuation overhead कम होता है।
Codex में WebSockets सक्षम करें
~/.codex/config.toml में WebSocket v2 feature flag का उपयोग करें: ~/.codex/config.toml:
model = "gpt-6-astra"
model_reasoning_effort = "high"
[features]
responses_websockets_v2 = true
CLI समकक्ष:
codex --enable responses_websockets_v2
पुराने builds legacy flag का उपयोग कर सकते हैं:
[features]
responses_websockets = true
ज्ञात Homebrew व्यवहार
कुछ Homebrew-distributed builds में, लंबे समय तक चलने वाले tasks के दौरान WebSocket turns रुक सकते हैं और फिर चुपचाप HTTP पर fallback हो जाते हैं। हमने इसे खासकर complex tool-call loops में देखा। नीचे दिए गए fixes के साथ open-source code से rebuild करने पर stability और speed दोनों बेहतर हुईं।
Post-Merge: Open-Source WebSocket Bug ठीक करें
अपनी branch merge करने के बाद, यह सुनिश्चित करने के लिए इस checklist का उपयोग करें कि fix आपकी local binary में है:
# 1) Pull merged main
git checkout main
git pull --ff-only
# 2) Confirm websocket flags exist
codex features list | rg responses_websockets
# 3) Build and install
cd codex-rs
cargo build --release
install -m 0755 target/release/codex ~/.local/bin/codex-beta
# 4) Run with websocket enabled
CODEX_RS_RESPONSES_WS=true \
OPENAI_BASE_URL=https://api.smartaipi.com/v1 \
~/.local/bin/codex-beta --enable responses_websockets_v2
यदि आपको manual patch करना है, तो verify करें कि ये code-level fixes मौजूद हैं:
# A) Build websocket request with IntoClientRequest so required headers are set
let mut request = url.as_str().into_client_request()?;
request.headers_mut().extend(headers);
# B) Ensure TLS roots are enabled for tokio-tungstenite in Cargo.toml
tokio-tungstenite = { version = "...", features = ["rustls-tls-native-roots"] }
Cursor और Cline
Smart AIPI को Cursor IDE या Cline VS Code extension के साथ उपयोग करें।
Cursor
- Cursor Settings खोलें
- यहाँ जाएँ
Modelsटैब - क्लिक करें
+ Add Model - Base URL सेट करें:
https://api.smartaipi.com/v1 - अपनी API key दर्ज करें
- Model:
gpt-6-astra
Cline (VS Code)
- VS Code में Cline settings खोलें
- चुनें
OpenAI Compatible - Base URL:
https://api.smartaipi.com/v1 - अपनी API key दर्ज करें
- Model:
gpt-6-astra
चैट
Smart AIPI Chat का उपयोग करें chat.smartaipi.com. text, image, video, code, search, और voice workflows के लिए।
फ़ीचर्स
- ✓ चैट — Smart AIPI models के साथ सामान्य उद्देश्य वाले text conversations।
- ✓ इमेजेज — prompts से images generate और edit करें।
- ✓ वीडियो — text या image inputs से videos generate करें।
- ✓ कोड — browser में code सहायता और editing।
- ✓ सर्च — grounded answers के लिए web search का उपयोग करें।
- ✓ वॉइस — voice input और responses के साथ model से बात करें।
शुरुआत करें
- 1. खोलें chat.smartaipi.com
- 2. साइन इन करें या एक खाता बनाएं।
- 3. text, images, video, code, search, या voice के साथ chat शुरू करें।
बिलिंग: उपयोग का बिल आपके Smart AIPI credits से लिया जाता है।
API परीक्षक
अपने browser से सीधे API टेस्ट करें: