Skip to content
Sections: Media

Title

Media

GET/v1.3/titles/{type}/{id}/media

A title’s posters, stills, logos and videos in one list.

Images and videos share one shape. An image has empty youtube_id, preview_url and runtime_sec; a video has empty width and height. URLs are complete: no need to build a link from parts.

A media library can be large: Inception has 485 files. Narrow it down: type=poster&language=en for English posters, class=video for videos only, group=type for sections with their sizes.

The animated poster, poster_gif, is listed as an image but is an mp4 clip of up to 7 MB. Show it in <video autoplay muted loop playsinline> and load it on demand. When there is one, there is only one, and it comes first.

Path parameters

  • typestringrequired

    The catalog the ID comes from: IMDb, Kinopoisk, TMDB (movie or series) or Kinorium.

    imdbkptmdbtmdb_tvkinorium
  • idstringrequired

    The ID in that catalog. IMDb IDs are tt followed by digits (tt1375666); the others are digits (447301).

Query parameters

  • classenum

    Images only or videos only.

    imagevideo
    Default:

    both

  • typeenum

    File type. Images: poster_gif, poster, backdrop, still, cover, logo, promo, backstage, other. Videos: trailer, teaser, tvspot, clip, interview, music_video, behind_scenes, blooper, overview, other. Both have other: add class to pick one. Labels are in /enums, sets image_types and video_kinds.

    Default:

    all

    Example: type=poster
  • languagestring

    The language of the lettering on an image or the audio of a video, an ISO 639-1 code.

    Default:

    all

    Example: language=ru
  • groupenum

    Split the list into sections. none gives a flat list. How sections work is in Lists and pagination.

    typeclasslanguagenone
    Default:

    no sections

  • langru | en

    Keep one language in the response. Without it, text fields come in _ru and _en pairs. More in Response languages.

    Example: lang=en
  • limitinteger

    How many items to return, a whole number from 1. With sections, per section, up to 50. In a flat list, up to 1000. Above the cap isn’t an error: the API lowers it and shows the value in limit.

    Default:

    10 per section, 1000 in a flat list

    Example: limit=20
  • offsetinteger

    How many items to skip, a whole number from 0. Only in a flat list: with sections it returns 400.

    Default:

    0

Response fields

  • itemsarray

    Files. With group, sections with their own total and labels.

    Show 9 fields
    • classenum

      image or video.

    • typeenum

      File type.

      poster_gifposterbackdropstillcoverlogopromobackstageothertrailerteasertvspotclipinterviewmusic_videobehind_scenesblooperoverview
    • urlstring

      File URL. For a video, the player page: YouTube, sometimes VK.

    • languagestring | null

      Language of the lettering or audio, ISO 639-1. null means no language or unknown.

    • width · heightinteger | null

      Image size in pixels. null for a video.

    • youtube_idstring | null

      The YouTube video ID. null for videos hosted elsewhere; open url then.

    • preview_urlstring | null

      Video cover image.

    • runtime_secinteger | null

      Video length in seconds.

  • total · limit · offset · has_more

    Paging, as in every list.

Errors

statuscodewhen
400invalid_request

An unknown class, type or group; offset together with sections; a parameter this list doesn’t understand (such as sort or fields); the response lists the allowed ones.

404not_found

No title found for this ID.

401unauthorized

The X-API-Key header is missing, or the key is unknown or revoked.

429rate_limited

The per-second rate limit or the daily quota is used up.

Every code and what to do about it is on the Errors page.

Esc

Loading the index…

    ↑ ↓ to selectEnter to openEsc to close