A Python SDK for the PodFeed API
Project description
PodFeed SDK
A Python SDK for the PodFeed API, enabling developers to generate high-quality Podcast-style audio content from various input sources using AI.
Features
- Multiple Input Types: Support for text, URLs, files, topics, and bring-your-own-script
- Audio Generation Modes: Monologue (single voice) and dialogue (two voices) modes
- Voice Customization: Multiple voice options for different languages. Some voices support custom instructions
- Script Customization: Adjustable complexity levels, lengths, and emphasis
Installation
pip install podfeed-sdk
Authentication
The SDK supports two ways to provide your API key:
-
Environment Variable:
export PODFEED_API_KEY="your-api-key-here"
-
Direct initialization:
from podfeed import PodfeedClient client = PodfeedClient(api_key="your-api-key-here")
Quick Start
Get an API key
Go to https://podfeed.ai, log in, and get an API key.
Generate Audio (from Website)
from podfeed import (
PodfeedClient,
PodfeedError,
AudioGenerationRequest,
InputContent,
VoiceConfig,
ContentConfig,
)
# Initialize client (uses PODFEED_API_KEY env var)
client = PodfeedClient()
# Example URL
website_url = "https://podfeed.ai/faq"
# Generate audio from website
result = client.generate_audio(
request=AudioGenerationRequest(
input_type="url",
mode="dialogue",
input_content=InputContent(url=website_url),
voice_config=VoiceConfig(
host_voice="google-male-puck", cohost_voice="google-female-leda"
),
content_config=ContentConfig(
level="intermediate",
length="medium",
language="en-US",
),
)
)
task_id = response["task_id"]
print(f"Task created: {task_id}")
# Wait for completion
result = client.wait_for_completion(task_id)
print(f"Audio generated: {result['result']['audio_url']}")
List Available Voices
from podfeed import PodfeedClient
api_key = os.getenv("PODFEED_API_KEY")
if not api_key:
print("Error: PODFEED_API_KEY environment variable not set")
return 1
client = PodfeedClient(api_key=api_key)
voices_config = client.list_available_voices()
print(voices_config)
Usage Examples
See the example in the examples repository: https://github.com/smh-labs/podfeed-sdk-samples
Error Handling
from podfeed_sdk import PodfeedClient, PodfeedError, PodfeedAuthError, PodfeedAPIError
try:
client = PodfeedClient()
response = client.generate_audio(
input_type="text",
text_content="Sample text"
)
except PodFeedAuthError as e:
print(f"Authentication error: {e}")
except PodFeedAPIError as e:
print(f"API error: {e.message} (Status: {e.status_code})")
except PodFeedError as e:
print(f"General error: {e}")
API Reference
Core Methods
generate_audio(**kwargs)- Generate audio from various input typeswait_for_completion(task_id, timeout=1800)- Wait for task completionget_task_progress(task_id)- Check task progressget_audio_status(task_id)- Get audio generation status
Audio Management
list_audios(limit=20, offset=0, status=None)- List audio filesget_audio(audio_id)- Get audio detailsdelete_audio(audio_id)- Delete audio filedownload_audio_with_metadata(audio_id)- Download with metadata
File Operations
get_upload_urls(files)- Get signed upload URLscreate_share_link(audio_id)- Create shareable link
Requirements
- Python 3.7+
- requests >= 2.25.0
Rate Limits
Details coming soon.
Support
For API support, email support@podfeed.ai.
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
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
File details
Details for the file podfeed_sdk-0.3.0.tar.gz.
File metadata
- Download URL: podfeed_sdk-0.3.0.tar.gz
- Upload date:
- Size: 12.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
80e9ea8d638ca639e897377cd1dbcabac765b68a61b87c987f5deae79f654c6d
|
|
| MD5 |
f73d821e463e0467d4b32d8ce8456806
|
|
| BLAKE2b-256 |
b3caeaa7e39b9c2e4d5388e519ad3c7ae2087b1cf8336f6a481a41900a685388
|
File details
Details for the file podfeed_sdk-0.3.0-py3-none-any.whl.
File metadata
- Download URL: podfeed_sdk-0.3.0-py3-none-any.whl
- Upload date:
- Size: 11.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
46af26b825de4c3a6e19b92c54705bb673eb67a47535545e8d88fea263e7d7d4
|
|
| MD5 |
0af0becefe74c0aa4711b0e162441777
|
|
| BLAKE2b-256 |
0e5185c1a663fe4d79d3f1fd534e814380bc639ccf5876980f76b60cbae1ca12
|