POST
/
podcast
/
convo-mode
/
ai-scripted
Generate AI-scripted podcast with 2 hosts using Convo Mode
curl --request POST \
  --url https://api.wondercraft.ai/v1/podcast/convo-mode/ai-scripted \
  --header 'Content-Type: application/json' \
  --header 'X-API-KEY: <api-key>' \
  --data '{
  "prompt": "<string>",
  "voice_ids": [
    "<string>"
  ],
  "delivery_instructions": "<string>",
  "music_spec": {
    "music_id": "<string>",
    "fade_in_ms": 0,
    "fade_out_ms": 0,
    "playback_start": 0,
    "playback_end": 123,
    "volume": 0.05
  }
}'
{
  "job_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}

Authorizations

X-API-KEY
string
header
required

Body

application/json

A request to start a job that generates an audio file for a podcast in convo mode with a script generated by AI using the provided prompt. An optional list of Voice IDs can be provided to control the audio generation output. If no voice_ids are provided, defaults of up to 2 convo-mode voices will be chosen.

prompt
string
required

The prompt to instruct the AI to generate the script. You can specify the duration, and include links. Sometimes, the AI hallucinates, so it helps to mention that this podcast has two hosts.

voice_ids
string[]

A list of voice_ids to use for the generated audio. Must provide exactly 2 voices for this endpoint. If the script has multiple speakers, we will use the voices from this list in the order they appear in. All ids in this list must be unique. If no IDs are provided, 2 defaults will be used.

delivery_instructions
string | null

An optional delivery instructions for the generated audio. This will be used to guide the generation of the audio.

music_spec
object | null

An optional spec for adding background music to the generated script. Note that if the chosenmusic track is longer than the duration of the generated script, it will be cut off. A music track to add to the generated audio. Note that the music will always be added at the very beginning of the generated podcast and will be automatically trimmed to match the content length.

Response

Successful Response

job_id
string<uuid>
required

The job ID for the episode generation. The status of this job can be queried using the/podcast/{job_id} endpoint.