> ## Documentation Index
> Fetch the complete documentation index at: https://phaseo.app/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Générer une voix

> Générez un audio TTS à partir du texte avec la voix et le format indiqués.

## Correspondance des voix

`voice` est normalisé selon le fournisseur à l’aide d’une table interne d’alias :

* `openai`: voix courantes (par exemple `alloy`, `ash`, `ballad`, `coral`, `echo`, `fable`, `onyx`, `nova`, `sage`, `shimmer`, `verse`, `cedar`, `marin`).
* `google` (AI Studio / Gemini TTS): voix prédéfinies canoniques :
  `Zephyr`, `Puck`, `Charon`, `Kore`, `Fenrir`, `Leda`, `Orus`, `Aoede`, `Callirrhoe`, `Autonoe`, `Enceladus`, `Iapetus`, `Umbriel`, `Algieba`, `Despina`, `Erinome`, `Algenib`, `Rasalgethi`, `Laomedeia`, `Achernar`, `Alnilam`, `Schedar`, `Gacrux`, `Pulcherrima`, `Achird`, `Zubenelgenubi`, `Vindemiatrix`, `Sadachbia`, `Sadaltager`, `Sulafat`.
* `elevenlabs`: les voix de démarrage publiques courantes sont associées (par exemple `rachel`, `domi`, `bella`, `antoni`, `elli`, `josh`, `arnold`, `adam`, `sam`).

Pour `eleven-labs/eleven-v4` et `eleven-labs/eleven-v4-turbo`, transmettez un identifiant de 20 caractères de la bibliothèque de voix ElevenLabs, y compris pour une voix clonée personnalisée. Réglez `config.elevenlabs.voice_settings.stability` et `similarity_boost` selon vos besoins. Eleven v4 ne prend pas en charge `speed` ni `voice_settings.style`.

Si `voice` ne correspond pas au fournisseur et au modèle de la route, la requête renvoie `400 invalid_request_error` avec `param: "voice"`.

## Paramètres propres au fournisseur

Vous pouvez également transmettre des paramètres vocaux propres au fournisseur :

* ElevenLabs: `config.elevenlabs.voice_id` / `config.elevenlabs.voice` / `config.elevenlabs.voiceName`
* Google: `config.google.voice_name` / `config.google.voiceName`

Utilisez `voice` au niveau supérieur par défaut afin de faciliter la portabilité.

## Exemples de voix

* OpenAI: [openai.fm](https://www.openai.fm/)
* Exemples de voix Google TTS : [documentation Gemini sur la synthèse vocale](https://ai.google.dev/gemini-api/docs/speech-generation#voices)
* Bibliothèque de voix ElevenLabs: [ElevenLabs Voice Library](https://elevenlabs.io/voice-library)


## OpenAPI

````yaml fr/openapi/v1/openapi.localized.yaml POST /audio/speech
openapi: 3.0.3
info:
  title: Phaseo Gateway API
  description: >-
    Une API de passerelle pour accéder à divers modèles d’IA via des points de
    terminaison compatibles avec OpenAI.
  version: 1.0.0
  contact:
    name: Phaseo
    url: https://phaseo.app
    email: danielbutler500@gmail.com
servers:
  - url: https://api.phaseo.app/v1
    description: Routage mondial
security:
  - BearerAuth: []
tags:
  - name: Gateway
    description: Core Phaseo Gateway operations.
paths:
  /audio/speech:
    post:
      tags:
        - Gateway
      summary: Générer de la parole
      description: Génère de l’audio à partir du texte fourni.
      operationId: createSpeech
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AudioSpeechRequest'
      responses:
        '200':
          description: Fichier audio
          content:
            audio/mpeg:
              schema:
                type: string
                format: binary
components:
  schemas:
    AudioSpeechRequest:
      type: object
      required:
        - model
        - input
      properties:
        model:
          type: string
        input:
          type: string
        voice:
          type: string
        speed:
          type: number
          minimum: 0.25
          maximum: 4
        format:
          type: string
          enum:
            - mp3
            - wav
            - ogg
            - aac
        provider:
          $ref: '#/components/schemas/ProviderRoutingOptions'
        config:
          type: object
          additionalProperties: true
          properties:
            elevenlabs:
              type: object
              additionalProperties: true
              properties:
                voice_id:
                  type: string
                language_code:
                  type: string
                output_format:
                  type: string
                voice_settings:
                  type: object
                  additionalProperties: true
                  properties:
                    stability:
                      type: number
                    similarity_boost:
                      type: number
    ProviderRoutingOptions:
      type: object
      description: >-
        Préférences de routage des fournisseurs pour la sélection par la
        passerelle.
      properties:
        order:
          type: array
          items:
            type: string
        only:
          type: array
          items:
            type: string
        ignore:
          type: array
          items:
            type: string
        include_alpha:
          type: boolean
          description: >-
            Inclure les fournisseurs alpha dans le routage (désactivé par
            défaut).
        allow_fallbacks:
          type: boolean
          nullable: true
          description: >-
            Autoriser le repli vers un autre fournisseur éligible après un
            échec.
        require_parameters:
          type: boolean
          nullable: true
          description: >-
            Exiger la prise en charge des paramètres demandés par le fournisseur
            avant le routage.
        required_execution_region:
          type: string
          nullable: true
          description: >-
            Limiter le routage aux fournisseurs disposant de la région
            d’exécution demandée.
        required_data_region:
          type: string
          nullable: true
          description: >-
            Limiter le routage aux fournisseurs disposant de la région de
            données demandée.
        require_zero_data_retention:
          type: boolean
          nullable: true
          description: >-
            Limiter le routage aux fournisseurs qui prennent en charge la
            conservation nulle des données.
        data_collection:
          type: string
          nullable: true
          enum:
            - allow
            - deny
        zdr:
          type: boolean
          nullable: true
        enforce_distillable_text:
          type: boolean
          nullable: true
        quantizations:
          type: array
          nullable: true
          items:
            type: string
        sort:
          oneOf:
            - type: string
            - type: object
              additionalProperties: true
          description: >-
            Classer les fournisseurs pour cette requête, par exemple selon le
            prix, la latence ou le débit.
        max_price:
          type: object
          properties:
            prompt:
              oneOf:
                - type: number
                - type: string
            completion:
              oneOf:
                - type: number
                - type: string
            image:
              oneOf:
                - type: number
                - type: string
            audio:
              oneOf:
                - type: number
                - type: string
            request:
              oneOf:
                - type: number
                - type: string
        preferred_min_throughput:
          oneOf:
            - type: number
            - type: object
              additionalProperties:
                type: number
        preferred_max_latency:
          oneOf:
            - type: number
            - type: object
              additionalProperties:
                type: number
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      description: Authentification par jeton Bearer

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.