প্রধান বিষয়বস্তু থেকে এগিয়ে

উন্নয়ন কেন্দ্র

মিনিটের মধ্যে আপনার প্রথম মডেল অনুরোধ পাঠান

ব্যবহার করুন SDK আপনি জানেন, শুধুমাত্র পরিবর্তন করে API Endpoint এবং Key. Available APIs and models follow the console configuration.

1চুল তৈরি করুন2Endpoint সিস্টেম3অনুরোধ পাঠান
quickstart.py
client = OpenAI(  base_url="/v1",  api_key="YOUR_KEY")

উন্নয়ন কেন্দ্র

প্রত্যেক গুরুত্বপূর্ণ পদক্ষেপকে অন্তর্ভুক্ততা থেকে নির্ভরযোগ্য অপারেশনগুলি পর্যন্ত আলাদা করে

Nov Apis 복잡 মডেল ইনজেকশন, রুটিং, গভর্নামেন্ট এবং ব্যবহার ব্যবস্থাপনাকে একটি পরিষ্কার কাজ প্রদর্শনে প্রদর্শন করুন।

01

একটি তৈরি করুন API চিঠি

একটি চিঠি তৈরি করার জন্য সাইন আপ করুন এবং প্রয়োজনীয়ভাবে তার গ্রুপ, কোট, প্রতিযোগিতা, এবং অবসান নির্ধারণ করুন।

আরও গবেষণা
02

সেট করুন Base URL

পরিবর্তন করুন SDK সেবা শেষে এই API বর্তমানে আপনার আবেদন সংগঠন রাখুন।

03

ব্যবহার পরীক্ষা

ব্যবহারের ইতিহাসে অবস্থা, টকেন, ফার্ম এবং অ্যাপ্লিকেশন ভুলগুলি অনুসন্ধান করুন।

আরও গবেষণা

দ্রুত শুরু

মিনিটের মধ্যে আপনার প্রথম অনুরোধ পাঠান।

একটি চিঠি তৈরি করুন, সেট করুন Base URLএরপরই ব্যবহার করি। SDK আপনি যা জানেন তা আপনার মেসেজ ফর্মটাম।

  1. একটি তৈরি করুন API কনসোলের চিঠি
  2. এই পরিষেবাটি কপি করুন API শেষ পয়েন্ট
  3. একটি মডেল নির্বাচন করুন এবং একটি অনুরোধ পাঠান
request.sh
curl https://www.novapis.com/v1/chat/completions \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-4o",
    "messages": [{"role": "user", "content": "Hello"}]
  }'

SDK সমর্থন

আপনার প্ল্যাটফর্মে সংযোগ

এগুলো সামঞ্জস্যপূর্ণ SDK ও HTTP সংযোগের উদাহরণ, এই সাইটের প্রকাশিত ইঞ্জিন প্লাগইন নয়।

API কী শুধু সার্ভারে রাখুন। ক্লায়েন্টকে প্রমাণীকৃত অ্যাপ্লিকেশন ব্যাকএন্ডের মাধ্যমে অনুরোধ করতে হবে।

/api/ai/chat আপনার নিজস্ব অ্যাপ্লিকেশনের রুট। নিচের Node.js উদাহরণে সেশন প্রমাণীকরণ, রেট লিমিট ও CORS নীতি যুক্ত করুন।

OPENAI_BASE_URL-এ গেটওয়ে ঠিকানার সঙ্গে /v1 যোগ করুন এবং OPENAI_MODEL-এ কনসোলে উপলভ্য মডেল দিন।

গেম ডেভেলপমেন্ট SDK

Unreal Engine 5C++ · HTTP / Jsonসংযোগের উদাহরণ
// YourProject.Build.cs
PrivateDependencyModuleNames.AddRange(new string[] { "HTTP", "Json" });
AIRequest.cpp
#include "CoreMinimal.h"
#include "HttpModule.h"
#include "Interfaces/IHttpRequest.h"
#include "Interfaces/IHttpResponse.h"
#include "Dom/JsonObject.h"
#include "Serialization/JsonSerializer.h"
#include "Serialization/JsonWriter.h"

// Call your own authenticated backend, not the model gateway.
// SessionToken is a short-lived user session, NOT an API key.
void SendAIRequest(const FString& BackendOrigin,
    const FString& SessionToken, const FString& Prompt)
{
    auto Body = MakeShared<FJsonObject>();
    Body->SetStringField(TEXT("prompt"), Prompt);
    FString Payload;
    auto Writer = TJsonWriterFactory<>::Create(&Payload);
    FJsonSerializer::Serialize(Body, Writer);

    auto Request = FHttpModule::Get().CreateRequest();
    Request->SetURL(BackendOrigin + TEXT("/api/ai/chat"));
    Request->SetVerb(TEXT("POST"));
    Request->SetHeader(TEXT("Content-Type"), TEXT("application/json"));
    Request->SetHeader(TEXT("Authorization"), TEXT("Bearer ") + SessionToken);
    Request->SetContentAsString(Payload);
    Request->SetTimeout(30.0f);
    Request->OnProcessRequestComplete().BindLambda(
        [](FHttpRequestPtr, FHttpResponsePtr Response, bool bSuccess) {
            if (!bSuccess || !Response.IsValid() ||
                Response->GetResponseCode() != 200) {
                UE_LOG(LogTemp, Warning, TEXT("AI request failed"));
                return;
            }
            // Response JSON: {"text":"..."}. Parse before updating UI.
            UE_LOG(LogTemp, Log, TEXT("%s"), *Response->GetContentAsString());
        });
    if (!Request->ProcessRequest()) {
        UE_LOG(LogTemp, Warning, TEXT("AI request could not start"));
    }
}
UnityC# · UnityWebRequestসংযোগের উদাহরণ
// Unity 2022.3+ / Unity 6
// StartCoroutine(Chat(backendOrigin, userSessionToken, "Hello"));
AIClient.cs
using System;
using System.Collections;
using System.Text;
using UnityEngine;
using UnityEngine.Networking;

