FineVoice (Fineshare) Openapi API

This is the documentation for the FineVoice API. If you have any questions or need assistance, please contact support@finevoice.ai.

Operations 24

POST /v1/audio/speech-synthesis Text to Speech #
POST /v1/audio/voice-conversion Voice Conversion #
POST /v1/audio/stt Speech to Text #
POST /v1/audio/sfx-generation Sound Effect Generation #
POST /v1/audio/separation Audio Separation #
POST /v1/audio/podcastgen Podcast Generation #
POST /v1/voice/train Train Voice Model #
POST /v1/voice/design Voice Design #
GET /v1/voice/{name} Get Voice Detail #
GET /v1/voice/pagevoices List Voice Models #
GET /v1/task/{task_id} Get Task Status #
POST /v1/music/musicgenbyprompt Music Generation by Prompt #
POST /v1/music/musicgen Music Generation by Lyrics #
POST /v1/music/cover Music Cover #
POST /v1/enhancer/speech_enhancement Speech Enhancement #
POST /v1/enhancer/speech_super_resolution Speech Super Resolution #
POST /v1/enhancer/speech_separation Speech Separation #
POST /v1/enhancer/remove_mouth_sounds Remove Mouth Sounds #
POST /v1/enhancer/remove_long_silences Remove Long Silences #
POST /v1/enhancer/filler_words/detect Filler Words Detect #
POST /v1/enhancer/filler_words/remove Filler Words Remove #
POST /v1/enhancer/stuttering/remove Stuttering Remove #
POST /v1/enhancer/audio_normalization Audio Normalization #
POST /v1/enhancer/process/pipeline Process Pipeline #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/finevoice:finevoice-fineshare-openapi-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

