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

# Get Video Contents

> The `/videos` endpoint gets the visual and audio transcriptions, video summaries, and metadata for a list of URLs.<br /><br />The system will quickly return results from the cache. For uncached videos, you can configure whether to perform real-time crawling.

<Card horizontal="true" arrow="true" title="Get Your Vizlook API Key" icon="key" href="https://www.vizlook.com/dashboard/api-keys">Sign up and receive \$10 free credit.</Card>


## OpenAPI

````yaml POST /videos
openapi: 3.1.0
info:
  title: Vizlook API
  description: The Vizlook OpenAPI specification
  license:
    name: MIT
  version: 1.0.0
servers:
  - url: https://api.vizlook.com
security:
  - apiKeyAuth: []
paths:
  /videos:
    post:
      description: >-
        The `/search` endpoint lets you intelligently search a list of videos
        that precisely ranked by the most relevant moments found within their
        content.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VideosRequestBody'
        required: true
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VideosResponse'
      x-codeSamples:
        - lang: bash
          source: |-
            curl -X POST 'https://api.vizlook.com/videos' \
              -H 'x-api-key: YOUR_VIZLOOK_API_KEY' \
              -H 'Content-Type: application/json' \
              -d '{
                "urls": [
                  "https://www.youtube.com/watch?v=j5vQ6oXSZpU",
                  "https://www.youtube.com/watch?v=123"
                ],
                "crawlMode": "Fallback",
                "contentOptions": {
                  "includeTranscription": true,
                  "includeSummary": true
                }
              }'
        - lang: python
          source: |-
            # pip install vizlook
            from vizlook import Vizlook

            vizlook = Vizlook(api_key="YOUR_VIZLOOK_API_KEY")

            response = vizlook.get_video_contents(
                [
                    "https://www.youtube.com/watch?v=j5vQ6oXSZpU",
                    "https://www.youtube.com/watch?v=123",
                ],
                crawl_mode="Fallback",
                include_transcription=True,
                include_summary=True,
            )

            print("response with original API field name: ")
            print(response.to_dict())

            print("response with snake case field name: ")
            print(response.to_dict(use_api_field_name=False))

            print("get field value with snake case key from pydantic model: ")
            print(response.results)
        - lang: javascript
          source: |-
            // npm install @vizlook/sdk
            import Vizlook from "@vizlook/sdk";

            const vizlook = new Vizlook({
              apiKey: "YOUR_VIZLOOK_API_KEY",
            });

            const response = await vizlook.getVideoContents(
              [
                "https://www.youtube.com/watch?v=j5vQ6oXSZpU",
                "https://www.youtube.com/watch?v=123",
              ],
              {
                crawlMode: "Fallback",
                includeTranscription: true,
                includeSummary: true,
              }
            );
            console.log("response:", response);
