Chat, voice, vision, video, code, agent, documents, database, text AI, moderation, embeddings, web intelligence, and memory β all through a single RESTful API. Integrate AI into any project in minutes, not months.
From conversational AI to document generation, Jamii AI provides a comprehensive suite of endpoints you can integrate with any tech stack.
Conversational AI powered by GPT-4o-mini with persistent history, custom system prompts, and streaming support.
POST /chat
GET /chat/history
POST /chat/reset
PUT /chat/system-prompt
Full audio pipeline β speech-to-text with Whisper, text-to-speech, and end-to-end audio-in/audio-out conversations.
POST /voice/audio-to-audio
POST /voice/speech-to-text
POST /voice/text-to-speech
POST /voice/text-to-audio
Extract audio from videos for transcription or conversation, and describe video frames with GPT-4 Vision.
POST /video/video-to-audio
POST /video/video-to-text
POST /video/text-to-video-reply
POST /video/video-to-description
Generate, review, explain, and refactor code using AI β with task-specific system prompts for focused results.
POST /code/generate
POST /code/review
POST /code/explain
POST /code/refactor
Autonomous task execution with built-in tools β the agent plans, calls tools, observes results, and iterates until complete.
POST /agent/task
GET /agent/history
POST /agent/reset
Describe images, answer visual questions with GPT-4 Vision, and generate images from text prompts with DALL-E 3.
POST /image/image-to-text
POST /image/image-to-answer
POST /image/text-to-image
Transform text into professional Word documents, PowerPoint presentations, and PDF files β ready for download.
POST /document/text-to-word
POST /document/text-to-powerpoint
POST /document/text-to-pdf
Ask questions in plain English β Jamii AI translates them to SQL, executes securely, and returns human-readable answers.
POST /db/chat
GET /db/schema
POST /db/query
POST /db/select_for_customer
GET /db/companies
POST /db/select_for_company
Four-role JWT authentication with row-level access control. Admins, companies, employees, and customers each get tailored access.
POST /auth/customer/login
POST /auth/admin/login
POST /auth/employee/login
POST /auth/company/login
Translate text, generate summaries, analyse sentiment, and extract structured data β all powered by GPT.
POST /text/translate
POST /text/summarize
POST /text/sentiment
POST /text/extract
Detect harmful, hateful, or violent content instantly with OpenAI's moderation model and detailed category scores.
POST /moderation/check
Fetch any public URL, extract its text content, and summarize it or answer questions about it with AI.
POST /web/summarize
Store, semantically recall, and manage persistent memories with embedding-based search for context-aware AI.
POST /memory/store
POST /memory/recall
POST /memory/clear
African language translation & detection, voice STT/TTS, context chat, content moderation, and supported-language listing.
POST /africa/translate
POST /africa/detect-language
POST /africa/chat
POST /africa/moderate
Agriculture advisory, education & exam prep, legal & business regulatory guidance, African currency formatting & conversion, and mobile money transaction parsing.
POST /africa/agriculture/ask
POST /africa/education/ask
POST /africa/legal/ask
POST /africa/mobile-money/parse
African proverbs & wisdom by theme or culture, and storytelling β folktales, legends, and folklore from across the continent.
POST /africa/proverbs/get
POST /africa/storytelling/tell
Namespace-scoped document ingestion (text & URL) with RAG-powered Q&A β build custom knowledge stores for any web application.
POST /kb/ingest
POST /kb/ingest-url
POST /kb/query
GET /kb/list
POST /kb/clear
Every capability is accessible through clean, well-documented REST endpoints with JWT authentication and auto-generated Swagger docs.
Send messages and receive intelligent responses with full conversation context.
import requests
BASE = "https://api.jamiiai.com"
headers = {"Authorization": f"Bearer {token}"}
# Send a message
resp = requests.post(
f"{BASE}/chat",
json={"message": "Explain quantum computing"},
headers=headers,
)
print(resp.json()["response"])
# "Quantum computing uses qubits..."
Full audio pipeline β transcribe speech, synthesize audio, or have complete audio conversations.
# Transcribe audio to text
with open("question.wav", "rb") as f:
resp = requests.post(
f"{BASE}/voice/speech-to-text",
files={"file": f},
headers=headers,
)
print(resp.json()["text"])
# Text to speech
resp = requests.post(
f"{BASE}/voice/text-to-speech",
json={"text": "Hello world!"},
headers=headers,
)
with open("output.mp3", "wb") as f:
f.write(resp.content)
Extract audio from videos for transcription, conversation, and describe video frames with vision AI.
# Transcribe video audio to text
with open("clip.mp4", "rb") as f:
resp = requests.post(
f"{BASE}/video/video-to-text",
files={"file": f},
headers=headers,
)
print(resp.json()["text"])
# Describe a video frame
with open("clip.mp4", "rb") as f:
resp = requests.post(
f"{BASE}/video/video-to-description",
files={"file": f},
headers=headers,
)
print(resp.json()["description"])
Generate, review, explain, and refactor code with task-specific AI prompts.
# Generate code from a description
resp = requests.post(
f"{BASE}/code/generate",
json={"description": "A function to merge two sorted lists",
"language": "python"},
headers=headers,
)
print(resp.json()["result"])
# Review existing code
resp = requests.post(
f"{BASE}/code/review",
json={"code": "def sort(arr): return sorted(arr)"},
headers=headers,
)
print(resp.json()["result"])
Autonomous task execution β the agent uses tool calling to plan, act, and iterate until the task is complete.
# Submit a task for the agent
resp = requests.post(
f"{BASE}/agent/task",
json={"task": "What is sqrt(144) + 3?"},
headers=headers,
)
print(resp.json()["result"])
print(resp.json()["tools_available"])
Analyse images with GPT-4 Vision or generate new ones with DALL-E 3.
# Generate an image with DALL-E 3
resp = requests.post(
f"{BASE}/image/text-to-image",
json={
"prompt": "A futuristic city at sunset",
"size": "1024x1024",
"quality": "hd",
},
headers=headers,
)
print(resp.json()["url"])
# Describe an uploaded image
with open("photo.jpg", "rb") as f:
resp = requests.post(
f"{BASE}/image/image-to-text",
files={"file": f},
headers=headers,
)
print(resp.json()["description"])
Generate Word, PowerPoint, and PDF files from text β ready for download.
# Generate a PDF report
resp = requests.post(
f"{BASE}/document/text-to-pdf",
json={
"text": "Q3 revenue grew 25%...",
"title": "Quarterly Report",
},
headers=headers,
)
with open("report.pdf", "wb") as f:
f.write(resp.content)
# Generate a PowerPoint deck
resp = requests.post(
f"{BASE}/document/text-to-powerpoint",
json={"text": "Slide content...", "title": "Pitch"},
headers=headers,
)
Natural-language queries with row-level access control. Ask your database anything.
# Ask your database in plain English
resp = requests.post(
f"{BASE}/db/chat",
json={
"question": "How many orders were placed last month?"
},
headers=headers,
)
print(resp.json()["answer"])
# "There were 1,247 orders placed in February 2026."
# Get database schema
schema = requests.get(
f"{BASE}/db/schema",
headers=headers,
).json()
Translate, summarize, analyse sentiment, and extract structured data from any text.
# Translate text
resp = requests.post(
f"{BASE}/text/translate",
json={"text": "Hello world",
"target_language": "French"},
headers=headers,
)
print(resp.json()["translated"])
# Analyse sentiment
resp = requests.post(
f"{BASE}/text/sentiment",
json={"text": "I love this product!"},
headers=headers,
)
print(resp.json()["sentiment"])
Detect harmful content with category-level flags and confidence scores.
# Check content for policy violations
resp = requests.post(
f"{BASE}/moderation/check",
json={"text": "User-generated content here"},
headers=headers,
)
result = resp.json()
print(result["flagged"])
print(result["categories"])
Generate vector embeddings and compute semantic similarity between texts.
# Generate an embedding vector
resp = requests.post(
f"{BASE}/embeddings/generate",
json={"text": "Machine learning is great"},
headers=headers,
)
print(f"Dimensions: {resp.json()['dimensions']}")
# Compare two texts
resp = requests.post(
f"{BASE}/embeddings/similarity",
json={"text1": "cat", "text2": "kitten"},
headers=headers,
)
print(resp.json()["score"])
Fetch a public URL and get an AI-powered summary or answer questions about the content.
# Summarize a web page
resp = requests.post(
f"{BASE}/web/summarize",
json={"url": "https://example.com/article"},
headers=headers,
)
print(resp.json()["summary"])
# Ask a question about the page
resp = requests.post(
f"{BASE}/web/summarize",
json={"url": "https://example.com",
"question": "What is the main topic?"},
headers=headers,
)
print(resp.json()["summary"])
Store and semantically recall memories for context-aware conversations.
# Store a memory
requests.post(
f"{BASE}/memory/store",
json={"content": "User prefers dark mode"},
headers=headers,
)
# Recall relevant memories
resp = requests.post(
f"{BASE}/memory/recall",
json={"query": "UI preferences", "top_k": 3},
headers=headers,
)
for m in resp.json()["memories"]:
print(m["content"], m["score"])
Namespace-scoped document ingestion with RAG-powered Q&A for any web application.
# Ingest text into a knowledge base
requests.post(
f"{BASE}/kb/ingest",
json={"namespace": "my-app", "text": "Returns are accepted within 30 days."},
headers=headers,
)
# Query the knowledge base
resp = requests.post(
f"{BASE}/kb/query",
json={"namespace": "my-app", "question": "What is the return policy?"},
headers=headers,
)
print(resp.json()["answer"])
African language translation & detection, voice STT/TTS, context-aware chat, content moderation, and supported-language listing.
# Translate to an African language
resp = requests.post(
f"{BASE}/africa/translate",
json={"text": "Hello, how are you?", "target_language": "Swahili"},
headers=headers,
)
print(resp.json()["translated"])
Agriculture advisory, education & exam prep, legal & business regulatory guidance, African currency formatting & conversion, and mobile money transaction parsing.
# Parse a mobile money transaction
resp = requests.post(
f"{BASE}/africa/mobile-money/parse",
json={"message": "Confirmed. Ksh500 sent to +254712345678"},
headers=headers,
)
print(resp.json()["provider"], resp.json()["amount"])
African proverbs & wisdom by theme or culture, and storytelling β folktales, legends, and folklore from across the continent.
# Get an African proverb
resp = requests.post(
f"{BASE}/africa/proverbs/get",
json={"theme": "wisdom", "culture": "Yoruba"},
headers=headers,
)
print(resp.json()["proverb"])
Jamii AI is a standard REST API. If your platform can make HTTP requests, it can use Jamii AI.
Call one of the four login endpoints to receive a JWT token. Tokens expire after a configurable duration.
Use your token in the Authorization: Bearer header. Send JSON payloads, receive structured responses.
That's it. No SDKs to install, no vendor lock-in. Works with Python, JavaScript, Go, Java, C#, cURL β anything.
import requests
BASE = "https://api.jamiiai.com"
# 1. Login
token = requests.post(f"{BASE}/auth/admin/login", json={
"username": "admin",
"secret_answer": "Red",
}).json()["access_token"]
headers = {"Authorization": f"Bearer {token}"}
# 2. Chat
reply = requests.post(
f"{BASE}/chat",
json={"message": "Hello, Jamii!"},
headers=headers,
).json()["response"]
print(reply)
const BASE = "https://api.jamiiai.com";
// 1. Login
const { access_token } = await fetch(`${BASE}/auth/admin/login`, {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
username: "admin",
secret_answer: "Red",
}),
}).then(r => r.json());
// 2. Chat
const { response } = await fetch(`${BASE}/chat`, {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": `Bearer ${access_token}`,
},
body: JSON.stringify({ message: "Hello, Jamii!" }),
}).then(r => r.json());
console.log(response);
# 1. Login
TOKEN=$(curl -s -X POST https://api.jamiiai.com/auth/admin/login \
-H "Content-Type: application/json" \
-d '{"username": "admin", "secret_answer": "Red"}' \
| jq -r '.access_token')
# 2. Chat
curl -X POST https://api.jamiiai.com/chat \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $TOKEN" \
-d '{"message": "Hello, Jamii!"}'
# 3. Generate a PDF
curl -X POST https://api.jamiiai.com/document/text-to-pdf \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $TOKEN" \
-d '{"text": "Report content", "title": "Q3"}' \
-o report.pdf
Start free. Scale as you grow. No hidden fees.
Perfect for prototyping and personal projects.
For teams building production applications.
Dedicated infrastructure for your organisation.