Discover existing assets
Catalog searches the shared voice, avatar or template libraries usingkind. For library-specific filters, use the dedicated listing endpoints and their schemas. Capabilities describes the atomic workflow and shared identity.
Voice cloning, avatar generation and image generation use the existing subscription allowances and charges. Check voice clone allowance before cloning.
Model selection
Generate avatar motion requires an explicitmodel ID from the Web Podcast host selector:
Missing, null and unsupported IDs are rejected. Create avatar accepts image model IDs
3, 9 and 11. Generate image uses the names nano-banana, nano-banana-pro and gpt-image-2, respectively, mapped to the same Web models. These choices use the existing Web pricing and storage.
Create hosts
Use Create avatar for two speaker-focus hosts, or Create multi-camera avatar for a shared scene with multiple camera positions. Each endpoint selects its existing Web generation pipeline and pricing on the server.background.id, or a background from your library with background.user_background_id. Supply exactly one ID; its URLs and metadata are resolved by the server. Upload and register a new background first when needed.
The response contains podcast_avatar_id and pack_ids. Poll Get avatar and select generated photos for Generate avatar motion. Internal fields such as packs, podcast_version, create_from, task_from and from_for_pay are not accepted by host creation.
Upload your media
Request Upload asset withfilename, content_type and the exact file_size in bytes. The default maximum is 512 MiB. The upload signature binds both Content-Type and Content-Length.
data contains sign_url and asset_url. Upload the file bytes to sign_url with the same Content-Type and Content-Length. Curl sets Content-Length from the file:
asset_url in project input or register it through Add music, Add background or Add image. Use the registered item’s native ID in project or template settings.
The signed upload URL expires after 10 minutes. To request a fresh URL, omit
Idempotency-Key or use a new key; replaying a previous key returns the original URL.Generate an image or background
Choose the operation matching the asset you need. Its destination is fixed by the endpoint:
Each request generates one image. Use the model names
nano-banana, nano-banana-pro or gpt-image-2; the default is nano-banana-pro at 2K. The selected model and resolution use the existing Web prices. Only documented business fields are accepted; source, number_of_images, create_from, task_from and billing flags are rejected.
POST /open/podcast/v1/images/generate, or pass it as body to podcast_generate_image. Host background generation also requires typ: 0 for speaker focus or 2 for alternating shots, and optionally accepts avatar_type (default, pet or cartoon).
The response data is the task ID. Poll Get image task with only unique_id; omit type. It returns unique_id, progress_desc, output_url and err_msg. Reads are limited to supported image tasks in the current Space.