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.3.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.3-py3-none-any.whl (33.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: nemati-0.1.3.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.3.tar.gz
Algorithm Hash digest
SHA256 368457880436cf366e004879dda6f2061797cba00ec00cb9e6268435e1c2b464
MD5 38c55998d5d561d5641e8965674f506f
BLAKE2b-256 c0a745b963194bd0a615bc3536e20440a22f2c4c5969611d2ce60e95e592e729

See more details on using hashes here.

File details

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

File metadata

  • Download URL: nemati-0.1.3-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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 11c4b53bada3c8e839ddf04a249a39808d676e44e9d65ba17ff4c83d06ab9550
MD5 f4b61fc7c5477b0ae3d59008ad32f8be
BLAKE2b-256 07ad3db47ac733df61d971a4bc1c2a0c5ff1ff7dbeec8714a614e4aad9dde4d8

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