Skip to main content

AudioPod SDK for Python - Professional Audio Processing powered by AI

Project description

AudioPod Python SDK

Official Python SDK for AudioPod AI - Professional Audio Processing powered by AI.

Installation

pip install audiopod

Quick Start

from audiopod import Client

# Initialize client
client = Client(api_key="ap_your_api_key")
# Or set AUDIOPOD_API_KEY environment variable

# Check wallet balance
balance = client.wallet.get_balance()
print(f"Balance: {balance['balance_usd']}")

# Extract stems from audio
job = client.stem_extraction.extract_stems(
    audio_file="song.mp3",
    stem_types=["vocals", "drums", "bass", "other"],
    wait_for_completion=True
)

# Download stems
for stem, url in job["download_urls"].items():
    print(f"{stem}: {url}")

Services

Wallet (API Billing)

# Get balance
balance = client.wallet.get_balance()

# Get pricing
pricing = client.wallet.get_pricing()

# Estimate cost
estimate = client.wallet.estimate_cost("stem_extraction", duration_seconds=300)

# Top up wallet
checkout = client.wallet.create_topup_checkout(amount_cents=2500)  # $25
print(f"Pay at: {checkout['url']}")

# Usage history
usage = client.wallet.get_usage_history(page=1, limit=50)

Stem Extraction

# Extract all stems
job = client.stem_extraction.extract_stems(
    audio_file="song.mp3",
    stem_types=["vocals", "drums", "bass", "other"],
    wait_for_completion=True
)

# From URL
job = client.stem_extraction.extract_stems(
    url="https://example.com/song.mp3",
    stem_types=["vocals", "other"]
)

# Check status
status = client.stem_extraction.get_job(job_id=123)

Transcription

# Transcribe audio
result = client.transcription.transcribe(
    audio_file="podcast.mp3",
    speaker_diarization=True,
    wait_for_completion=True
)
print(result["transcript"])

Voice Cloning & TTS

# List voices
voices = client.voice.list_voices()

# Generate speech
audio = client.voice.generate_speech(
    text="Hello, world!",
    voice_id=123,
    wait_for_completion=True
)

Music Generation

# Generate music
result = client.music.generate(
    prompt="upbeat electronic dance music",
    duration=30,
    wait_for_completion=True
)

Noise Reduction

# Denoise audio
result = client.denoiser.denoise(
    audio_file="noisy.mp3",
    mode="studio",
    wait_for_completion=True
)

Async Support

import asyncio
from audiopod import AsyncClient

async def main():
    async with AsyncClient() as client:
        balance = await client.wallet.get_balance()
        print(f"Balance: {balance['balance_usd']}")

asyncio.run(main())

Error Handling

from audiopod import Client
from audiopod.exceptions import (
    AuthenticationError,
    InsufficientBalanceError,
    RateLimitError,
    APIError
)

try:
    client = Client()
    job = client.stem_extraction.extract_stems(audio_file="song.mp3")
except AuthenticationError:
    print("Invalid API key")
except InsufficientBalanceError as e:
    print(f"Need to top up: required {e.required_cents} cents")
except RateLimitError:
    print("Rate limit exceeded, try again later")
except APIError as e:
    print(f"API error ({e.status_code}): {e}")

Documentation

License

MIT

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

audiopod-1.4.0.tar.gz (15.3 kB view details)

Uploaded Source

Built Distribution

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

audiopod-1.4.0-py3-none-any.whl (21.7 kB view details)

Uploaded Python 3

File details

Details for the file audiopod-1.4.0.tar.gz.

File metadata

  • Download URL: audiopod-1.4.0.tar.gz
  • Upload date:
  • Size: 15.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for audiopod-1.4.0.tar.gz
Algorithm Hash digest
SHA256 e7c101f86553a1477db89486f8a9f7b5c37ebc4079cd15956deba311dff5ac5c
MD5 e6b84f219e0884eb262255a8ea00430b
BLAKE2b-256 d319e9387c15002066214e93c21693109eaef9880b07018573ec0315bd88d001

See more details on using hashes here.

File details

Details for the file audiopod-1.4.0-py3-none-any.whl.

File metadata

  • Download URL: audiopod-1.4.0-py3-none-any.whl
  • Upload date:
  • Size: 21.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for audiopod-1.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 45851ba81ba9d062bd58880f69bdd6b890e9784c0b3d55f867900416d11ff145
MD5 3f01b8e01a0b4bba86ae394b6d64f2f8
BLAKE2b-256 663f372fa7c6c920a4e63a93f5c8e3bca246741903fe5d80ac59c6857785c713

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