Catalog PyPI
PACKAGE EXPLORERView in registry

aether-ai-sdk

PyPI

Official Python SDK for Aether AI (https://aiaether.ai.studio) - Chat with AI models via streaming API.

Versions collected1
Direct dependencies6From release 0.3.3
Last observed20 Oct, 20:53 UTC

README

Version 0.3.3 documentation

Aether AI SDK

Official Python SDK for Aether AI - Chat with AI models and generate images via streaming API.

Installation

pip install aether-ai-sdk

Getting Your API Key

  1. Visit https://aiaether.ai.studio
  2. Sign up or log in to your account
  3. Navigate to Settings > API Keys
  4. Click Create New Key
  5. Copy your API key (starts with at_live_)

Quick Start

from aether_ai_sdk import AI

# Initialize client with your API key
client = AI(api_key="at_live_your_api_key_here")

# Send a message
response = client.chat.create(
    model="DeepSeek-R1-Distill-Llama-8B-OpenSource",
    messages=[{"role": "user", "content": "Hello, how are you?"}]
)
print(response.output_text)

Chat

Create a Conversation

from aether_ai_sdk import AI

client = AI(api_key="at_live_your_api_key_here")

# Create a new conversation
conversation = client.chat.conversations.create(
    model="DeepSeek-R1-Distill-Llama-8B-OpenSource",
    system_prompt="You are a helpful assistant."
)

print(f"Conversation ID: {conversation.id}")

Send a Message

# Send a message to an existing conversation
response = client.chat.messages.create(
    conversation.id,
    content="What is Python?"
)
print(response.output_text)

List Conversations

# List all conversations
conversations = client.chat.conversations.list()

for conv in conversations:
    print(f"{conv.title} - {conv.model}")

Stream Responses

# Stream a response
conversation = client.chat.conversations.create(
    model="DeepSeek-R1-Distill-Llama-8B-OpenSource"
)

for event in client.chat.messages.stream(conversation.id, content="Tell me a story"):
    if event.type == "delta":
        print(event.chunk, end="", flush=True)

Image Generation

Generate an Image

from aether_ai_sdk import AI

client = AI(api_key="at_live_your_api_key_here")

# Generate an image
response = client.images.generate(
    prompt="A sunset over mountains",
    aspect_ratio="16:9",  # Options: 1:1, 16:9, 9:16, 4:3, 3:4
    enhance=True  # Uses Gemini 3.6 Flash prompt enhancer
)

print(f"Image URL: {response.image_url}")
print(f"Enhanced Prompt: {response.enhanced_prompt}")

Image Generation Options

ParameterTypeDefaultDescription
promptstrrequiredDescription of the image to generate
aspect_ratiostr"1:1"Image dimensions: 1:1, 16:9, 9:16, 4:3, 3:4
enhanceboolFalseEnhance prompt using Gemini 3.6 Flash
conversation_idstrNoneLink to a conversation for context

Configuration

from aether_ai_sdk import AI

client = AI(
    api_key="at_live_your_api_key_here",
    base_url="https://aiaether.ai.studio",  # Default
    timeout=60.0,                           # Request timeout in seconds
    max_retries=2                           # Number of retry attempts
)

Environment Variables

You can also configure the client using environment variables:

export AI_API_KEY="at_live_your_api_key_here"
export AI_BASE_URL="https://aiaether.ai.studio"
export AI_TIMEOUT="60.0"
export AI_MAX_RETRIES="2"
from aether_ai_sdk import AI

# Will use environment variables
client = AI()

Available Models

  • DeepSeek-R1-Distill-Llama-8B-OpenSource

Visit https://aiaether.ai.studio for the latest list of available models.

Error Handling

from aether_ai_sdk import AI, AuthenticationError, RateLimitError

try:
    client = AI(api_key="invalid_key")
    response = client.chat.create(
        model="DeepSeek-R1-Distill-Llama-8B-OpenSource",
        messages=[{"role": "user", "content": "Hello"}]
    )
except AuthenticationError as e:
    print(f"Invalid API key: {e}")
except RateLimitError as e:
    print(f"Rate limit exceeded: {e}")
except Exception as e:
    print(f"Error: {e}")

License

MIT

Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Versions 1

Collected releases
VersionPublishedDirect dependenciesOpen version
0.3.313 Aug 20266

Package advisories

0
No matching advisories collected

This describes our collected data; it is not a security assessment.

Metadata history

Meaningful changes
Current collected state Current

Observed since 20 Oct, 20:53 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package:be05a8c48234d8d914cb5790701e47b64a36ad0c54792c1a4befe5db41f4d284