Skip to main content

Official Python SDK for Nemati AI - AI Content Creation, Image Generation, Trend Discovery & More

Project description

Nemati AI Python SDK

PyPI version Python Versions License: MIT

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

License

MIT License - see LICENSE for details.

Support

Project details


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.2.tar.gz (23.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

nemati-0.1.2-py3-none-any.whl (33.3 kB view details)

Uploaded Python 3

File details

Details for the file nemati-0.1.2.tar.gz.

File metadata

  • Download URL: nemati-0.1.2.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

Hashes for nemati-0.1.2.tar.gz
Algorithm Hash digest
SHA256 f0a8ad0895396d8c14d07d487a047a21f017813d0b47d46a528e0619a94eb84f
MD5 d6220fe36f7defd367a764476a2189eb
BLAKE2b-256 bec4753b121f40583d091a1f5812ed2a6209387f3d56e49fe095d5d076884ee5

See more details on using hashes here.

File details

Details for the file nemati-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: nemati-0.1.2-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

Hashes for nemati-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 0aabcfe65c9fedc4917603e78311c7e2d134b62e7efbdf997d0b56d5d7cf30fa
MD5 a4f01c2f6e5af7f2c827f1d62b31d1ec
BLAKE2b-256 35817c97863088494d64bd71bff277cfe7ce0a23e39d06cb37970d46e4a64e5e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page