Nemati AI Python SDK
Official Python SDK for Nemati AI - Your all-in-one AI platform for content creation, image generation, trend discovery, and more.
Installation
pip install nemati-ai
Quick Start
from nemati import NematiAI
# Initialize client
client = NematiAI(api_key="your-api-key")
# Chat completion
response = client.chat.create(
messages=[
{"role": "user", "content": "What is machine learning?"}
]
)
print(response.content)
# AI Writer
content = client.writer.generate(
prompt="Write a blog post about AI trends in 2026",
content_type="blog_post"
)
print(content.text)
# Image Generation
image = client.image.generate(
prompt="A futuristic city at sunset",
size="1024x1024"
)
image.save("city.png")
Features
- 🤖 Chat Completions - Conversational AI with multiple models
- ✍️ AI Writer - Generate blogs, articles, social posts, and more
- 🎨 Image Generation - Text-to-image, image-to-image, upscaling
- 🔊 Audio - Text-to-speech and speech-to-text
- 📈 Trend Discovery - Track trends across YouTube, TikTok, Reddit, and more
- 📊 Market Intelligence - Stock and crypto data with AI analysis
- 📄 Document Processing - Upload, convert, and chat with documents
- ⚡ Async Support - Full async/await support for high-performance apps
Authentication
Get your API key from nemati.ai/dashboard/api-keys.
# Option 1: Pass directly
client = NematiAI(api_key="nai_live_xxxxxxxxxxxx")
# Option 2: Environment variable
# Set NEMATI_API_KEY in your environment
client = NematiAI()
Usage Examples
Chat Completions
# Simple chat
response = client.chat.create(
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Explain quantum computing"}
],
model="gpt-4",
max_tokens=1000
)
print(response.content)
print(f"Tokens used: {response.usage.total_tokens}")
# Streaming
for chunk in client.chat.create(
messages=[{"role": "user", "content": "Write a poem about AI"}],
stream=True
):
print(chunk.content, end="", flush=True)
AI Writer
# Generate content
content = client.writer.generate(
prompt="Write a product description for an AI assistant app",
content_type="product_description",
tone="professional",
max_tokens=500
)
# Use templates
templates = client.writer.templates.list()
content = client.writer.templates.generate(
template_id="social-media-post",
variables={
"topic": "AI trends",
"platform": "LinkedIn"
}
)
Image Generation
# Text to image
image = client.image.generate(
prompt="A serene mountain landscape at dawn",
size="1024x1024",
quality="hd"
)
image.save("landscape.png")
# Image to image
edited = client.image.edit(
image=open("photo.jpg", "rb"),
prompt="Make it look like a watercolor painting"
)
# Upscale
upscaled = client.image.upscale(
image=open("small.jpg", "rb"),
scale=4
)
Trend Discovery
# Search trends
trends = client.trends.search(
query="artificial intelligence",
platforms=["youtube", "tiktok", "reddit"],
timeframe="7d"
)
for trend in trends.items:
print(f"{trend.platform}: {trend.title}")
print(f" Engagement: {trend.engagement}")
Async Support
import asyncio
from nemati import AsyncNematiAI
async def main():
client = AsyncNematiAI(api_key="your-api-key")
response = await client.chat.create(
messages=[{"role": "user", "content": "Hello!"}]
)
print(response.content)
await client.close()
asyncio.run(main())
Error Handling
from nemati.exceptions import (
AuthenticationError,
RateLimitError,
InsufficientCreditsError,
ValidationError,
APIError
)
try:
response = client.chat.create(messages=[...])
except AuthenticationError:
print("Invalid API key")
except RateLimitError as e:
print(f"Rate limited. Retry after {e.retry_after} seconds")
except InsufficientCreditsError as e:
print(f"Need {e.required} credits, have {e.available}")
except ValidationError as e:
print(f"Invalid request: {e.errors}")
except APIError as e:
print(f"API error {e.status_code}: {e.message}")
Account & Usage
# Check credits
credits = client.account.credits()
print(f"Remaining: {credits.remaining}")
# Get usage stats
usage = client.account.usage(
start_date="2026-01-01",
end_date="2026-01-31"
)
print(f"Total requests: {usage.total_requests}")
# Get plan limits
limits = client.account.limits()
print(f"Chat messages/day: {limits.chat.max_messages_per_day}")
Documentation
Full documentation is available at docs.nemati.ai/sdk/python
Requirements
- Python 3.8+
- API key from nemati.ai
License
MIT License - see LICENSE for details.
Support
- 📧 Email: support@nemati.ai
- 💬 Discord: discord.gg/nemati
- 🐛 Issues: GitHub Issues
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
nemati-0.1.4.tar.gz
(23.5 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
nemati-0.1.4-py3-none-any.whl
(33.3 kB
view details)
File details
Details for the file nemati-0.1.4.tar.gz.
File metadata
- Download URL: nemati-0.1.4.tar.gz
- Upload date:
- Size: 23.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.13.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
65f6a97995c2001642498a8ed2899c11c79d555d642145e7ce30154721e3bec5
|
|
| MD5 |
9fc97af5892eb70be8a23d82d9ccf0f0
|
|
| BLAKE2b-256 |
ee0439c56a6ed2d6ba2a7a961cd0a3d81f2490ade7e59fec9ab3b455c8fc2485
|
File details
Details for the file nemati-0.1.4-py3-none-any.whl.
File metadata
- Download URL: nemati-0.1.4-py3-none-any.whl
- Upload date:
- Size: 33.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.13.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d656d6fd0b8e6eae73f82a21852a7595810275a773af6160d29b827c03bacc03
|
|
| MD5 |
4e2c5ab1f283795807e085271d1ab8d8
|
|
| BLAKE2b-256 |
ffcc43b8ba96b5c622589e91a34e7ce4a763c62531dac37e6320c7cdf189054d
|