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

# Submit Audio for Transcription

> Submit an audio file for transcription. Pass the pre-signed download URL returned by complete-upload. Transcription runs asynchronously — use the returned `transcription_id` to poll for results.



## OpenAPI

````yaml /openapi/transcription.json post /open/partner/ai/transcriptions/
openapi: 3.0.4
info:
  title: Transcription API
  description: >-
    Submit audio for transcription and poll for results. Authenticate with the
    API key headers (`client_id` / `api_key`) issued alongside `secret_key` in
    the Portal.
  version: 0.0.1
servers:
  - url: https://platform-us.plaud.ai/developer/api
    description: US partner endpoint
  - url: https://platform-jp.plaud.ai/developer/api
    description: Japan partner endpoint
security: []
paths:
  /open/partner/ai/transcriptions/:
    post:
      tags:
        - Transcription API
      summary: Submit Audio for Transcription
      description: >-
        Submit an audio file for transcription. Pass the pre-signed download URL
        returned by complete-upload. Transcription runs asynchronously — use the
        returned `transcription_id` to poll for results.
      operationId: createTranscription
      parameters:
        - $ref: '#/components/parameters/jsonContentType'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TranscriptionRequest'
            example:
              file_url: <DownloadUrl from file upload>
              params:
                transcribe:
                  language: auto
                  model: plaud-fast-whisper
                vad:
                  decode_silence: false
                diarization:
                  enabled: false
                  return_embedding: false
      responses:
        '200':
          description: Transcription task accepted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TranscriptionCreatedResponse'
              example:
                transcription_id: task_exec_xxx
                status: PENDING
                data: {}
      security:
        - clientId: []
          clientApiKey: []
components:
  parameters:
    jsonContentType:
      in: header
      name: Content-Type
      schema:
        type: string
        default: application/json
      required: true
  schemas:
    TranscriptionRequest:
      type: object
      required:
        - file_url
      properties:
        file_url:
          type: string
          description: Pre-signed download URL returned by complete-upload (M4A, MP3, WAV).
        params:
          type: object
          description: Optional transcription parameters.
          properties:
            transcribe:
              type: object
              properties:
                language:
                  type: string
                  description: BCP-47 code (en-US, zh-CN, auto); defaults to auto.
                  default: auto
                model:
                  type: string
                  description: >-
                    Transcription model. Options include "plaud-fast-whisper",
                    "plaud-omni-3", and "azure-fast-transcribe"
                  default: plaud-fast-whisper
                detection_level:
                  type: string
                  description: Language identification level ("segment" or "chapter").
                  default: segment
            vad:
              type: object
              properties:
                decode_silence:
                  type: boolean
                  description: Whether to decode silent regions.
                  default: false
            diarization:
              type: object
              properties:
                enabled:
                  type: boolean
                  description: Identify and label speakers.
                  default: false
                return_embedding:
                  type: boolean
                  description: Return speaker embedding vectors.
                  default: false
    TranscriptionCreatedResponse:
      type: object
      properties:
        transcription_id:
          type: string
          description: Identifier used to poll for results.
          example: task_exec_xxx
        status:
          $ref: '#/components/schemas/TranscriptionStatus'
        data:
          type: object
          description: Empty until the transcription completes.
    TranscriptionStatus:
      type: string
      description: >-
        `PENDING`, `RECEIVED`, `STARTED`, `PROGRESS` indicate the task is in
        progress — keep polling. `SUCCESS` means the data is ready. `FAILURE`
        and `REVOKED` are terminal failures.
      enum:
        - PENDING
        - RECEIVED
        - STARTED
        - PROGRESS
        - SUCCESS
        - FAILURE
        - REVOKED
      example: PENDING
  securitySchemes:
    clientId:
      type: apiKey
      in: header
      name: X-Client-Id
      description: Your `client_id`, issued in the Portal.
    clientApiKey:
      type: apiKey
      in: header
      name: X-Client-Api-Key
      description: >-
        Your `api_key`, issued alongside `client_id` / `secret_key` in the
        Portal.

````