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-2.3.0.tar.gz
(20.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-2.3.0-py3-none-any.whl
(27.1 kB
view details)
File details
Details for the file audiopod-2.3.0.tar.gz.
File metadata
- Download URL: audiopod-2.3.0.tar.gz
- Upload date:
- Size: 20.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
545bddf146d42766097811fff171bc053f485f3e22ff9ac43eadfe162f475da3
|
|
| MD5 |
ef2161e5c2077773fe24f6fee05542cd
|
|
| BLAKE2b-256 |
5bd87d0b0f40f13a7584e749efd1f59476217102d80871a6e6fb7f9622c52388
|
File details
Details for the file audiopod-2.3.0-py3-none-any.whl.
File metadata
- Download URL: audiopod-2.3.0-py3-none-any.whl
- Upload date:
- Size: 27.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7a9cc35300e78c21d23787f5dd61fdb8b5dadbd50e0b3980728ba3f280820f43
|
|
| MD5 |
ee54a0d6769b8b0e5affe064081a4890
|
|
| BLAKE2b-256 |
e9e513533ee16efa50869e49c85159ca5c1b583a23c463103fc7cd1a139af2ae
|