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

# Search transcriptions by text

> Searches through loaded speech transcriptions for segments containing the query string.
Uses case-insensitive substring matching. Transcriptions must be loaded into memory first
(via `/analysis-data/load` or `/analysis-data/load-transcriptions`).
Optionally filter to transcript segments assigned to a named speaker by passing
`speaker` or `speaker_name`. Speaker filtering uses transcript speaker names,
not face-clustering person names.




## OpenAPI

````yaml /api-reference/openapi-v1.yaml post /search/transcript
openapi: 3.0.3
info:
  title: Jumper Public API
  version: '1.0'
  description: >
    REST API for third-party integrations with Jumper's media analysis engine.


    Jumper analyzes video, image, and audio files — enabling semantic visual
    search,

    speech transcription, and face detection with clustering.

    This API exposes those capabilities for use by MAM systems, automation
    pipelines,

    and custom tooling.


    ## Authentication


    All endpoints except `/health` require a **Jumper Pro** license key.

    The OpenAPI contract models the supported `X-License-Key` header flow.


    Jumper also accepts a `license_key` field in many JSON POST bodies as a

    convenience, but that is a Jumper-specific request-body convention rather

    than an OpenAPI security scheme.


    Invalid or missing keys return `401`. Non-Pro keys return `403`.


    ## Key Concepts


    - **`cache_dir`** — The folder where Jumper stores analysis data (visual
    analysis, transcriptions, face clusters). You choose this path.

    - **`media_paths`** — Absolute filesystem paths to media files. Jumper needs
    direct access to these files.

    - **`hash_str`** — A CRC32-based hash that uniquely identifies a media file.
    Returned by the metadata endpoint.

    - **`model_key`** — Internal identifier for a visual or speech analysis
    model variant (e.g. `v2-medium-256`).
  contact:
    name: Jumper
    url: https://getjumper.io
servers:
  - url: http://localhost:6699/api/v1
    description: Local Jumper backend
security:
  - HeaderAuth: []
paths:
  /search/transcript:
    post:
      tags:
        - Search
      summary: Search transcriptions by text
      description: >
        Searches through loaded speech transcriptions for segments containing
        the query string.

        Uses case-insensitive substring matching. Transcriptions must be loaded
        into memory first

        (via `/analysis-data/load` or `/analysis-data/load-transcriptions`).

        Optionally filter to transcript segments assigned to a named speaker by
        passing

        `speaker` or `speaker_name`. Speaker filtering uses transcript speaker
        names,

        not face-clustering person names.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - query
                - cache_dir
              properties:
                query:
                  type: string
                  description: Text to search for (case-insensitive substring match)
                  example: hello world
                cache_dir:
                  type: string
                max_results:
                  type: integer
                  default: 50
                media_paths:
                  type: array
                  items:
                    type: string
                  description: >-
                    Restrict search to these files (ignored if search_all is
                    true)
                search_all:
                  type: boolean
                  default: true
                  description: Search across all loaded transcriptions
                speaker:
                  type: string
                  description: >-
                    Optional named transcript speaker to search within. Matches
                    speaker display names assigned in transcript speaker
                    metadata.
                  example: Anna
                speaker_name:
                  type: string
                  description: Alias for `speaker`.
                  example: Anna
      responses:
        '200':
          description: Matching transcript segments
          content:
            application/json:
              schema:
                type: object
                properties:
                  matches:
                    type: array
                    items:
                      type: object
                      required:
                        - hash_str
                        - start_seconds
                        - end_seconds
                        - text
                        - start_timestamp
                        - end_timestamp
                      properties:
                        media_path:
                          type: string
                          description: >-
                            Absolute path to the media file (may be absent if
                            path could not be resolved)
                        hash_str:
                          type: string
                        start_seconds:
                          type: number
                        end_seconds:
                          type: number
                        text:
                          type: string
                        start_timestamp:
                          type: string
                          description: Formatted as HH:MM:SS
                        end_timestamp:
                          type: string
                          description: Formatted as HH:MM:SS
                        speaker:
                          type: string
                          description: >-
                            Transcript-local speaker ID for the matched segment,
                            when available.
                          example: SPEAKER_00
                        speaker_name:
                          type: string
                          description: >-
                            Display name for the matched speaker, when
                            available.
                          example: Anna
                        speakers:
                          type: array
                          items:
                            type: string
                          description: >-
                            All transcript-local speaker IDs assigned to the
                            matched segment, when multiple speakers are present.
components:
  securitySchemes:
    HeaderAuth:
      type: apiKey
      in: header
      name: X-License-Key
      description: Jumper Pro license key passed via header

````