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

# Get Transcription Result

> Retrieve a transcription by its UUID using the same account’s API key. Fields are returned at the top level (no audio wrapper). Poll every 15–30 seconds while processing. transcription_status: done means complete, including no-speech results with empty content; failed means stop. Older records can have content without a status.

Send `{ "audio_id": "YOUR_AUDIO_UUID" }` with the same account's API key used to create the transcription. The response fields are at the top level: read `content` and `transcription_status`, rather than `audio.content`.

| Status            | Meaning                                                            |
| ----------------- | ------------------------------------------------------------------ |
| `processing`      | Still running; check again in 15–30 seconds.                       |
| `done`            | Complete, including recordings with no speech and empty content.   |
| `failed`          | Processing failed; stop polling.                                   |
| Missing or `null` | Older record; non-empty content indicates an available transcript. |

See the [complete polling example](/docs/api-reference/endpoint/create-transcription#step-2-poll-for-results). Retain the UUID on timeout. HTTP 404 means the record is unavailable to this account.


## OpenAPI

````yaml POST /api/audios
openapi: 3.0.1
info:
  title: Easy-Peasy.AI API
  description: >-
    API for Easy-Peasy.AI text, image, video, audio, and chat features.
    Authenticate with an API key from https://easy-peasy.ai/settings/api.
    Individual endpoints document public access and alternative authentication
    methods.
  version: 1.0.5
servers:
  - url: https://easy-peasy.ai
security:
  - apiKeyAuth: []
paths:
  /api/audios:
    post:
      summary: Get Transcription Result
      description: >-
        Retrieve a transcription by its UUID using the same account’s API key.
        Fields are returned at the top level (no audio wrapper). Poll every
        15–30 seconds while processing. transcription_status: done means
        complete, including no-speech results with empty content; failed means
        stop. Older records can have content without a status.
      operationId: getTranscriptionResult
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetAudioRequest'
      responses:
        '200':
          description: Audio transcription data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAudioResponse'
              examples:
                processing:
                  summary: Transcription still processing
                  value:
                    uuid: 4bc4e8ee-f29e-4a53-996e-5da955c42927
                    name: Team Meeting
                    content: ''
                    created_at: '2025-01-15T10:30:00.000Z'
                    segments: []
                    audio_type: Meeting
                    language: English
                    transcription_status: processing
                completed:
                  summary: Transcription complete
                  value:
                    uuid: 4bc4e8ee-f29e-4a53-996e-5da955c42927
                    name: Team Meeting
                    content: >-
                      Speaker 1: Good morning everyone. Let's start with the
                      project update...
                    created_at: '2025-01-15T10:30:00.000Z'
                    segments:
                      - start: '0.00'
                        end: '3.50'
                        text: Good morning everyone.
                        speaker: Speaker 1
                    audio_type: Meeting
                    language: English
                    transcription_status: done
        '400':
          description: Missing audio_id.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                error: Invalid API key
        '404':
          description: Audio not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                error: Audio not found
        '500':
          description: Could not check transcription status.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    GetAudioRequest:
      type: object
      required:
        - audio_id
      properties:
        audio_id:
          type: string
          description: >-
            The UUID of the audio transcription (returned from Create
            Transcription)
          example: 4bc4e8ee-f29e-4a53-996e-5da955c42927
    GetAudioResponse:
      type: object
      properties:
        uuid:
          type: string
          description: Audio identifier
        name:
          type: string
          description: Audio name
        content:
          type: string
          description: >-
            Transcript text. Can be empty or null while processing, or empty
            after a completed no-speech transcription. Check
            transcription_status.
          nullable: true
        created_at:
          type: string
          format: date-time
          description: Creation timestamp
        segments:
          type: array
          description: Timestamped segments with optional speaker detection
          items:
            type: object
            properties:
              start:
                oneOf:
                  - type: number
                  - type: string
                description: >-
                  Start timestamp from the transcription engine. Numeric
                  representation can vary by provider.
              end:
                oneOf:
                  - type: number
                  - type: string
                description: >-
                  End timestamp from the transcription engine. Numeric
                  representation can vary by provider.
              text:
                type: string
                description: Segment text
              speaker:
                type: string
                description: Speaker label (if speaker detection was enabled)
          nullable: true
        summary:
          type: string
          nullable: true
          description: AI-generated summary (if generated)
        audio_type:
          type: string
          description: Type of audio
        language:
          type: string
          description: Detected language
        title:
          type: string
          nullable: true
          description: AI-generated title (if generated)
        description:
          type: string
          nullable: true
          description: AI-generated description (if generated)
        keywords:
          type: string
          nullable: true
          description: AI-generated keywords (if generated)
        action_items:
          type: string
          nullable: true
          description: AI-generated action items (Meeting type, if generated)
        show_notes:
          type: string
          nullable: true
          description: AI-generated show notes (Podcast type, if generated)
        timestamped_overview:
          type: string
          nullable: true
          description: AI-generated timestamped overview (if generated)
        topics_and_bullets:
          type: string
          nullable: true
          description: AI-generated topics and bullets (if generated)
        linkedin_post:
          type: string
          nullable: true
          description: AI-generated LinkedIn post (if generated)
        transcription_status:
          type: string
          nullable: true
          enum:
            - processing
            - done
            - failed
            - null
          description: >-
            Job lifecycle. done is complete even if content is empty; failed is
            terminal. Older records may have no status.
      description: >-
        API-key responses return these fields directly, without an audio
        wrapper.
    Error:
      type: object
      properties:
        error:
          oneOf:
            - type: string
            - type: object
              properties:
                message:
                  type: string
                status:
                  type: integer
          description: >-
            Error text, or an object with message and optional status for some
            provider integrations.
          example: Invalid API key
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        API key for authentication. Get yours at
        https://easy-peasy.ai/settings/api

````