> ## 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.

# Get metadata for media files

> Returns properties (duration, FPS, timecode) and analysis status for each media file.
Use this to check which files have been analyzed and to get their `hash_str` identifiers.




## OpenAPI

````yaml /api-reference/openapi-v1.yaml post /media/metadata
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:
  /media/metadata:
    post:
      tags:
        - Media
      summary: Get metadata for media files
      description: >
        Returns properties (duration, FPS, timecode) and analysis status for
        each media file.

        Use this to check which files have been analyzed and to get their
        `hash_str` identifiers.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - cache_dir
                - media_paths
              properties:
                cache_dir:
                  type: string
                  description: Path to the analysis data folder
                media_paths:
                  type: array
                  items:
                    type: string
                  description: Absolute paths to media files
      responses:
        '200':
          description: Metadata keyed by file path
          content:
            application/json:
              schema:
                type: object
                properties:
                  media_properties:
                    $ref: '#/components/schemas/MediaProperties'
        '400':
          description: Invalid input
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    MediaProperties:
      type: object
      additionalProperties:
        type: object
        properties:
          video_cached:
            type: boolean
            description: Whether visual analysis data exists for this file
          audio_cached:
            type: boolean
            description: Whether transcription data exists for this file
          runtime:
            type: string
            nullable: true
            description: Duration as HH:MM:SS
            example: '00:02:30'
          fps:
            type: number
            nullable: true
            description: Frames per second (0 for images and audio)
          media_path:
            type: string
            description: Absolute path to the file
          timecode:
            type: string
            description: Start timecode (HH:MM:SS:FF)
            example: '00:00:00:00'
          hash_str:
            type: string
            description: Unique hash identifying this media file
            example: 1e09e4953de0471b
    Error:
      type: object
      properties:
        error:
          type: string
          description: Error message
      required:
        - error
  securitySchemes:
    HeaderAuth:
      type: apiKey
      in: header
      name: X-License-Key
      description: Jumper Pro license key passed via header

````