components:
  schemas:
    VideosRequestBody:
      required:
        - urls
      type: object
      properties:
        urls:
          description: >-
            The URLs of the page where the video is located. Currently, only
            YouTube URLs are supported, such as
            `https://www.youtube.com/watch?v=xxxxxx`.
          type: array
          items:
            type: string
          example:
            - https://www.youtube.com/watch?v=j5vQ6oXSZpU
        crawlMode:
          description: >-
            Video crawling strategy, defaults to `Never`.

            `Never`: Get the videos from the cache, no real-time crawling.

            `Fallback`: First, get the videos from the cache; if not available
            in the cache, crawl the videos in real time.

            `Always`: Always crawl the videos in real time.
          type: string
          enum:
            - Never
            - Fallback
            - Always
          example: Fallback
        contentOptions:
          description: Configure what video results include.
          type: object
          properties:
            includeTranscription:
              description: >-
                Whether to include video transcription in the results. When not
                config `contentOptions`, `includeTranscription` will be set as
                true by default.
              type: boolean
              example: true
            includeSummary:
              description: Whether to include video summary in the results.
              type: boolean
              example: true
    VideosResponse:
      type: object
      properties:
        results:
          description: Video results with fetch status.
          type: array
          items:
            $ref: '#/components/schemas/VideoResultItem'
        dollarCost:
          description: Dollar cost of the request.
          type: object
          properties:
            total:
              description: Total dollar cost for your request.
              type: number
              example: 0.104
            breakdown:
              description: Breakdown of costs by operation type.
              type: object
              nullable: true
              properties:
                transcription:
                  description: Cost of your transcription operations.
                  type: number
                  nullable: true
                  example: 0.002
                summary:
                  description: Cost of your summary operations.
                  type: number
                  nullable: true
                  example: 0.002
                crawl:
                  description: Cost of your real-time crawl operations.
                  type: number
                  nullable: true
                  example: 0.1
      example:
        results:
          - data:
              url: https://www.youtube.com/watch?v=j5vQ6oXSZpU
              title: What makes OpenAI's new GPT-5 different from past versions?
              description: >-
                OpenAI on Thursday launched GPT-5, the latest generation of the
                artificial intelligence technology that powers ChatGPT. OpenAI
                said the new model is faster and smarter than ever before.
                Technology journalist Jacob Ward joins CBS News to discuss the
                release.


                CBS News 24/7 is the premier anchored streaming news service
                from CBS News and Stations that is available free to everyone
                with access to the internet and is the destination for breaking
                news, live events, original reporting and storytelling, and
                programs from CBS News and Stations' top anchors and
                correspondents working locally, nationally and around the globe.
                It is available on more than 30 platforms across mobile, desktop
                and connected TVs for free, as well as CBSNews.com and
                Paramount+ and live in 91 countries.
              thumbnail:
                url: https://i.ytimg.com/vi/j5vQ6oXSZpU/sddefault.jpg
                width: 640
                height: 480
              author:
                name: CBS News
                url: https://www.youtube.com/@cbsnews
                avatar: >-
                  https://yt3.ggpht.com/ytc/AIdro_niBFv49gSx4rr1afMZU_Pv7SeuPKO2SMHvv0Ar7OKxM4o=s88-c-k-c0x00ffffff-no-rj
              publishedDate: '2025-08-07T21:07:09.000Z'
              duration: 359
              favicon: >-
                https://www.youtube.com/s/desktop/f788da0a/img/logos/favicon_48x48.png
              transcription:
                videoClips:
                  - startTime: 0
                    endTime: 23
                    visualDescription: >-
                      A male presenter in a dark long-sleeved shirt and jeans
                      stands in a modern, brightly lit office space with plants
                      and wooden accents. He gestures with his hands as he
                      speaks. The background shows a large white screen
                      displaying 'GPT-5'. An inset video then appears, showing a
                      woman looking at a laptop, which displays a 'ChatGPT 5'
                      interface. The interface shows a schedule planning
                      assistant, detailing a day's schedule from coffee with
                      Grant to a flight departure, and includes 'Two quick email
                      actions' and a 'Light packing list'. The woman nods and
                      smiles. Overlapping text on screen announces 'OPENAI
                      RELEASES GPT-5 FIFTH GENERATION OF THE A.I. TECHNOLOGY
                      THAT POWERS CHATGPT'.
                  - startTime: 24
                    endTime: 43
                    visualDescription: >-
                      A male tech journalist, Jacob Ward, wearing a plaid shirt
                      and dark pants, stands opposite a female presenter in a
                      light blue suit. They are on a brightly lit studio set
                      with a large purple background displaying 'CBS NEWS
                      TECHWATCH' in white bold letters with circuit board
                      graphics. The female presenter holds a tablet and gestures
                      while speaking. A smaller screen to the left shows the
                      previous segment with the man presenting in the modern
                      office, and then a graphic that says 'Introducing
                      ChatGPT'.
                audioClips:
                  - startTime: 1
                    endTime: 10
                    transcription: >-
                      Welcome into CBS News 24/7, OpenAI launches GPT-5, it's
                      the latest generation of the artificial intelligence
                      technology that powers ChatGPT.
                    speakerId: speaker_1
                  - startTime: 11
                    endTime: 23
                    transcription: >-
                      OpenAI says the new model is faster and smarter than ever
                      before, it comes more than two years after the release of
                      its predecessor, and expectations are high.
                    speakerId: speaker_1
              summary:
                overallSummary: >-
                  This CBS News Tech Watch segment discusses the release of
                  OpenAI's GPT-5, the fifth generation of the AI technology
                  powering ChatGPT, which is touted as faster and smarter with
                  enhanced reasoning capabilities. Tech journalist Jacob Ward
                  explains how GPT-5 aims to be a universal AI assistant, making
                  its own decisions and even negotiating about potentially
                  harmful uses. The conversation also delves into the immense
                  financial investment in the AI industry, with trillions of
                  dollars being poured into data centers and chips. Ward
                  expresses concerns about the increasing integration of AI into
                  personal lives, citing examples of using GPT for sensitive
                  medical information, and contrasts the companies' push for
                  Artificial General Intelligence with expert opinions that
                  current AI is still a "glorified cut and paste."
                sectionSummaries:
                  - startTime: 0
                    endTime: 23
                    title: 'OpenAI Releases GPT-5: A New Generation of AI'
                    summary: >-
                      CBS News announces the launch of OpenAI's GPT-5, the fifth
                      generation of AI technology behind ChatGPT, highlighting
                      its increased speed and intelligence. The segment features
                      a demonstration of GPT-5's ability to act as a schedule
                      planning assistant, managing appointments, emails, and
                      even travel logistics. Expectations for this new model are
                      reportedly very high within the tech community.
                  - startTime: 24
                    endTime: 107
                    title: >-
                      Understanding GPT-5's Advanced Reasoning and
                      Decision-Making
                    summary: >-
                      Tech journalist Jacob Ward explains that GPT-5 is
                      significantly different from its predecessors, moving
                      beyond mere prediction to incorporate a 'reasoning model'.
                      This allows the AI to make its own decisions about tools
                      and techniques needed for tasks, effectively 'thinking'
                      through problems. Ward also notes GPT-5's improved ability
                      to avoid hallucinations and its capacity to 'negotiate'
                      with users regarding potentially dangerous inquiries,
                      demonstrating a higher level of control and ethical
                      consideration.
            status:
              url: https://www.youtube.com/watch?v=j5vQ6oXSZpU
              status: Success
              isLiveCrawl: false
          - status:
              url: https://www.youtube.com/watch?v=123
              status: Fail
              error:
                type: CRAWL_NOT_FOUND
        dollarCost:
          total: 0.004
          breakdown:
            summary: 0.002
            transcription: 0.002
    VideoResultItem:
      type: object
      properties:
        data:
          description: Video result. `data` is null when `status` is `Fail`.
          type: object
          nullable: true
          properties:
            url:
              description: The video page URL.
              type: string
              example: https://www.youtube.com/watch?v=2FMBSblpcrc
            title:
              description: The video title.
              type: string
              example: How to use one paper towel | Joe Smith | TEDxConcordiaUPortland
            description:
              description: The video description.
              type: string
              example: >-
                R. P. Joe Smith served as a District Attorney in Umatilla County
                and nearly won a race for Oregon Attorney General without taking
                a single contribution over $99.99.
            thumbnail:
              description: The video thumbnail image.
              type: object
              properties:
                url:
                  description: image URL
                  type: string
                  example: https://i.ytimg.com/vi/2FMBSblpcrc/sddefault.jpg
                width:
                  description: image width
                  type: integer
                  example: 640
                height:
                  description: image height
                  type: integer
                  example: 480
            author:
              description: The information of video author.
              type: object
              properties:
                name:
                  description: author name
                  type: string
                  example: TEDx Talks
                url:
                  description: author detail URL
                  type: string
                  nullable: true
                  example: https://www.youtube.com/@tedx
                avatar:
                  description: author avatar URL
                  type: string
                  example: >-
                    https://yt3.ggpht.com/1gDPO-4YPWFErfn3yQBnv0yxpkmiud1m5CrorApkOqUYdNd9FrZQ9xB9C9VmDt4EsgArnlwqAQc=s88-c-k-c0x00ffffff-no-rj
            publishedDate:
              description: Video published date, ISO timestamp string
              type: string
              example: '2012-04-18T04:26:13.000Z'
            duration:
              description: Video duration in seconds
              type: integer
              example: 268
            favicon:
              description: The URL of the favicon for the search result's domain.
              type: string
              example: >-
                https://www.youtube.com/s/desktop/f788da0a/img/logos/favicon_48x48.png
            transcription:
              $ref: '#/components/schemas/Transcription'
            summary:
              $ref: '#/components/schemas/Summary'
        status:
          description: Video fetch status.
          type: object
          properties:
            url:
              description: The video page URL.
              type: string
              example: https://www.youtube.com/watch?v=2FMBSblpcrc
            status:
              type: string
              enum:
                - Success
                - Fail
              example: Success
            error:
              description: Error message when fetch video failed.
              type: object
              nullable: true
              properties:
                type:
                  description: >-
                    Error type, check detail at [Error
                    Codes](/documentation/error-codes#crawl-error-type-for-%2Fvideos)
                    page.
                  type: string
                  enum:
                    - FAILED_TO_PARSE_URL
                    - CACHE_NOT_FOUND
                    - CRAWL_SOURCE_FAIL
                    - CRAWL_NOT_FOUND
                    - CRAWL_VIDEO_DURATION_EXCEEDS_LIMIT
                    - CRAWL_SERVER_ERROR
                    - CRAWL_TIMEOUT
                  example: CRAWL_NOT_FOUND
                message:
                  type: string
                  nullable: true
            isLiveCrawl:
              description: Used to determine whether the video is crawled in real time.
              type: boolean
              nullable: true
              example: true
    Transcription:
      description: >-
        The video transcription with visual and auditory when set
        `contentOptions.includeTranscription` as `true`, otherwise null.
      type: object
      nullable: true
      properties:
        videoClips:
          description: Video clips with visual descriptions.
          type: array
          items:
            $ref: '#/components/schemas/VideoClip'
        audioClips:
          description: Audio clips with transcriptions.
          type: array
          items:
            $ref: '#/components/schemas/AudioClip'
    Summary:
      description: >-
        The video summary when set `contentOptions.includeSummary` as `true`,
        otherwise null.
      type: object
      nullable: true
      properties:
        overallSummary:
          description: Overall summary of the video.
          type: string
          example: >-
            Joe Smith's TEDx talk highlights the significant waste generated by
            paper towel usage, with Americans alone consuming billions of pounds
            annually. He proposes a simple, two-step method, 'Shake and Fold,'
            to dry hands effectively using just one paper towel, significantly
            reducing waste. Smith demonstrates this technique for various
            dispenser types, emphasizing that proper technique can achieve
            superior dryness compared to using multiple sheets. He concludes by
            urging the audience to adopt this method, promising a lifelong
            change in their paper towel habits and noting the substantial
            positive environmental impact.
        sectionSummaries:
          description: Section summaries of the video.
          type: array
          items:
            type: object
            properties:
              startTime:
                description: Start time of the section in seconds.
                type: integer
                example: 0
              endTime:
                description: End time of the section in seconds.
                type: integer
                example: 7
              title:
                description: Title of the section.
                type: string
                example: Introduction to TEDx ConcordiaUPortland
              summary:
                description: Summary of the section.
                type: string
                example: >-
                  The video opens with the TEDx ConcordiaUPortland title card,
                  highlighting its independent organization and theme of
                  'Becoming Extraordinary.' It also credits Unconventional
                  Guides for sharing the content. This segment features
                  introductory music and brief applause, setting the stage for
                  the presentation.
    VideoClip:
      description: The video clip with visual description.
      type: object
      properties:
        startTime:
          description: Start time of the video clip in seconds.
          type: integer
          example: 0
        endTime:
          description: End time of the video clip in seconds.
          type: integer
          example: 7
        visualDescription:
          description: Visual description of the video clip.
          type: string
          example: >-
            The video opens with a grey background featuring the red 'TEDx'
            logo, followed by 'ConcordiaUPortland' in black text. Below it, 'x =
            independently organized TED event' is in smaller red text. The text
            'BECOMING EXTRAORDINARY' appears briefly, then a yellow-green
            rectangular banner with an orange bird icon and the text
            'UNCONVENTIONALGUIDES.COM' fades in. The background gradually
            changes from grey to white and then to a darker shade before
            transitioning to black.
    AudioClip:
      description: The video clip with audio transcription.
      type: object
      properties:
        startTime:
          description: Start time of the video clip in seconds.
          type: integer
          example: 11
        endTime:
          description: End time of the video clip in seconds.
          type: integer
          example: 26
        transcription:
          description: Transcription of the audio clip.
          type: string
          example: >-
            571 million, 230,000 pounds of paper towels are used by Americans
            every year.
        speakerId:
          description: >-
            The speaker ID of the audio clip, such as 'speaker_1'. If the
            speaker is identified, it will be set to the speaker's name.
          type: string
          example: Joe Smith
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      name: x-api-key
      in: header
      description: API key must be provided via `x-api-key` header.

````