import type * as ElevenLabs from "../../../../index";
/**
 * @example
 *     {
 *         safetyIdentifier: "safety-identifier",
 *         modelId: "eleven_multilingual_v2",
 *         mode: {
 *             type: "conversation",
 *             conversation: {
 *                 hostVoiceId: "aw1NgEzBg83R7vgmiJt6",
 *                 guestVoiceId: "aw1NgEzBg83R7vgmiJt7"
 *             }
 *         },
 *         source: {
 *             type: "text",
 *             text: "This is a test podcast."
 *         }
 *     }
 */
export interface BodyCreatePodcastV1StudioPodcastsPost {
    /** Used for moderation. Your workspace must be allowlisted to use this feature. */
    safetyIdentifier?: string;
    /** The ID of the model to be used for this Studio project, you can query GET /v1/models to list all available models. */
    modelId: string;
    /** The type of podcast to generate. Can be 'conversation', an interaction between two voices, or 'bulletin', a monologue. */
    mode: ElevenLabs.BodyCreatePodcastV1StudioPodcastsPostMode;
    /** The source content for the Podcast. */
    source: ElevenLabs.BodyCreatePodcastV1StudioPodcastsPostSource;
    /**
     * Output quality of the generated audio. Must be one of:
     * 'standard' - standard output format, 128kbps with 44.1kHz sample rate.
     * 'high' - high quality output format, 192kbps with 44.1kHz sample rate and major improvements on our side.
     * 'ultra' - ultra quality output format, 192kbps with 44.1kHz sample rate and highest improvements on our side.
     * 'ultra_lossless' - ultra quality output format, 705.6kbps with 44.1kHz sample rate and highest improvements on our side in a fully lossless format.
     */
    qualityPreset?: ElevenLabs.BodyCreatePodcastV1StudioPodcastsPostQualityPreset;
    /**
     * Duration of the generated podcast. Must be one of:
     * short - produces podcasts shorter than 3 minutes.
     * default - produces podcasts roughly between 3-7 minutes.
     * long - produces podcasts longer than 7 minutes.
     */
    durationScale?: ElevenLabs.BodyCreatePodcastV1StudioPodcastsPostDurationScale;
    /** An optional language of the Studio project. Two-letter language code (ISO 639-1). */
    language?: string;
    /** The intro text that will always be added to the beginning of the podcast. */
    intro?: string;
    /** The outro text that will always be added to the end of the podcast. */
    outro?: string;
    /** Additional instructions prompt for the podcast generation used to adjust the podcast's style and tone. */
    instructionsPrompt?: string;
    /** A brief summary or highlights of the Studio project's content, providing key points or themes. This should be between 10 and 70 characters. */
    highlights?: string[];
    /**
     *     A url that will be called by our service when the Studio project is converted. Request will contain a json blob containing the status of the conversion
     *     Messages:
     *     1. When project was converted successfully:
     *     {
     *       type: "project_conversion_status",
     *       event_timestamp: 1234567890,
     *       data: {
     *         request_id: "1234567890",
     *         project_id: "21m00Tcm4TlvDq8ikWAM",
     *         conversion_status: "success",
     *         project_snapshot_id: "22m00Tcm4TlvDq8ikMAT",
     *         error_details: None,
     *       }
     *     }
     *     2. When project conversion failed:
     *     {
     *       type: "project_conversion_status",
     *       event_timestamp: 1234567890,
     *       data: {
     *         request_id: "1234567890",
     *         project_id: "21m00Tcm4TlvDq8ikWAM",
     *         conversion_status: "error",
     *         project_snapshot_id: None,
     *         error_details: "Error details if conversion failed"
     *       }
     *     }
     *
     *     3. When chapter was converted successfully:
     *     {
     *       type: "chapter_conversion_status",
     *       event_timestamp: 1234567890,
     *       data: {
     *         request_id: "1234567890",
     *         project_id: "21m00Tcm4TlvDq8ikWAM",
     *         chapter_id: "22m00Tcm4TlvDq8ikMAT",
     *         conversion_status: "success",
     *         chapter_snapshot_id: "23m00Tcm4TlvDq8ikMAV",
     *         error_details: None,
     *       }
     *     }
     *     4. When chapter conversion failed:
     *     {
     *       type: "chapter_conversion_status",
     *       event_timestamp: 1234567890,
     *       data: {
     *         request_id: "1234567890",
     *         project_id: "21m00Tcm4TlvDq8ikWAM",
     *         chapter_id: "22m00Tcm4TlvDq8ikMAT",
     *         conversion_status: "error",
     *         chapter_snapshot_id: None,
     *         error_details: "Error details if conversion failed"
     *       }
     *     }
     *
     */
    callbackUrl?: string;
    /**
     *     This parameter controls text normalization with four modes: 'auto', 'on', 'apply_english' and 'off'.
     *     When set to 'auto', the system will automatically decide whether to apply text normalization
     *     (e.g., spelling out numbers). With 'on', text normalization will always be applied, while
     *     with 'off', it will be skipped. 'apply_english' is the same as 'on' but will assume that text is in English.
     *
     */
    applyTextNormalization?: ElevenLabs.BodyCreatePodcastV1StudioPodcastsPostApplyTextNormalization;
}
