Skip to main content

A Python SDK for interacting with the AlleAI platform

Project description

AlleAI Python SDK

PyPI version Python Version License

A Python SDK for interacting with the AlleAI platform, providing seamless access to state-of-the-art AI models for image generation, audio processing, and video creation.

Features

  • Chat Completions API – Generate conversational responses using multiple AI models such as GPT-4o, O4-Mini, and Claude 3 Sonnet.
  • Image Generation & Editing API – Create and manipulate high-quality images using various AI models like Grok-2 and DALL·E 3.
  • Audio API – Multi-model support for:
    • Text-to-Speech (TTS): Convert text into natural-sounding audio.
    • Speech-to-Text (STT): Transcribe spoken audio into text.
    • Audio Generation: Create unique audio content using generative AI.
  • Video Generation API – Generate AI-powered videos with customizable parameters, backed by multiple AI models.

Installation

Install the package using pip:

pip install alle-ai-sdk

Quick Start

Environment Setup

Create a .env file in your project root:

ALLEAI_API_KEY=your_api_key_here

Initialize Client

from alleai.core import AlleAIClient
from dotenv import load_dotenv
import os

# Load environment variables
load_dotenv()

# Get API key
api_key = os.getenv("ALLEAI_API_KEY")

# Initialize client
client = AlleAIClient(api_key=api_key)

Usage Examples

Chat Completions

# Chat completion example
chat = client.chat.completions({
    "models": ["gpt-4o", "o4-mini", "claude-3-sonnet"],
    "messages": [
        {
            "system": [
                {
                    "type": "text",
                    "text": "You are a helpful assistant."
                }
            ]
        },
        {
            "user": [
                {
                    "type": "text",
                    "text": "tell me about photosynthesis?"
                }
            ]
        }
    ],
    "temperature": 0.7,      # Controls randomness (0.0 to 1.0)
    "max_tokens": 2000,      # Maximum response length
    "top_p": 1,              # Controls diversity
    "frequency_penalty": 0.2, # Penalizes repeated tokens
    "presence_penalty": 0.3,  # Penalizes new tokens
    "stream": False          # Enable streaming responses
})
print(chat)

Image Generation

# Generate an image
image_response = client.image.generate({
    "models": ["grok-2-image", "dall-e-3"],
    "prompt": "futuristic city, flying cars, robotic pedestrians.",
    "model_specific_params": {
        "grok-2-image": {
            "n": 1,
            "height": 1024,
            "width": 1024
        }
    },
    "n": 1,
    "height": 1024,
    "width": 1024,
    "seed": 8  # For reproducible results
})
print(image_response)

Image Editing

# Edit an existing image
response = client.image.edit({
    "models": ["nova-canvas"],
    "image_file": "path/to/image.jpg",
    "prompt": "Replace the sky with a sunset"
})
print(response)

Text-to-Speech

# Convert text to speech
tts_response = client.audio.tts({
    "models": ["elevenlabs-multilingual-v2", "gpt-4o-mini-tts"],
    "prompt": "Hello! You're listening to a test of a text-to-speech model...",
    "voice": "nova",
    "model_specific_params": {
        "gpt-4o-mini-tts": {
            "voice": "alternative-voice"
        }
    }
})
print(tts_response)

Speech-to-Text

# Transcribe audio
stt_response = client.audio.stt({
    "models": ["whisper-v3"],
    "audio_file": "path/to/your/audio.mp3"
})
print(stt_response)

Audio Generation

# Generate Audio
response = client.audio.generate({
    "models": ["lyria"],
    "prompt": "Create a relaxing ambient track"
})
print(response)

Video Generation

# Generate a video
video = client.video.generate({
    "models": ["nova-reel"],
    "prompt": "robotic arm assembling a car in a futuristic factory",
    "duration": 6,           # Video length in seconds
    "loop": False,           # Enable looping
    "aspect_ratio": "16:9",  # Video aspect ratio
    "fps": 24,              # Frames per second
    "dimension": "1280x720", # Video dimensions
    "resolution": "720p",    # Output resolution
    "seed": 8               # For reproducible results
})
print(video)

Video Status Check

# Check video generation status
response = client.video.get_video_status({
    "requestId": "your-request-id"
})
print(response)

Error Handling

from alleai.core.exceptions import InvalidRequestError

try:
    response = client.image.generate({
        "models": ["nova-canvas"],
        "prompt": "Your prompt here"
    })
except InvalidRequestError as e:
    print(f"Error: {e.message}")
    print(f"Error Code: {e.code}")

Requirements

  • Python 3.8 or higher
  • Valid AlleAI API key
  • requests library (automatically installed with the package)

Support

For technical support and inquiries:

License

This project is licensed under the MIT License - see the LICENSE file for details.

Security

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

alle_ai_sdk-2.0.0.tar.gz (7.1 MB view details)

Uploaded Source

Built Distribution

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

alle_ai_sdk-2.0.0-py2.py3-none-any.whl (22.9 kB view details)

Uploaded Python 2Python 3

File details

Details for the file alle_ai_sdk-2.0.0.tar.gz.

File metadata

  • Download URL: alle_ai_sdk-2.0.0.tar.gz
  • Upload date:
  • Size: 7.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for alle_ai_sdk-2.0.0.tar.gz
Algorithm Hash digest
SHA256 a4025211fad2b4f4571323882e6748a3e98997744f63ee9df37019e51ca082a4
MD5 3fe39247a057ad7f13e0d89b2ed5d4d5
BLAKE2b-256 7c5b64c624a37454dd90dce50097c052416585a8f4c23c333af5789a21954db3

See more details on using hashes here.

File details

Details for the file alle_ai_sdk-2.0.0-py2.py3-none-any.whl.

File metadata

  • Download URL: alle_ai_sdk-2.0.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 22.9 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for alle_ai_sdk-2.0.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 56d35c0af2527493e8def2c0ad34031340f8e08681c9d912150deb89536287e9
MD5 dfab1dacf06b67e34056c538b9e0f048
BLAKE2b-256 a4c40546bb98f5a5de671263f239ab974158cb611323d3bdc542540669ee50b1

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