How to Build with the Seed Audio Prompts API: Audio, Image, Video & 3D AI Generation
A complete developer guide to integrating Seed Audio Prompts into your application. Learn how to generate AI audio, images, videos, and 3D models programmatically — with working code examples in curl and Python.

Why Use the Seed Audio Prompts API?
Seed Audio Prompts is an all-in-one AI generation platform powered by Doubao (ByteDance) models. Instead of juggling five different AI providers, you get a single API that covers:
| Media Type | Model | What It Does |
|---|---|---|
| 🎵 Audio (TTS) | seed-audio-1.0 | Text-to-speech, voice cloning, image-guided audio |
| 🖼️ Image | doubao-seedream-4.0 | Text-to-image, image fusion, editing, variations |
| 🎬 Video | doubao-seedance-2.0 | Text/image/video-to-video with lip-sync audio |
| 🧊 3D | doubao-seed3d-2.0 | Image-to-3D with multiple output formats |
Whether you’re building a SaaS product, automating content creation, or prototyping an AI-native application, the Seed Audio Prompts API gives you production-ready generation with a unified authentication model, simple JSON request/response format, and built-in credit management.
Step 1: Create an Account & Get Your API Key
Before making any API calls, you need an account and an API key.
1. Register at Seed Audio Prompts
Visit seedaudioprompts.com and sign up with your email, Google, or GitHub account. New users receive 30 free credits to test the API immediately.
2. Navigate to API Keys
Once logged in, go to Settings → API Keys (/settings/apikeys). Click Create API Key, give it a descriptive name (e.g., “production-backend” or “dev-testing”), and copy the generated key.
Your API key will look like this:
1 | sk-a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9t0 |
⚠️ Important: Store your API key securely. It’s shown only once at creation time. Treat it like a password.
Step 2: Authentication
All API requests authenticate via the Authorization header using the Bearer token scheme:
1 | Authorization: Bearer sk-your-api-key-here |
Example headers for every request:
1 | curl -X POST https://seedaudioprompts.com/api/ai/generate \ |
In Python with requests:
1 | import requests |
Step 3: Understanding Credits
Every API call consumes credits. The pricing model is straightforward:
1 USD = 100 credits
Here’s what each generation type costs:
| Media Type | Credits per Generation | What You Get |
|---|---|---|
| 🖼️ Image | 6 credits | 1 image (up to 4K resolution) |
| 🎵 Audio (TTS) | 25 credits | 1 audio clip (any duration) |
| 🎙️ Speech Recognition | 2–3 credits/min | Transcribed text |
| 🧊 3D Model | 60 credits | 1 3D model (GLB/OBJ/USD/USDZ) |
| 🎬 Video | ~851 credits | 1 video (1080p, 5s default) |
Video pricing is dynamic — computed from resolution, frame rate, and duration. Higher resolution or longer videos cost more.
You can check your balance anytime:
1 | curl -X POST https://seedaudioprompts.com/api/user/get-user-credits \ |
Response:
1 | { |
If you run low, top up at seedaudioprompts.com/pricing.
Step 4: Generate Audio (Text-to-Speech)
Audio generation is synchronous — you get the result immediately in the response. This is the fastest and cheapest way to add AI voice to your application.
Endpoint
1 | POST /api/ai/generate |
Request (curl)
1 | curl -X POST https://seedaudioprompts.com/api/ai/generate \ |
Available voices: Auto, Nova, Sage, Pixel, Sunny, Echo, Bolt
Available formats: mp3, wav, ogg, flac
Speed range: 0.5 to 2.0
Pitch range: -12 to 12
Request (Python)
1 | import requests |
Response
1 | { |
The generated audio URL is available immediately — query the task to get it:
1 | curl -X POST https://seedaudioprompts.com/api/ai/query \ |
The response will include taskInfo.audioUrl — your generated MP3 file.
Advanced: Voice Cloning
You can clone a voice by providing a reference audio URL:
1 | { |
Advanced: Image-Guided Audio
Generate audio that matches the mood of an image:
1 | { |
Step 5: Generate Images
Image generation is also synchronous — perfect for real-time user experiences. At only 6 credits, it’s the most cost-effective way to generate AI visuals.
Endpoint
1 | POST /api/ai/generate |
Text-to-Image (curl)
1 | curl -X POST https://seedaudioprompts.com/api/ai/generate \ |
Available sizes: 1K, 2K, 4K
Available aspect ratios: 1:1, 3:4, 4:3, 16:9, 9:16, 2:3, 3:2, 21:9, smart
Image-to-Image (Python)
Provide reference images for style transfer, fusion, or editing:
1 | import requests |
Fetching the Generated Image
Query the task to get the image URL:
1 | import time |
Step 6: Generate Video
Video generation is asynchronous — you submit a task, receive a taskId, then poll for completion. This is because video rendering takes several minutes.
The Async Flow
1 | 1. POST /api/ai/generate → taskId + status: "queued" |
Submit a Video Task (curl)
1 | curl -X POST https://seedaudioprompts.com/api/ai/generate \ |
Available aspect ratios: 21:9, 16:9, 4:3, 1:1, 3:4, 9:16
Available durations: 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 (seconds)
Available resolutions: 480p, 720p, 1080p, 4K
Complete Video Generation (Python)
1 | import requests |
Video Tips
- Start short: Test with 4–5 second videos first to save credits
- Be descriptive: Include camera angles, lighting, and mood in your prompt
- Use reference images: Pass an
image_inputURL to guide the style - Audio sync: Set
generate_audio: trueto get a video with AI-generated soundtrack - Chain with TTS: Generate audio first, then pass it via
audio_inputfor lip-synced video
Step 7: Generate 3D Models
3D generation converts a single image into a textured 3D model. It’s asynchronous and takes 2–5 minutes typically.
Important: 3D generation uses
mediaType: "image"(not"3d") — the model namedoubao-seed3d-2-0-260328tells the system this is a 3D task. An input image is required.
Submit a 3D Task (curl)
1 | curl -X POST https://seedaudioprompts.com/api/ai/generate \ |
Subdivision levels: low (fast, low poly), medium (balanced), high (detailed, slower)
Output formats: GLB, OBJ, USD, USDZ
Python Workflow
1 | def generate_3d(image_url: str, subdivision: str = "high", fileformat: str = "GLB") -> str: |
Use Cases
- E-commerce: Generate 3D product previews from a single photo
- Gaming: Create assets from concept art
- AR/VR: Export to USDZ for Apple AR Quick Look
- Manufacturing: OBJ format for CAD/CAM pipelines
Step 8: Check Task Status
For async media types (video, 3D, speech), use the query endpoint to track progress.
Endpoint
1 | POST /api/ai/query |
Request / Response
1 | curl -X POST https://seedaudioprompts.com/api/ai/query \ |
1 | { |
Status values:
| Status | Meaning |
|---|---|
queued |
Waiting in queue |
processing |
AI is generating |
pending |
Awaiting provider callback |
success |
Done — check taskInfo for URLs |
failed |
Check lastError for details |
Webhook (Recommended for Production)
For production applications, set up a webhook endpoint and pass it as the callbackUrl. The system will POST task results to your URL when generation completes, eliminating the need for polling.
1 | { |
Step 9: Error Handling & Best Practices
Common Error Codes
| Error Code | HTTP Status | Meaning | What to Do |
|---|---|---|---|
INSUFFICIENT_CREDITS |
200 | Not enough credits | Redirect user to /pricing |
CONTENT_MODERATION_BLOCKED |
200 | Prompt violates AUP | Ask user to revise prompt |
no auth |
200 | Missing/invalid API key | Check Authorization header |
invalid params |
200 | Missing required fields | Check provider, mediaType, model |
invalid mediaType |
200 | Unsupported type | Use tts, image, video |
Idempotency Keys
Every generation request includes an idempotencyKey in the response. If you need to retry a request (network timeout, etc.), pass the same key to avoid duplicate charges.
Credit Monitoring
Implement a credit check before submitting generation tasks:
1 | def check_balance(min_required: int) -> bool: |
Rate Limits
Be respectful with polling frequency:
- Image/TTS: No polling needed (synchronous)
- Video: Poll every 10–15 seconds
- 3D: Poll every 10–15 seconds
- Speech: Poll every 5 seconds
File Uploads
Some endpoints accept external file URLs. To upload your own files, use the storage endpoint:
1 | curl -X POST https://seedaudioprompts.com/api/storage/upload-image \ |
Quick Reference: All Supported Options
TTS (mediaType: "tts", model: seed-audio-1.0)
| Option | Type | Default | Description |
|---|---|---|---|
voice |
string | "Nova" |
Voice preset name |
speed |
float | 1.0 |
Speaking speed (0.5–2.0) |
volume |
int | 50 |
Volume percentage (0–100) |
pitch |
int | 0 |
Pitch shift (-12 to 12) |
format |
string | "mp3" |
Output: mp3, wav, ogg, flac |
reference_audio_url |
string | — | URL for voice cloning |
reference_image_url |
string | — | URL for image-guided audio |
Image (mediaType: "image", model: doubao-seedream-4-0-250828)
| Option | Type | Default | Description |
|---|---|---|---|
size |
string | "2K" |
Output resolution |
aspect_ratio |
string | "1:1" |
Image proportions |
image_input |
string[] | — | Reference image URLs |
watermark |
bool | false |
Add watermark |
Video (mediaType: "video", model: doubao-seedance-2-0-260128)
| Option | Type | Default | Description |
|---|---|---|---|
aspect_ratio |
string | "16:9" |
Video proportions |
duration |
int | 5 |
Seconds (4–15) |
resolution |
string | "1080p" |
480p, 720p, 1080p, 4K |
generate_audio |
bool | true |
Include AI soundtrack |
image_input |
string[] | — | Reference image URLs |
video_input |
string[] | — | Reference video URLs |
audio_input |
string[] | — | Audio for lip-sync |
3D (mediaType: "image", model: doubao-seed3d-2-0-260328)
| Option | Type | Default | Description |
|---|---|---|---|
image_input |
string[] | required | Source image URL |
subdivision |
string | "medium" |
low, medium, high |
fileformat |
string | "GLB" |
GLB, OBJ, USD, USDZ |
Putting It All Together: A Complete Pipeline Example
Here’s a Python script that demonstrates the full multi-media pipeline — generate an image, turn it into audio, then animate it as video:
1 | import requests |
Conclusion
The Seed Audio Prompts API gives you a single, unified interface to state-of-the-art AI generation across audio, image, video, and 3D — all powered by Doubao models. With simple Bearer token authentication, clear credit pricing, and both synchronous and asynchronous endpoints, it’s built for real-world applications.
Next Steps
- 📖 Explore pricing plans: seedaudioprompts.com/pricing
- 🎨 See what others built: seedaudioprompts.com/showcases
- 📝 Read more guides: seedaudioprompts.com/blog
- 🔑 Get your API key: seedaudioprompts.com/settings/apikeys
Happy building! 🚀