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

# Delete a custom voice model

> Permanently deletes a custom voice model. The model row, its stored model file, and its training artifacts are all removed — this is irreversible.

Only the client's own custom models can be deleted — Audimee built-in voices return `403`. If the model is still training when delete is called, training is cancelled first. Deleting is rejected with `400` while `percentageDone` is `0` (the AI backend has not yet started training) — wait until `percentageDone > 0` and retry.



## OpenAPI

````yaml DELETE /voice-models/{id}
openapi: 3.1.0
info:
  title: Audimee API
  description: >-
    The Audimee API lets clients browse voice models, train custom voices, and
    run AI voice conversions.
  version: 1.0.0
servers:
  - url: https://audimee.com/api/v1
security:
  - bearerAuth: []
paths:
  /voice-models/{id}:
    delete:
      tags:
        - Voice Models
      summary: Delete a custom voice model
      description: >-
        Permanently deletes a custom voice model. The model row, its stored
        model file, and its training artifacts are all removed — this is
        irreversible.


        Only the client's own custom models can be deleted — Audimee built-in
        voices return `403`. If the model is still training when delete is
        called, training is cancelled first. Deleting is rejected with `400`
        while `percentageDone` is `0` (the AI backend has not yet started
        training) — wait until `percentageDone > 0` and retry.
      operationId: deleteVoiceModel
      parameters:
        - name: id
          in: path
          required: true
          description: UUID of the custom voice model to delete.
          schema:
            type: string
      responses:
        '200':
          description: Model deleted.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteVoiceModelResponse'
              example:
                success: true
        '400':
          description: Training has not started on the AI backend yet.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error: >-
                  Cannot delete a model before training has started on the AI
                  backend. Wait until percentageDone is greater than 0 and retry
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          description: Built-in Audimee voices cannot be deleted.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error: Built-in voice models cannot be deleted
        '404':
          description: No voice model with this id is visible to the authenticated client.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error: Voice model not found
        '500':
          description: Failed to cancel training or persist the deletion.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                cancelFailed:
                  summary: Could not cancel in-progress training
                  value:
                    error: Failed to cancel model training
                deleteFailed:
                  summary: Could not delete the model
                  value:
                    error: Failed to delete custom voice model
components:
  schemas:
    DeleteVoiceModelResponse:
      type: object
      required:
        - success
      properties:
        success:
          type: boolean
          description: Always `true` on successful deletion.
    ErrorResponse:
      type: object
      required:
        - error
      properties:
        error:
          type: string
          description: Human-readable explanation of what went wrong.
  responses:
    Unauthorized:
      description: Missing, malformed, or unrecognised bearer token.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          examples:
            missingHeader:
              summary: No Authorization header
              value:
                error: Missing or invalid Authorization header
            invalidToken:
              summary: Token not recognised
              value:
                error: Invalid authorization token
            userNotFound:
              summary: Token valid but user no longer exists
              value:
                error: User not found
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        Static API key issued by Audimee, passed as `Authorization: Bearer
        {token}`.

````