public class AIClient : MonoBehaviour
{
    [Serializable] class ChatRequest { public string prompt; }
    [Serializable] class ChatResponse { public string text; }

    // Use a user session token, never embed the gateway API key.
    public IEnumerator Chat(string backendOrigin, string sessionToken, string prompt)
    {
        var json = JsonUtility.ToJson(new ChatRequest { prompt = prompt });
        using var request = new UnityWebRequest(
            backendOrigin.TrimEnd('/') + "/api/ai/chat", "POST");
        request.uploadHandler = new UploadHandlerRaw(Encoding.UTF8.GetBytes(json));
        request.downloadHandler = new DownloadHandlerBuffer();
        request.SetRequestHeader("Content-Type", "application/json");
        request.SetRequestHeader("Authorization", "Bearer " + sessionToken);
        request.timeout = 30;
        yield return request.SendWebRequest();
        if (request.result != UnityWebRequest.Result.Success) {
            Debug.LogWarning($"AI request failed: {request.responseCode}");
            yield break;
        }
        var reply = JsonUtility.FromJson<ChatResponse>(request.downloadHandler.text);
        Debug.Log(reply.text);
    }
}
Cocos CreatorTypeScript · XMLHttpRequestসংযোগের উদাহরণ
// Cocos Creator 3.8
// await chat(backendOrigin, userSessionToken, "Hello");
AIClient.ts
// Call the authenticated business backend with a user session.
export function chat(origin: string, session: string, prompt: string): Promise<string> {
  return new Promise((resolve, reject) => {
    const xhr = new XMLHttpRequest();
    xhr.open('POST', origin.replace(/\/+$/, '') + '/api/ai/chat');
    xhr.setRequestHeader('Content-Type', 'application/json');
    xhr.setRequestHeader('Authorization', 'Bearer ' + session);
    xhr.timeout = 30000;
    xhr.onerror = () => reject(new Error('Network error'));
    xhr.ontimeout = () => reject(new Error('Request timed out'));
    xhr.onabort = () => reject(new Error('Request cancelled'));
    xhr.onload = () => {
      if (xhr.status !== 200) {
        reject(new Error('HTTP ' + xhr.status));
        return;
      }
      try {
        const data = JSON.parse(xhr.responseText);
        if (typeof data.text !== 'string') throw new Error('Invalid response');
        resolve(data.text);
      } catch (error) { reject(error); }
    };
    xhr.send(JSON.stringify({ prompt }));
  });
}

সফটওয়্যার ডেভেলপমেন্ট SDK

PythonPython 3.10+ · OpenAI SDKসংযোগের উদাহরণ
pip install openai
# Server environment: OPENAI_API_KEY, OPENAI_BASE_URL, OPENAI_MODEL
# OPENAI_BASE_URL = your gateway origin + /v1
example.py
import os
from openai import OpenAI, APIError

# Run on a trusted server. Do not distribute credentials with an app.
with OpenAI(
    api_key=os.environ['OPENAI_API_KEY'],
    base_url=os.environ['OPENAI_BASE_URL'],
    timeout=30.0,
) as client:
    try:
        result = client.chat.completions.create(
            model=os.environ['OPENAI_MODEL'],
            messages=[{'role': 'user', 'content': 'Hello'}],
        )
        print(result.choices[0].message.content)
    except APIError as error:
        print(f'Request failed: {type(error).__name__}')
.NET / C#.NET 8+ · HttpClientসংযোগের উদাহরণ
dotnet new console -n GatewayDemo
# Server environment: OPENAI_API_KEY, OPENAI_BASE_URL, OPENAI_MODEL
Program.cs
using System.Net.Http.Headers;
using System.Net.Http.Json;

static string Required(string key) =>
    Environment.GetEnvironmentVariable(key)
    ?? throw new InvalidOperationException($"Missing {key}");

// Trusted server example; use your business backend for desktop apps.
using var client = new HttpClient { Timeout = TimeSpan.FromSeconds(30) };
client.DefaultRequestHeaders.Authorization =
    new AuthenticationHeaderValue("Bearer", Required("OPENAI_API_KEY"));
