> ## Documentation Index
> Fetch the complete documentation index at: https://breezeblue-pre.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Create remix preview

> Create one same-language voice candidate from an owned or official voice and a prompt. Poll the durable job, audition its preview, then save a private new voice. The source voice is never changed.

<section className="api-next-steps" aria-label="Continue building">
  ## Continue building

  <Columns cols={2}>
    <Card title="Remixing a voice" icon="book-open" href="/guides/voice-remix">Generate, audition, and save remixd previews.</Card>
    <Card title="Get remix preview" icon="braces" href="/api-reference/voice-previews/get-remix-preview">Poll the returned remixing job.</Card>
    <Card title="List Voice Metadata options" icon="braces" href="/api-reference/voices/list-voice-metadata-options">Check voice language and metadata codes.</Card>
  </Columns>
</section>


## OpenAPI

````yaml /openapi.json post /v1/voice-previews/remix
openapi: 3.1.0
info:
  title: Breeze Developer API
  description: >-
    Breeze Developer API for models, voices, text-to-speech, history, balance,
    usage, and browser-managed API keys.
  version: 1.0.0
servers:
  - url: https://api.breeze.blue
security: []
tags:
  - name: Models
    description: Supported TTS models.
  - name: Text to Speech
    description: Text-to-speech synthesis and instruction enhancement.
  - name: Voices
    description: Saved voices and voice settings.
  - name: Voice Previews
    description: Create, audition, and save temporary voice previews.
  - name: Account
    description: Balance, usage, and API keys.
  - name: History
    description: Generated audio history.
paths:
  /v1/voice-previews/remix:
    post:
      tags:
        - Voice Previews
      summary: Create remix preview
      description: >-
        Create one same-language voice candidate from an owned or official voice
        and a prompt. Poll the durable job, audition its preview, then save a
        private new voice. The source voice is never changed.
      operationId: voice_previews_remix
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VoiceRemixPreviewRequest'
        required: true
      responses:
        '202':
          description: Accepted background voice remixing job.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VoiceRemixPreviewJobResponse'
          headers:
            x-breeze-api-key-id:
              description: >-
                Public API key identifier used to authenticate the request, when
                an API key was used.
              schema:
                type: string
        '400':
          description: HTTP 400 error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: HTTP 401 error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: HTTP 403 error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: HTTP 404 error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '409':
          description: HTTP 409 error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '422':
          description: HTTP 422 error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationErrorResponse'
        '429':
          description: HTTP 429 error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '503':
          description: HTTP 503 error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
        - ApiKeyAuth: []
      x-codeSamples:
        - lang: cURL
          label: cURL
          source: |-
            curl \
              --request POST \
              --url "https://api.breeze.blue/v1/voice-previews/remix" \
              --header "xi-api-key: $BREEZE_API_KEY" \
              --header "Content-Type: application/json" \
              --data '{
              "voice_id": "voc_xeh3w54cqvnp",
              "prompt": "Make the voice older and softer.",
              "guidance_scale": 2
            }'
        - lang: Python
          label: Python SDK
          source: |-
            import os

            from breeze_blue import BreezeBlue

            client = BreezeBlue(api_key=os.environ["BREEZE_API_KEY"])

            job = client.voices.create_remix_preview(
                voice_id="voc_xeh3w54cqvnp",
                prompt="Make the voice older and softer.",
            )

            print(job["generation_job_id"])
        - lang: TypeScript
          label: TypeScript SDK
          source: |-
            import { BreezeBlueClient } from "@breeze.blue/sdk";

            const client = new BreezeBlueClient({
              apiKey: process.env.BREEZE_API_KEY!,
            });

            const job = await client.voices.createRemixPreview({
              voiceId: "voc_xeh3w54cqvnp",
              prompt: "Make the voice older and softer.",
            });

            console.log(job.generationJobId);
components:
  schemas:
    VoiceRemixPreviewRequest:
      properties:
        voice_id:
          type: string
          maxLength: 64
          minLength: 1
          title: Voice Id
          description: >-
            Owned or available official voice ID. Third-party favorites do not
            grant remix access. See [List
            voices](https://docs.breezeblue.ai/api-reference/voices/list-voices).
        prompt:
          type: string
          maxLength: 1000
          minLength: 3
          title: Prompt
          description: >-
            Editable instruction in the source model's supported instruction
            language.
        guidance_scale:
          type: number
          maximum: 10
          minimum: 1
          title: Guidance Scale
          default: 2
          description: >-
            Instruction following strength, 1–10. Defaults to 2. See [Voice
            settings](https://docs.breezeblue.ai/concepts/voices#voice-settings).
      additionalProperties: false
      type: object
      required:
        - voice_id
        - prompt
      title: VoiceRemixPreviewRequest
      description: Create one same-language candidate from an owned or official voice.
    VoiceRemixPreviewJobResponse:
      properties:
        generation_job_id:
          title: Generation Job Id
          type: string
        status:
          title: Status
          type: string
      required:
        - generation_job_id
        - status
      title: VoiceRemixPreviewJobResponse
      type: object
    ErrorResponse:
      properties:
        ok:
          default: false
          title: Ok
          type: boolean
        code:
          title: Code
          type: string
        detail:
          title: Detail
          type: string
        error:
          title: Error
          type: string
        meta:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          default: null
          title: Meta
      required:
        - code
        - detail
        - error
      title: ErrorResponse
      type: object
    ValidationErrorResponse:
      properties:
        ok:
          default: false
          title: Ok
          type: boolean
        code:
          title: Code
          type: string
        detail:
          title: Detail
          type: string
        error:
          title: Error
          type: string
        meta:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Meta
      required:
        - code
        - detail
        - error
      title: ValidationErrorResponse
      type: object
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: xi-api-key
      description: Breeze Developer API key.

````