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

# inspect media

> Look at media, or ask a model about it: a library item, or a picture or video at a web address (urls) read without keeping it. An image returns the picture with its dimensions. A video returns frames: overview (one storyboard grid of the whole file, default), window (a grid of one span), frame (one moment), strip (one span as frames with the waveform and words under them), or shot_log (every segment in order with its span, frame, spoken lines and a written line each; cloud only, one video). spoken adds the sentences in the span where the file has a transcript; cuts: true adds every shot change and shot length once the video is indexed. Audio returns its transcript sentences. prompt, on one video or audio file, has a model watch or listen and answer the question (motion, sound, timing, when a thing happens), with the moments the answer rests on as seconds; cloud only, not for stills. Up to 12 refs or urls a call; one that cannot be read comes back as its own error. Cached. inspect_timeline reads the composite. Free to look; cuts on an unindexed video, shot_log and prompt use cloud processing.



## OpenAPI

````yaml /openapi.json post /tools/inspect_media
openapi: 3.1.0
info:
  title: Eversince API
  version: '1'
  description: >-
    Every Eversince tool as one POST call, plus the routes beside them: the tool
    list, account and keys, uploads, webhooks and models. The prose is at
    https://docs.eversince.ai.
servers:
  - url: https://eversince.ai/api/v1
security:
  - bearer: []
tags:
  - name: Discovery
    description: The tool list, the same on the MCP server, the REST API and the CLI.
  - name: Workspace
    description: Jobs, balances, settings, templates, skills and the overview.
  - name: Library
    description: >-
      Items, search, import, reading media, comments, boards, calendars, the
      brand kit and public links.
  - name: Timeline
    description: 'Video editing: timelines, clips, captions, sound, language and rendering.'
  - name: Canvas
    description: 'Still editing: canvases, slides, layers and rendering.'
  - name: Generation
    description: Image, video and audio generation, upscaling, cutouts and models.
  - name: Research
    description: 'What platforms publish: pulling and keeping posts.'
  - name: Account
    description: Balances, keys, workspaces and script sessions.
  - name: Uploads
    description: Files into the library by presigned upload or by URL.
  - name: Webhooks
    description: Job results posted to a URL as they complete.
  - name: Models
    description: Generation models and cost estimates.
paths:
  /tools/inspect_media:
    post:
      tags:
        - Library
      summary: inspect media
      description: >-
        Look at media, or ask a model about it: a library item, or a picture or
        video at a web address (urls) read without keeping it. An image returns
        the picture with its dimensions. A video returns frames: overview (one
        storyboard grid of the whole file, default), window (a grid of one
        span), frame (one moment), strip (one span as frames with the waveform
        and words under them), or shot_log (every segment in order with its
        span, frame, spoken lines and a written line each; cloud only, one
        video). spoken adds the sentences in the span where the file has a
        transcript; cuts: true adds every shot change and shot length once the
        video is indexed. Audio returns its transcript sentences. prompt, on one
        video or audio file, has a model watch or listen and answer the question
        (motion, sound, timing, when a thing happens), with the moments the
        answer rests on as seconds; cloud only, not for stills. Up to 12 refs or
        urls a call; one that cannot be read comes back as its own error.
        Cached. inspect_timeline reads the composite. Free to look; cuts on an
        unindexed video, shot_log and prompt use cloud processing.
      operationId: inspect_media
      parameters:
        - $ref: '#/components/parameters/IdempotencyKey'
        - $ref: '#/components/parameters/WorkspaceId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                ref:
                  description: A library item ref. One of ref, refs or urls.
                  type: string
                refs:
                  description: >-
                    Up to 12 library item refs, read in one call. Every ref gets
                    the same mode, window and at. One that cannot be read comes
                    back as { ref, error } beside the rest rather than failing
                    the call.
                  minItems: 1
                  maxItems: 12
                  type: array
                  items:
                    type: string
                urls:
                  description: >-
                    Up to 12 web addresses of pictures or videos, read without
                    keeping them: the media a pull returned, say. The same modes
                    as refs; twelve in all with refs. One that cannot be read
                    comes back as { url, error }.
                  minItems: 1
                  maxItems: 12
                  type: array
                  items:
                    type: string
                    format: uri
                mode:
                  description: >-
                    Video only. overview = whole-video storyboard grid
                    (default); window = zoom into a span; frame = one exact
                    moment; strip = one span (up to 60 s) as frames, waveform
                    and words in one picture.
                  type: string
                  enum:
                    - overview
                    - window
                    - frame
                    - strip
                    - shot_log
                window:
                  description: 'window and strip modes: {start, end} in seconds.'
                  type: object
                  properties:
                    start:
                      type: number
                      minimum: 0
                    end:
                      type: number
                      minimum: 0
                  required:
                    - start
                    - end
                at:
                  description: 'frame mode: timestamp in seconds.'
                  type: number
                  minimum: 0
                grid:
                  description: >-
                    An image or a single video frame (frame mode) comes back
                    ruled in tenths, 0 to 1 each way, so a point read off it is
                    the x and y that edit_points on generate_image and
                    generate_video take.
                  type: boolean
                cuts:
                  description: >-
                    Video only: every shot change and shot length. Free once the
                    video is indexed; otherwise the file is read through on
                    cloud processing.
                  type: boolean
                prompt:
                  description: >-
                    A question for a model to answer about one video or audio
                    file: motion, sound, timing, how type enters, when a thing
                    happens. The answer comes back with the moments it rests on
                    as seconds. Not for stills; one ref or url with it.
                  type: string
                  minLength: 1
                  maxLength: 4000
      responses:
        '200':
          description: >-
            Done, or a job started for work that runs longer (follow it with
            get_jobs).
          content:
            application/json:
              schema:
                type: object
                required:
                  - ok
                  - data
                  - meta
                properties:
                  ok:
                    const: true
                  data:
                    type: object
                    additionalProperties: true
                  meta:
                    type: object
                    properties:
                      request_id:
                        type: string
                      cost:
                        $ref: '#/components/schemas/Cost'
                      cloud_processing:
                        $ref: '#/components/schemas/CloudProcessing'
                  media:
                    type: array
                    items:
                      type: object
                      additionalProperties: true
        default:
          $ref: '#/components/responses/Error'
components:
  parameters:
    IdempotencyKey:
      name: Idempotency-Key
      in: header
      required: false
      schema:
        type: string
      description: >-
        Retry a paid dispatch safely: the same key returns the job already
        dispatched instead of charging again.
    WorkspaceId:
      name: x-workspace-id
      in: header
      required: false
      schema:
        type: string
      description: The workspace this one call acts in, when it is not the key's own.
  schemas:
    Cost:
      type: object
      description: AI credits the call cost.
      additionalProperties: true
    CloudProcessing:
      type: object
      description: Cloud processing the call used, and what is left.
      properties:
        ran_on:
          const: cloud
        minutes:
          type: number
        queued_minutes:
          type: number
        left_minutes:
          type: number
        bought_minutes:
          type: number
        note:
          type: string
    Error:
      type: object
      required:
        - ok
        - error
      properties:
        ok:
          const: false
        error:
          type: object
          required:
            - code
            - message
            - retryable
          properties:
            code:
              type: string
            message:
              type: string
              description: What went wrong, in words to act on.
            retryable:
              type: boolean
            suggested_action:
              type: string
              description: The next step that works.
            cloud_processing:
              $ref: '#/components/schemas/CloudProcessing'
  responses:
    Error:
      description: The call was refused or failed.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    bearer:
      type: http
      scheme: bearer
      description: >-
        An API key (es_live_…) from Settings, under API keys, or an OAuth access
        token.

````