var endpoint = Required("OPENAI_BASE_URL").TrimEnd('/') + "/chat/completions";
using var response = await client.PostAsJsonAsync(endpoint, new {
    model = Required("OPENAI_MODEL"),
    messages = new[] { new { role = "user", content = "Hello" } }
});
response.EnsureSuccessStatusCode();
Console.WriteLine(await response.Content.ReadAsStringAsync());
GoGo · net/httpসংযোগের উদাহরণ
go mod init gateway-demo
# Server environment: OPENAI_API_KEY, OPENAI_BASE_URL, OPENAI_MODEL
main.go
package main

import (
    "bytes"
    "encoding/json"
    "fmt"
    "io"
    "log"
    "net/http"
    "os"
    "strings"
    "time"
)

func main() {
    key, base, model := os.Getenv("OPENAI_API_KEY"), os.Getenv("OPENAI_BASE_URL"), os.Getenv("OPENAI_MODEL")
    if key == "" || base == "" || model == "" { log.Fatal("Missing server environment") }
    body, err := json.Marshal(map[string]any{
        "model": model,
        "messages": []map[string]string{{"role": "user", "content": "Hello"}},
    })
    if err != nil { log.Fatal(err) }
    req, err := http.NewRequest(http.MethodPost, strings.TrimRight(base, "/")+"/chat/completions", bytes.NewReader(body))
    if err != nil { log.Fatal(err) }
    req.Header.Set("Authorization", "Bearer "+key)
    req.Header.Set("Content-Type", "application/json")
    client := &http.Client{Timeout: 30 * time.Second}
    resp, err := client.Do(req)
    if err != nil { log.Fatal(err) }
    defer resp.Body.Close()
    if resp.StatusCode != http.StatusOK { log.Fatalf("HTTP %d", resp.StatusCode) }
    data, err := io.ReadAll(io.LimitReader(resp.Body, 4<<20))
    if err != nil { log.Fatal(err) }
    fmt.Println(string(data))
}

ওয়েব ডেভেলপমেন্ট SDK

Node.js / ExpressNode.js 22+ · OpenAI SDKসংযোগের উদাহরণ
npm install openai express
# Server environment: OPENAI_API_KEY, OPENAI_BASE_URL, OPENAI_MODEL
# Integrate with an existing app and its requireUserSession middleware.
ai-route.mjs
import express from 'express';
import OpenAI from 'openai';
// Project integration: implement session validation before using this route.
// Reject unauthenticated requests; enforce per-user quotas and rate limits.
// For browser cookies, also enforce CSRF/origin checks.
import { requireUserSession } from './middleware/session.mjs';

for (const key of ['OPENAI_API_KEY', 'OPENAI_BASE_URL', 'OPENAI_MODEL']) {
  if (!process.env[key]) throw new Error(`Missing ${key}`);
}
const client = new OpenAI({
  apiKey: process.env.OPENAI_API_KEY,
  baseURL: process.env.OPENAI_BASE_URL,
  timeout: 25000,
  maxRetries: 0,
});
export const aiRouter = express.Router();
// Mount with app.use(aiRouter). This is YOUR route, not a gateway endpoint.
aiRouter.post('/api/ai/chat', requireUserSession, express.json({ limit: '16kb' }), async (req, res) => {
  const prompt = req.body?.prompt;
  if (typeof prompt !== 'string' || !prompt.trim() || prompt.length > 4000) {
    return res.status(400).json({ error: 'Invalid prompt' });
  }
  try {
    const result = await client.chat.completions.create({
      model: process.env.OPENAI_MODEL,
      messages: [{ role: 'user', content: prompt }],
      max_tokens: 512,
    });
    res.set('Cache-Control', 'no-store');
    return res.json({ text: result.choices[0]?.message?.content ?? '' });
  } catch {
    return res.status(502).json({ error: 'AI service unavailable' });
  }
});
React / Vue / JavaScriptBrowser · Fetch APIসংযোগের উদাহরণ
// Use in your React event handler or Vue action.
// Requires the /api/ai/chat business route shown above.
// Same-origin authenticated session cookie + server-side CSRF validation.
chat.ts
// Never expose OPENAI_API_KEY via VITE_* or NEXT_PUBLIC_* variables.
export async function chat(prompt: string, csrfToken: string): Promise<string> {
  const controller = new AbortController();
  const timeout = setTimeout(() => controller.abort(), 30000);
  try {
    const response = await fetch('/api/ai/chat', {
      method: 'POST',
      credentials: 'same-origin',
      headers: {
        'Content-Type': 'application/json',
        'X-CSRF-Token': csrfToken,
      },
      body: JSON.stringify({ prompt }),
      signal: controller.signal,
    });
    if (!response.ok) throw new Error(`HTTP ${response.status}`);
    const data = await response.json();
    if (typeof data.text !== 'string') throw new Error('Invalid response');
    return data.text;
  } finally {
    clearTimeout(timeout);
  }
}

এআই এর ভবিষ্যৎ তৈরি করার জন্য প্রস্তুত?

ডেভেলরদের ব্যবহার Nov Apis প্রথম পণ্য তৈরি করতে, আপনার প্রথম API অনুরোধ