Cehpoint AI API
Zero-friction chat completions. No auth. One model. Unlimited possibilities.
India-built, OpenAI-compatible, and made to grow with you. Start free with no key, scale to the Commercial API for production, and request any capability your team needs — we ship customer-requested features every month.
Endpoint
Send requests to this URL. No authentication headers needed. Just Content-Type: application/json and your messages.
Model
| Model | Description |
|---|---|
cehpoint-ai | Smart, fast, general-purpose — the default. Use it for everything. |
cehpoint-ai-multilingual | Tuned for strong multilingual work, including Indian languages (Hindi, Bengali & more). |
"model": "cehpoint-ai" for general use, or "cehpoint-ai-multilingual" for multilingual tasks. Any other value falls back to cehpoint-ai — you are never charged for a model you didn't get.Agent Tools (Function Calling)
Cehpoint AI is not just a text model — it is an agent. When your prompt needs a live fact, a calculation, a lookup or a page read, it automatically calls the right built-in tool and answers using the real result. This works on both the free and commercial endpoints — no setup, no extra parameters. Just ask naturally; the model decides when to use a tool.
| Tool | What it does |
|---|---|
web_search | Searches the live web for current facts, news, prices and definitions — anything that may have changed since training. |
read_url | Fetches and reads the main text of any public web page or PDF by URL. |
calculate | Evaluates a math expression — arithmetic, %, powers, sqrt, trigonometry, logs. |
current_datetime | Returns the current date & time in both UTC and IST. |
finance_quote | Latest stock / market / crypto quote and trend for a company or ticker. |
dns_lookup | DNS records (A/AAAA/MX/NS/TXT/CNAME) for a public domain. |
whois_lookup | Domain registration / WHOIS details for a public domain. |
http_check | Checks if a website is up and returns its HTTP status and key headers. |
cve_lookup | Authoritative details (description, CVSS, fix status) for a CVE id like CVE-2021-44228. |
lookup_ifsc India | Looks up an Indian bank branch by IFSC code. |
lookup_pincode India | Looks up Indian post offices / area for a 6-digit PIN code. |
validate_gstin India | Validates an Indian GSTIN (format + checksum) and decodes its state and embedded PAN. |
generate_qr India | Generates a QR-code image for text, a URL or a UPI string — ready to scan. |
lookup_ifsc then generate_qr automatically, and the reply includes the resolved data. Tools can be chained in a single answer.Vision — Send Images
Cehpoint AI accepts images alongside text, so it can read documents, extract data from screenshots, describe photos, or analyse diagrams. Use the standard OpenAI-compatible multimodal message format — an image_url content part (a public URL or a data: base64 URI):
curl https://ai.cehpoint.co.in/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "cehpoint-ai",
"messages": [{ "role": "user", "content": [
{ "type": "text", "text": "Extract the invoice number and total from this image." },
{ "type": "image_url", "image_url": { "url": "https://example.com/invoice.jpg" } }
]}]
}'
Commercial keys use the same format on the /capi/v1/chat/completions endpoint. Both hosted images (public URLs) and inline base64 data: URIs are supported.
Request Parameters
| Param | Type | Default | Required | Description |
|---|---|---|---|---|
model | string | — | Yes | cehpoint-ai |
messages | array | — | Yes | Array of {role, content} objects |
temperature | number | 1.0 | No | 0–2. Lower = more precise |
max_tokens | number | 4096 | No | Max response length |
stream | bool | false | No | SSE streaming |
The only two things you must send are model and messages. Everything else is optional.
Message Roles
| Role | Purpose |
|---|---|
system | Sets assistant behavior and constraints |
user | Your questions or instructions |
assistant | Previous AI replies for multi-turn context |
Use system to control personality/tone. Use assistant for follow-up conversations.
Response Format
{
// standard chat completion response
"model": "cehpoint-ai",
"provider": "ai-api.cehpoint.co.in",
"choices": [{
"message": { "content": "Hello!" },
"finish_reason": "stop"
}],
"usage": { "total_tokens": 52 }
}
Standard JSON response structure. The provider field is set to our domain. model is always cehpoint-ai.
Error Codes
| Code | Cause |
|---|---|
400 | Missing or unknown model — make sure model is cehpoint-ai |
502 | Upstream provider unavailable — try again in a few seconds |
Limits
| Limit | Value |
|---|---|
| Max tokens per response | 4096 |
| Rate limit | None enforced (please use responsibly) |
| Authentication | None required |
Text-to-Speech
Convert text to natural speech. Premium accounts get Sarvam AI's Bulbul HD neural voice; free and anonymous requests use the standard voice. Returns binary audio (audio/wav or audio/mpeg).
| Method | Endpoint | Purpose |
|---|---|---|
POST | /v1/tts | Convert text to speech — returns binary audio. |
GET | /v1/tts/voices | List voices, languages and whether HD is active for you. |
| Field | Type | Notes |
|---|---|---|
text | string | Required. The text to speak. |
lang | string | 2-letter language code (e.g. en, hi). Default en. |
gender | string | male or female. Default male. |
curl https://ai-api.cehpoint.co.in/v1/tts \ -H "Content-Type: application/json" \ -d '{"text":"Hello from Cehpoint AI","lang":"en","gender":"female"}' \ --output speech.wav
Image Generation
Generate an image from a text prompt. The call is synchronous — images typically return in under ten seconds — and the response is OpenAI-compatible, so an existing SDK can be pointed at Cehpoint without code changes. Assets are served from Cehpoint infrastructure.
| Method | Endpoint | Purpose |
|---|---|---|
POST | /capi/v1/images/generations | Create an image from a prompt. |
curl https://ai-api.cehpoint.co.in/capi/v1/images/generations \
-H "Authorization: Bearer $CEHPOINT_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "a red ceramic teacup on a wooden table, soft daylight, product photo",
"aspect_ratio": "16:9",
"size": "2K"
}'
{
"created": 1786326431,
"size": "2K",
"aspect_ratio": "16:9",
"data": [
{ "url": "https://ai-api.cehpoint.co.in/v1/media/file/a152d9049d0ce8262999.png" }
]
}
| Field | Type | Notes |
|---|---|---|
prompt | string | Required. Up to 1200 characters. |
aspect_ratio | string | One of 1:1, 4:3, 3:4, 16:9, 9:16, 3:2, 2:3, 21:9. Default 1:1. |
size | string | Detail tier: 1K, 2K, 3K or 4K. Default 2K. An OpenAI-style pixel size such as 1024x1024 is also accepted and is mapped to the nearest tier and ratio. |
An unrecognised value is replaced with the default rather than rejected, so a request never fails because of a shape you cannot use. The response always states the size and aspect_ratio actually used — read those rather than assuming your request was applied verbatim.
Notes. The returned URL is permanent for the retention window configured on your plan and may be fetched without authentication, so it can be embedded directly. Prompts are limited to 1200 characters.
Video Generation
Generate a short video from a text prompt. Video takes appreciably longer than an image, so the request returns immediately with a job id and you poll for completion. The job is durable — it survives client disconnects, so you can submit now and collect the result later.
| Method | Endpoint | Purpose |
|---|---|---|
POST | /capi/v1/videos | Submit a video generation job. |
GET | /capi/v1/videos/{id} | Poll job status and collect the finished video. |
curl https://ai-api.cehpoint.co.in/capi/v1/videos \
-H "Authorization: Bearer $CEHPOINT_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "a slow cinematic pan over calm ocean water at sunrise",
"aspect_ratio": "16:9",
"resolution": "1080p",
"duration_seconds": 10
}'
{ "id": "ddafad9dc549f51264da", "object": "video", "status": "queued", "created": 1786326487 }
| Field | Type | Notes |
|---|---|---|
prompt | string | Required. Up to 1200 characters. |
aspect_ratio | string | One of 16:9, 9:16, 1:1, 4:3, 3:4. Default 16:9. Note that 21:9, 3:2 and 2:3 are image-only. |
resolution | string | 480p, 720p or 1080p. Default 720p. |
duration_seconds | number | 5 or 10 seconds (the two supported lengths; any other value is snapped to the nearest). Default 5. Frames are produced at 24 fps, so the delivered length is rounded to the nearest whole frame — the job reports the true duration. |
Frame sizes are standard for each combination — for example 1080p at 16:9 is 1920×1080, and at 9:16 is 1080×1920. The completed job reports resolution, aspect_ratio, duration_seconds and the exact pixel size delivered. Longer or higher-resolution videos take proportionally longer to render.
Poll until status is completed:
curl https://ai-api.cehpoint.co.in/capi/v1/videos/ddafad9dc549f51264da \
-H "Authorization: Bearer $CEHPOINT_API_KEY"
{
"id": "ddafad9dc549f51264da",
"object": "video",
"status": "completed",
"url": "https://ai-api.cehpoint.co.in/v1/media/file/ddafad9dc549f51264da.mp4",
"error": null
}
| Status | Meaning |
|---|---|
queued | Accepted and waiting for a worker. |
running | Being generated. |
completed | Finished — url is populated. |
failed | Could not be produced; see error. Failed jobs are not billed. |
Polling guidance. Poll no more often than every five seconds. Most clips complete in one to two minutes; treat anything beyond twenty minutes as failed and resubmit.
Supported Shapes and Sizes
Rather than hard-coding the lists above, you can read them at run time. This endpoint is the same source our own interface uses, so it is always current.
| Method | Endpoint | Purpose |
|---|---|---|
GET | /capi/v1/media/options | List every supported aspect ratio, size tier, resolution and duration range. |
curl https://ai-api.cehpoint.co.in/capi/v1/media/options \
-H "Authorization: Bearer $CEHPOINT_API_KEY"
{
"ok": true,
"options": {
"image": {
"aspect_ratios": ["1:1","4:3","3:4","16:9","9:16","3:2","2:3","21:9"],
"sizes": ["1K","2K","3K","4K"],
"defaults": { "size": "2K", "aspect_ratio": "1:1" }
},
"video": {
"aspect_ratios": ["16:9","9:16","1:1","4:3","3:4"],
"resolutions": ["480p","720p","1080p"],
"duration_options": [5, 10],
"duration_seconds": { "options": [5, 10], "default": 5, "fps": 24 },
"defaults": { "resolution": "720p", "aspect_ratio": "16:9", "duration_seconds": 5 }
}
}
}
Cehpoint Reader
Cehpoint Reader turns any web page or document URL into clean, readable text for LLM and RAG pipelines — it fetches the page, strips scripts, navigation and ads, and returns the main content, title and links as JSON. It runs on its own base URL and does not require a Cehpoint AI key.
| Method | Endpoint | Notes |
|---|---|---|
BASE | https://r.cehpoint.co.in | Standalone service base URL. |
POST | / | Body { "url": "https://…" }. Anonymous is free (rate-limited per IP). |
For a higher daily allowance, create a Reader key (it begins with cehr_) from your dashboard and send it as Authorization: Bearer cehr_your_key.
curl https://r.cehpoint.co.in/ \ -H "Content-Type: application/json" \ -d '{"url": "https://example.com"}'
Cehpoint Code
Cehpoint Code is an AI engineer that turns a plain-language request into a finished, downloadable deliverable — a website or tool, a business document or model, a data analysis, or a report. Each build runs privately in an isolated sandbox and returns the produced files. Use it in the browser at /code, or via the API below with your Cehpoint AI key (cehp_) or a Commercial key (cehk_ — dedicated quota).
| Method | Endpoint | Notes |
|---|---|---|
POST | /v1/code/run | Body { "prompt": "...", "type": "web|doc|data|report|auto", "files": [{"name","content_b64"}] }. Returns { id, status }. |
GET | /v1/code/:id | Poll a build → { status, deliverables:[{name,size}], summary }. status: queued / running / done / timeout / failed. |
GET | /v1/code/:id/file?name=... | Download a produced deliverable. |
GET | /v1/code/quota | Remaining builds today for your key's plan. |
The 5-minute policy. Every build has a strict five-minute limit so the queue stays fast. If a build needs longer it returns status: "timeout" — re-submit to run it again as a fresh build (which counts as your next build). Free keys get a daily allowance; Commercial keys get a dedicated, much higher quota.
curl https://ai.cehpoint.co.in/v1/code/run \ -H "Authorization: Bearer cehp_your_key" \ -H "Content-Type: application/json" \ -d '{"prompt": "Build a landing page for a bakery", "type": "web"}'
Team & Invites
A commercial licence owner can bring their team onto the same account. Invites are managed from the dashboard and via these session-authenticated endpoints.
| Method | Endpoint | Who | Purpose |
|---|---|---|---|
GET | /v1/me/team | owner / member | List roster and pending invites. |
POST | /v1/me/team/invite | owner | Create a shareable invite link (raw token returned once). |
GET | /v1/invite/:token | public | Describe an invite (org + role) before sign-in. |
POST | /v1/invite/:token/accept | invitee | Join the org as a member after signing in. |
Roles. Owner — full control of keys, grounding and team. Member — can use the API and manage the knowledge base, but not keys, grounding or team. Raw invite tokens are never stored (only a hash) and never logged.
Commercial API
The public endpoint above is free and key-less for builders and prototypes. When you ship to production — with commercial-use rights, higher throughput, dedicated support, GST invoicing and your own licence key — move to the Commercial API. It's the same OpenAI-compatible interface and the same cehpoint-ai model, just an authenticated, metered base URL. See plans & get a key →
Authentication
Unlike the free endpoint, every commercial request is authenticated with your licence key as a Bearer token:
Keys begin with cehk_ and are issued from your dashboard once a licence is active. Treat a key like a password — keep it server-side. Requests without a valid key return 401 Unauthorized.
Endpoint & migration
Same request and response shape as the free API — migrating is two lines: point base_url at /capi/v1 and add your key. Any OpenAI SDK or existing OpenAI integration works unchanged.
# Drop-in: same OpenAI SDK, two lines changed from openai import OpenAI client = OpenAI( base_url="https://ai-api.cehpoint.co.in/capi/v1", api_key="cehk_your_licence_key", ) resp = client.chat.completions.create( model="cehpoint-ai", messages=[{"role": "user", "content": "Hello"}], ) # set stream=True for SSE, exactly like the free endpoint
| Endpoint | Method | Purpose |
|---|---|---|
/capi/v1/chat/completions | POST | Chat completions — streaming & non-streaming |
/capi/v1/models | GET | List models available to your licence |
messages, temperature, max_tokens, stream and the system/user/assistant roles all behave exactly as documented above for the free API.Plans & limits
Pricing is usage-sized — tell us your expected volume and our AI sizes a plan and quotes you in minutes. Every commercial plan includes commercial-use rights, dedicated support and a GST invoice for India.
| Plan | Best for | Requests / month | Rights & extras |
|---|---|---|---|
| Free (public) | Prototypes, side-projects, learning | Fair-use · no key | Non-commercial |
| Monthly commercial | Growing products in production | Custom — sized to you | Commercial-use · support · GST |
| Lifetime licence | One-time purchase / on-prem | Custom | Perpetual commercial-use |
| Enterprise | Scale, SLAs, custom features | Custom + SLA | Everything + roadmap input |
Use Cases
Every example below was tested live against the API. Pick a category, copy the code, and run it.
curl https://ai-api.cehpoint.co.in/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "cehpoint-ai",
"messages": [{"role": "user", "content": "Explain quantum computing in 3 sentences."}]
}'import requests
resp = requests.post(
"https://ai-api.cehpoint.co.in/v1/chat/completions",
json={
"model": "cehpoint-ai",
"messages": [{"role": "user", "content": "Explain quantum computing in 3 sentences."}]
},
)
print(resp.json()["choices"][0]["message"]["content"])const resp = await fetch("https://ai-api.cehpoint.co.in/v1/chat/completions", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
model: "cehpoint-ai",
messages: [{ role: "user", content: "Explain quantum computing in 3 sentences." }],
}),
});
const data = await resp.json();
console.log(data.choices[0].message.content);from openai import OpenAI
client = OpenAI(
base_url="https://ai-api.cehpoint.co.in/v1",
api_key="x",
)
resp = client.chat.completions.create(
model="cehpoint-ai",
messages=[{"role": "user", "content": "Explain quantum computing in 3 sentences."}],
)
print(resp.choices[0].message.content)curl https://ai-api.cehpoint.co.in/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "cehpoint-ai",
"messages": [{"role": "user", "content": "Write a Python class for a banking account with deposit, withdraw, and balance check. Include error handling."}]
}'import requests
resp = requests.post(
"https://ai-api.cehpoint.co.in/v1/chat/completions",
json={
"model": "cehpoint-ai",
"messages": [{"role": "user", "content": "Write a Python class for a banking account with deposit, withdraw, and balance check. Include error handling."}]
},
)
print(resp.json()["choices"][0]["message"]["content"])const resp = await fetch("https://ai-api.cehpoint.co.in/v1/chat/completions", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
model: "cehpoint-ai",
messages: [{ role: "user", content: "Write a Python class for a banking account with deposit, withdraw, and balance check. Include error handling." }],
}),
});
const data = await resp.json();
console.log(data.choices[0].message.content);from openai import OpenAI
client = OpenAI(
base_url="https://ai-api.cehpoint.co.in/v1",
api_key="x",
)
resp = client.chat.completions.create(
model="cehpoint-ai",
messages=[{"role": "user", "content": "Write a Python class for a banking account with deposit, withdraw, and balance check. Include error handling."}],
)
print(resp.choices[0].message.content)curl https://ai-api.cehpoint.co.in/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "cehpoint-ai",
"messages": [
{"role": "system", "content": "You are a friendly support agent."},
{"role": "user", "content": "My order has not arrived yet."}
]
}'import requests
resp = requests.post(
"https://ai-api.cehpoint.co.in/v1/chat/completions",
json={
"model": "cehpoint-ai",
"messages": [
{"role": "system", "content": "You are a friendly support agent."},
{"role": "user", "content": "My order has not arrived yet."}
]
},
)
print(resp.json()["choices"][0]["message"]["content"])const resp = await fetch("https://ai-api.cehpoint.co.in/v1/chat/completions", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
model: "cehpoint-ai",
messages: [
{ role: "system", content: "You are a friendly support agent." },
{ role: "user", content: "My order has not arrived yet." }
],
}),
});
const data = await resp.json();
console.log(data.choices[0].message.content);from openai import OpenAI
client = OpenAI(
base_url="https://ai-api.cehpoint.co.in/v1",
api_key="x",
)
resp = client.chat.completions.create(
model="cehpoint-ai",
messages=[
{"role": "system", "content": "You are a friendly support agent."},
{"role": "user", "content": "My order has not arrived yet."}
],
)
print(resp.choices[0].message.content)curl https://ai-api.cehpoint.co.in/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "cehpoint-ai",
"messages": [{"role": "user", "content": "Write a professional email apologizing for a delayed delivery and offering a 10% discount."}]
}'import requests
resp = requests.post(
"https://ai-api.cehpoint.co.in/v1/chat/completions",
json={
"model": "cehpoint-ai",
"messages": [{"role": "user", "content": "Write a professional email apologizing for a delayed delivery and offering a 10% discount."}]
},
)
print(resp.json()["choices"][0]["message"]["content"])const resp = await fetch("https://ai-api.cehpoint.co.in/v1/chat/completions", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
model: "cehpoint-ai",
messages: [{ role: "user", content: "Write a professional email apologizing for a delayed delivery and offering a 10% discount." }],
}),
});
const data = await resp.json();
console.log(data.choices[0].message.content);from openai import OpenAI
client = OpenAI(
base_url="https://ai-api.cehpoint.co.in/v1",
api_key="x",
)
resp = client.chat.completions.create(
model="cehpoint-ai",
messages=[{"role": "user", "content": "Write a professional email apologizing for a delayed delivery and offering a 10% discount."}],
)
print(resp.choices[0].message.content)curl https://ai-api.cehpoint.co.in/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "cehpoint-ai",
"messages": [{"role": "user", "content": "Write a 50-word product description for a premium leather wallet."}]
}'import requests
resp = requests.post(
"https://ai-api.cehpoint.co.in/v1/chat/completions",
json={
"model": "cehpoint-ai",
"messages": [{"role": "user", "content": "Write a 50-word product description for a premium leather wallet."}]
},
)
print(resp.json()["choices"][0]["message"]["content"])const resp = await fetch("https://ai-api.cehpoint.co.in/v1/chat/completions", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
model: "cehpoint-ai",
messages: [{ role: "user", content: "Write a 50-word product description for a premium leather wallet." }],
}),
});
const data = await resp.json();
console.log(data.choices[0].message.content);from openai import OpenAI
client = OpenAI(
base_url="https://ai-api.cehpoint.co.in/v1",
api_key="x",
)
resp = client.chat.completions.create(
model="cehpoint-ai",
messages=[{"role": "user", "content": "Write a 50-word product description for a premium leather wallet."}],
)
print(resp.choices[0].message.content)curl https://ai-api.cehpoint.co.in/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "cehpoint-ai",
"messages": [{"role": "user", "content": "Extract names, dates, amounts as JSON: John paid $150 on March 5th, Sarah paid $75 on March 12th."}]
}'import requests
resp = requests.post(
"https://ai-api.cehpoint.co.in/v1/chat/completions",
json={
"model": "cehpoint-ai",
"messages": [{"role": "user", "content": "Extract names, dates, amounts as JSON: John paid $150 on March 5th, Sarah paid $75 on March 12th."}]
},
)
print(resp.json()["choices"][0]["message"]["content"])const resp = await fetch("https://ai-api.cehpoint.co.in/v1/chat/completions", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
model: "cehpoint-ai",
messages: [{ role: "user", content: "Extract names, dates, amounts as JSON: John paid $150 on March 5th, Sarah paid $75 on March 12th." }],
}),
});
const data = await resp.json();
console.log(data.choices[0].message.content);from openai import OpenAI
client = OpenAI(
base_url="https://ai-api.cehpoint.co.in/v1",
api_key="x",
)
resp = client.chat.completions.create(
model="cehpoint-ai",
messages=[{"role": "user", "content": "Extract names, dates, amounts as JSON: John paid $150 on March 5th, Sarah paid $75 on March 12th."}],
)
print(resp.choices[0].message.content)curl https://ai-api.cehpoint.co.in/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "cehpoint-ai",
"messages": [{"role": "user", "content": "List 3 AI applications in healthcare diagnostics."}]
}'import requests
resp = requests.post(
"https://ai-api.cehpoint.co.in/v1/chat/completions",
json={
"model": "cehpoint-ai",
"messages": [{"role": "user", "content": "List 3 AI applications in healthcare diagnostics."}]
},
)
print(resp.json()["choices"][0]["message"]["content"])const resp = await fetch("https://ai-api.cehpoint.co.in/v1/chat/completions", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
model: "cehpoint-ai",
messages: [{ role: "user", content: "List 3 AI applications in healthcare diagnostics." }],
}),
});
const data = await resp.json();
console.log(data.choices[0].message.content);from openai import OpenAI
client = OpenAI(
base_url="https://ai-api.cehpoint.co.in/v1",
api_key="x",
)
resp = client.chat.completions.create(
model="cehpoint-ai",
messages=[{"role": "user", "content": "List 3 AI applications in healthcare diagnostics."}],
)
print(resp.choices[0].message.content)50 Complete Examples
cURL
curl https://ai-api.cehpoint.co.in/v1/chat/completions \ -H "Content-Type: application/json" \ -d '{ "model": "cehpoint-ai", "messages": [{"role": "user", "content": "Hello!"}] }'
Python
import requests resp = requests.post( "https://ai-api.cehpoint.co.in/v1/chat/completions", json={"model": "cehpoint-ai", "messages": [{"role": "user", "content": "Hello!"}]}, ) print(resp.json()["choices"][0]["message"]["content"])
JavaScript (Fetch)
const resp = await fetch("https://ai-api.cehpoint.co.in/v1/chat/completions", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ model: "cehpoint-ai", messages: [{ role: "user", content: "Hello!" }], }), }); const data = await resp.json(); console.log(data.choices[0].message.content);
OpenAI Python SDK
from openai import OpenAI client = OpenAI( base_url="https://ai-api.cehpoint.co.in/v1", api_key="x", ) resp = client.chat.completions.create( model="cehpoint-ai", messages=[{"role": "user", "content": "Hello!"}], ) print(resp.choices[0].message.content)
base_url to our endpoint and anything as api_key. No token needed.