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
Release history Release notifications | RSS feed
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.5.0.tar.gz
(18.0 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
audiopod-1.5.0-py3-none-any.whl
(25.2 kB
view details)
File details
Details for the file audiopod-1.5.0.tar.gz.
File metadata
- Download URL: audiopod-1.5.0.tar.gz
- Upload date:
- Size: 18.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b01283e5dc956f14d1f0a8ff25cc806441a401f0a34dc71d0fd38c3a4f962f19
|
|
| MD5 |
dd69e7558205e7458c7c9e65579a6775
|
|
| BLAKE2b-256 |
a69be7fe175cc29b7738c134348e0633c962ed923d8517bba79d7be6f2d23562
|
File details
Details for the file audiopod-1.5.0-py3-none-any.whl.
File metadata
- Download URL: audiopod-1.5.0-py3-none-any.whl
- Upload date:
- Size: 25.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a641ede255bec71547a5acb3221624438d1470f700d5cf4c9c3a4906ced549f4
|
|
| MD5 |
b1857f451b57d07f421081f0dcaf1ce0
|
|
| BLAKE2b-256 |
0da462c9a9ab44bd7f49cb7511eb8760746736941f495022f825d8658a6de0c4
|