finevoice-openapi-openapi.json Raw ↑
{
  "openapi": "3.0.1",
  "info": {
    "title": "FineVoice API",
    "description": "This is the documentation for the FineVoice API. If you have any questions or need assistance, please contact support@finevoice.ai.",
    "version": "v1"
  },
  "servers": [
    {
      "url": "https://apis.finevoice.ai",
      "description": "FineVoice API Gateway"
    }
  ],
  "security": [
    {
      "BearerAuth": []
    }
  ],
  "paths": {
    "/v1/audio/speech-synthesis": {
      "post": {
        "tags": [
          "Audio"
        ],
        "summary": "Text to Speech",
        "description": "Convert text into natural-sounding speech using a selected AI voice model.",
        "operationId": "SpeechSynthesis",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TextToSpeechRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Task accepted. Returns a taskId for async polling or the result URL directly.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AudioTaskResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized — invalid or missing API key."
          },
          "422": {
            "description": "Validation error — check request body fields."
          }
        }
      }
    },
    "/v1/audio/voice-conversion": {
      "post": {
        "tags": [
          "Audio"
        ],
        "summary": "Voice Conversion",
        "description": "Transform the voice in an audio file to a different AI voice while preserving the original content.",
        "operationId": "VoiceConversion",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VoiceConversionRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Task accepted. Returns a taskId for async polling or the result URL directly.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AudioTaskResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized — invalid or missing API key."
          },
          "422": {
            "description": "Validation error — check request body fields."
          }
        }
      }
    },
    "/v1/audio/stt": {
      "post": {
        "tags": [
          "Audio"
        ],
        "summary": "Speech to Text",
        "description": "Transcribe speech from an audio or video URL into text, with optional speaker diarization and word-level timestamps.",
        "operationId": "SpeechToText",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SpeechToTextRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Task accepted. Returns a taskId for async polling or the result URL directly.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AudioTaskResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized — invalid or missing API key."
          },
          "422": {
            "description": "Validation error — check request body fields."
          }
        }
      }
    },
    "/v1/audio/sfx-generation": {
      "post": {
        "tags": [
          "Audio"
        ],
        "summary": "Sound Effect Generation",
        "description": "Generate royalty-free sound effects from a text prompt or a source video/image.",
        "operationId": "SfxGeneration",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SoundEffectGenerationRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Task accepted. Returns a taskId for async polling or the result URL directly.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AudioTaskResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized — invalid or missing API key."
          },
          "422": {
            "description": "Validation error — check request body fields."
          }
        }
      }
    },
    "/v1/audio/separation": {
      "post": {
        "tags": [
          "Audio"
        ],
        "summary": "Audio Separation",
        "description": "Separate vocals, instruments, and other audio stems from an audio file using AI.",
        "operationId": "AudioSeparation",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SeparationRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Task accepted. Returns a taskId for async polling or the result URL directly.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AudioTaskResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized — invalid or missing API key."
          },
          "422": {
            "description": "Validation error — check request body fields."
          }
        }
      }
    },
    "/v1/audio/podcastgen": {
      "post": {
        "tags": [
          "Audio"
        ],
        "summary": "Podcast Generation",
        "description": "Generate a multi-speaker AI podcast from a script or prompt, with selectable voice models for each speaker.",
        "operationId": "PodcastGen",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PodcastGenerationRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Task accepted. Returns a taskId for async polling or the result URL directly.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AudioTaskResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized — invalid or missing API key."
          },
          "422": {
            "description": "Validation error — check request body fields."
          }
        }
      }
    },
    "/v1/voice/train": {
      "post": {
        "tags": [
          "Voice"
        ],
        "summary": "Train Voice Model",
        "description": "Create a custom AI voice model by providing a training audio URL and basic profile information.",
        "operationId": "TrainVoice",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VoiceTrainRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Training task accepted.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized — invalid or missing API key."
          },
          "422": {
            "description": "Validation error — check request body fields."
          }
        }
      }
    },
    "/v1/voice/design": {
      "post": {
        "tags": [
          "Voice"
        ],
        "summary": "Voice Design",
        "description": "Design a new AI voice from a text prompt and preview it with sample text.",
        "operationId": "VoiceDesign",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VoiceDesignRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Voice design task accepted.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized — invalid or missing API key."
          },
          "422": {
            "description": "Validation error — check request body fields."
          }
        }
      }
    },
    "/v1/voice/{name}": {
      "get": {
        "tags": [
          "Voice"
        ],
        "summary": "Get Voice Detail",
        "description": "Retrieve detailed information about a specific voice model by its name.",
        "operationId": "GetVoiceDetail",
        "parameters": [
          {
            "name": "name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "The voice model name.",
            "example": "james"
          },
          {
            "name": "desigUuid",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Optional design UUID to retrieve a specific voice design version."
          }
        ],
        "responses": {
          "200": {
            "description": "Voice detail returned.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized — invalid or missing API key."
          },
          "404": {
            "description": "Voice not found."
          }
        }
      }
    },
    "/v1/voice/pagevoices": {
      "get": {
        "tags": [
          "Voice"
        ],
        "summary": "List Voice Models",
        "description": "Retrieve a paginated, filterable list of available AI voice models.",
        "operationId": "PageVoices",
        "parameters": [
          {
            "name": "categroy",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "all",
                "my_voices",
                "favorite"
              ],
              "example": "all"
            },
            "description": "Category filter. `all` returns every voice, `my_voices` returns custom models, `favorite` returns favorited voices."
          },
          {
            "name": "primary_category",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "social-media",
                "advertisement",
                "characters-and-animation",
                "entertainment-and-tv",
                "informative-and-educational",
                "narrative-and-story",
                "interactive_media",
                "healthcare",
                "companions",
                "education_training",
                "enterprise",
                "all"
              ],
              "example": "all"
            },
            "description": "Primary category filter."
          },
          {
            "name": "gender",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Filter by gender (e.g. `male`, `female`)."
          },
          {
            "name": "language",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "en-US"
            },
            "description": "Language filter using locale codes such as `en-US`, `zh-CN`, `ja-JP`."
          },
          {
            "name": "keyword",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Search keyword to filter voice names."
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32",
              "minimum": 0,
              "example": 0
            },
            "description": "Page index, starting from 0."
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Number of voices per page."
          },
          {
            "name": "tts",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "description": "Filter for TTS-compatible voices only."
          },
          {
            "name": "style",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Filter by voice style."
          },
          {
            "name": "age",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Filter by age range."
          },
          {
            "name": "sub_category",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Sub-category filter."
          }
        ],
        "responses": {
          "200": {
            "description": "Paginated list of voice models.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized — invalid or missing API key."
          }
        }
      }
    },
    "/v1/task/{task_id}": {
      "get": {
        "tags": [
          "Task"
        ],
        "summary": "Get Task Status",
        "description": "Poll the status and result of an asynchronous audio processing task.",
        "operationId": "GetTaskStatus",
        "parameters": [
          {
            "name": "task_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "The task identifier returned by a previous API call.",
            "example": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
          }
        ],
        "responses": {
          "200": {
            "description": "Task status and result.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TaskQueryResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized — invalid or missing API key."
          },
          "404": {
            "description": "Task not found."
          }
        }
      }
    },
    "/v1/music/musicgenbyprompt": {
      "post": {
        "tags": [
          "Music"
        ],
        "summary": "Music Generation by Prompt",
        "description": "Generate a royalty-free music track from a text prompt, with control over style, duration, and model version.",
        "operationId": "MusicGenByPrompt",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MusicGenerationByPromptRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Task accepted.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized — invalid or missing API key."
          },
          "422": {
            "description": "Validation error — check request body fields."
          }
        }
      }
    },
    "/v1/music/musicgen": {
      "post": {
        "tags": [
          "Music"
        ],
        "summary": "Music Generation by Lyrics",
        "description": "Generate a full music track with vocals and/or instrumentation from lyrics, style description, and reference tracks.",
        "operationId": "MusicGen",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MusicGenerationRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Task accepted.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized — invalid or missing API key."
          },
          "422": {
            "description": "Validation error — check request body fields."
          }
        }
      }
    },
    "/v1/music/cover": {
      "post": {
        "tags": [
          "Music"
        ],
        "summary": "Music Cover",
        "description": "Create an AI voice cover of a song by replacing the original vocals with a target AI voice model.",
        "operationId": "MusicCover",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MusicCoverRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Task accepted.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized — invalid or missing API key."
          },
          "422": {
            "description": "Validation error — check request body fields."
          }
        }
      }
    },
    "/v1/enhancer/speech_enhancement": {
      "post": {
        "tags": [
          "Audio Enhancer"
        ],
        "summary": "Speech Enhancement",
        "description": "Reduce background noise and enhance speech quality. Supports WAV/MP3/FLAC/AAC/OGG/OPUS/M4A/WEBM. Returns enhanced audio file.",
        "operationId": "SpeechEnhancement",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SpeechEnhancementRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Enhanced audio returned.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized — invalid or missing API key."
          },
          "422": {
            "description": "Validation error — check request body fields."
          }
        }
      }
    },
    "/v1/enhancer/speech_super_resolution": {
      "post": {
        "tags": [
          "Audio Enhancer"
        ],
        "summary": "Speech Super Resolution",
        "description": "Upsample low-quality audio from 8 kHz to 48 kHz using the MossFormer2_SR_48K model. Returns high sample-rate audio file.",
        "operationId": "SpeechSuperResolution",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SpeechSuperResolutionRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "High sample-rate audio returned.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized — invalid or missing API key."
          },
          "422": {
            "description": "Validation error — check request body fields."
          }
        }
      }
    },
    "/v1/enhancer/speech_separation": {
      "post": {
        "tags": [
          "Audio Enhancer"
        ],
        "summary": "Speech Separation",
        "description": "Separate two speakers from a mixed audio file using the MossFormer2_SS_16K model. Use `speaker_index` (0 or 1) to select which speaker to return.",
        "operationId": "EnhancerSpeechSeparation",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SpeechSeparationRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Separated speaker audio returned.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized — invalid or missing API key."
          },
          "422": {
            "description": "Validation error — check request body fields."
          }
        }
      }
    },
    "/v1/enhancer/remove_mouth_sounds": {
      "post": {
        "tags": [
          "Audio Enhancer"
        ],
        "summary": "Remove Mouth Sounds",
        "description": "Remove mouth sounds (clicks, pops, breathing) from audio using RNNoise, Hush, or Whisper-based stutter detection.",
        "operationId": "RemoveMouthSounds",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RemoveMouthSoundsRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Processed audio returned.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized — invalid or missing API key."
          },
          "422": {
            "description": "Validation error — check request body fields."
          }
        }
      }
    },
    "/v1/enhancer/remove_long_silences": {
      "post": {
        "tags": [
          "Audio Enhancer"
        ],
        "summary": "Remove Long Silences",
        "description": "Detect and trim silence segments exceeding a threshold duration while preserving boundary silence to avoid abrupt cuts.",
        "operationId": "RemoveLongSilences",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RemoveLongSilencesRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Processed audio returned.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized — invalid or missing API key."
          },
          "422": {
            "description": "Validation error — check request body fields."
          }
        }
      }
    },
    "/v1/enhancer/filler_words/detect": {
      "post": {
        "tags": [
          "Audio Enhancer"
        ],
        "summary": "Filler Words Detect",
        "description": "Detect filler words (um, uh, er, hmm) in audio. Default mode uses a lightweight audio classifier (language-agnostic). Whisper mode uses ASR for precise word-level timestamps.",
        "operationId": "FillerWordsDetect",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FillerWordsRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Filler word timestamps returned.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized — invalid or missing API key."
          },
          "422": {
            "description": "Validation error — check request body fields."
          }
        }
      }
    },
    "/v1/enhancer/filler_words/remove": {
      "post": {
        "tags": [
          "Audio Enhancer"
        ],
        "summary": "Filler Words Remove",
        "description": "Detect and remove filler words from audio. Default mode uses an audio classifier; Whisper mode uses ASR to precisely locate and cut filler words.",
        "operationId": "FillerWordsRemove",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FillerWordsRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Processed audio file returned.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized — invalid or missing API key."
          },
          "422": {
            "description": "Validation error — check request body fields."
          }
        }
      }
    },
    "/v1/enhancer/stuttering/remove": {
      "post": {
        "tags": [
          "Audio Enhancer"
        ],
        "summary": "Stuttering Remove",
        "description": "Detect and remove stuttering segments from audio using Whisper ASR. Returns processed audio file.",
        "operationId": "StutteringRemove",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/StutteringRemoveRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Processed audio file returned.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized — invalid or missing API key."
          },
          "422": {
            "description": "Validation error — check request body fields."
          }
        }
      }
    },
    "/v1/enhancer/audio_normalization": {
      "post": {
        "tags": [
          "Audio Enhancer"
        ],
        "summary": "Audio Normalization",
        "description": "Normalize audio loudness using peak, RMS, or combined normalization methods. Returns normalized audio file.",
        "operationId": "AudioNormalization",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AudioNormalizationRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Normalized audio file returned.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized — invalid or missing API key."
          },
          "422": {
            "description": "Validation error — check request body fields."
          }
        }
      }
    },
    "/v1/enhancer/process/pipeline": {
      "post": {
        "tags": [
          "Audio Enhancer"
        ],
        "summary": "Process Pipeline",
        "description": "All-in-one audio processing pipeline. Select steps via boolean flags. Execution order: (1) Speech Enhancement, (2) Remove Mouth Sounds, (3) Remove Long Silences, (4) Super Resolution, (5) Filler Words Removal, (6) Stuttering Removal, (7) Audio Normalization. Returns a download URL.",
        "operationId": "ProcessPipeline",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PipelineRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Processed audio download URL returned.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized — invalid or missing API key."
          },
          "422": {
            "description": "Validation error — check request body fields."
          }
        }
      }
    }
  },
  "components": {
    "securitySchemes": {
      "BearerAuth": {
        "type": "http",
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "description": "Bearer token (API key). Format: `Bearer {your_api_key}`"
      }
    },
    "schemas": {
      "ApiError": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "description": "Error code."
          },
          "message": {
            "type": "string",
            "description": "Error message."
          }
        }
      },
      "AudioTaskResponse": {
        "type": "object",
        "description": "Standard response for audio processing tasks.",
        "properties": {
          "status": {
            "type": "integer",
            "format": "int32",
            "description": "HTTP-style status code (200 for success, 202 for in-progress)."
          },
          "url": {
            "type": "string",
            "description": "Download URL of the generated audio file (available when completed)."
          },
          "taskId": {
            "type": "string",
            "description": "Task identifier for async polling. Use with GET /v1/task/{task_id}.",
            "example": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
          },
          "error": {
            "$ref": "#/components/schemas/ApiError"
          },
          "urls": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Multiple output URLs (e.g. for separation stems)."
          },
          "service": {
            "type": "string"
          },
          "port": {
            "

# --- truncated at 32 KB (63 KB total) ---
# Full source: https://artifacts.apis.io/finevoice/openapi/_original/finevoice-openapi-openapi.json