# API trailerů filmů

> API trailerů filmů je GET /3/movie/{movie_id}/videos na api.amodb.dev. Každé video nese typ, příznak official, jazyk a datum zveřejnění, takže oficiální trailer vyberete jedním průchodem. Seriály vracejí stejný tvar a seznam si seřadíte vlastním kódem. Cesty a JSON odpovídají TMDB v3, takže stávající klienti fungují po změně základní URL.

## Získání oficiálního traileru filmu

`GET /3/movie/{movie_id}/videos` vrací všechna videa připojená k filmu. Každá položka má `type`, příznak `official`, kód jazyka, časové razítko `published_at` a `site` a `key`, které video identifikují. Ponechte položky, kde `type` je `Trailer` a `official` je `true`, a trailer máte.

Dostanete seznam záznamů videí, které si můžete sami seřadit, ne stream. Odpověď pojmenuje video a řekne, kde leží, a vaše stránka sestaví přehrávač ze `site` a `key`. Stejný tvar se vrací u seriálů. Cesty sezón a epizod odpovídají prázdným seznamem.

## Jaká data dostanete

| Endpoint                                                                   | Vrací                                                                    |
| -------------------------------------------------------------------------- | ------------------------------------------------------------------------ |
| `GET /3/movie/{movie_id}/videos`                                           | Trailery, teasery, klipy, featurety, záběry ze zákulisí a bloopery filmu |
| `GET /3/tv/{tv_id}/videos`                                                 | Stejný seznam pro seriál                                                 |
| `GET /3/tv/{tv_id}/season/{season_number}/videos`                          | Vždy prázdný seznam `results`                                            |
| `GET /3/tv/{tv_id}/season/{season_number}/episode/{episode_number}/videos` | Vždy prázdný seznam `results`                                            |
| `GET /3/movie/{movie_id}` s `append_to_response=videos`                    | Detaily a videa v jednom požadavku                                       |

Pole každého videa:

| Pole                      | Typ     | Použití                                                                                                                     |
| ------------------------- | ------- | --------------------------------------------------------------------------------------------------------------------------- |
| `type`                    | string  | Druh videa: `Trailer`, `Teaser`, `Clip`, `Featurette`, `Behind the Scenes` nebo `Bloopers`, jak je uvedeno na stránce videí |
| `official`                | boolean | `true`, když je video označeno jako oficiální                                                                               |
| `iso_639_1`, `iso_3166_1` | string  | Kódy jazyka a země videa                                                                                                    |
| `key`, `site`             | string  | Identifikátor videa a název webu, který jej hostuje, `YouTube` u všech dosud viděných videí                                 |
| `size`                    | integer | Svislé rozlišení, `1080` u všech dosud viděných videí                                                                       |
| `published_at`            | string  | Časové razítko ISO 8601, vhodné pro řazení od nejnovějších                                                                  |
| `name`, `id`              | string  | Název videa a jeho ID, což je stejný řetězec jako `key`                                                                     |

## Začněte ve 3 krocích

1. Vyberte tarif na stránce [ceník](https://amodb.dev/cs/pricing/). Každý tarif vrací všechna data, takže vybíráte podle počtu požadavků za minutu.
2. Vytvořte klíč v panelu účtu. Má 32 malých hexadecimálních znaků.
3. Zavolejte `GET /3/movie/{movie_id}/videos` s klíčem v `api_key` nebo v hlavičce `Authorization: Bearer`.

## Příklad požadavku

Ukázka si vyžádá videa filmu Inception (ID `27205`), seřadí je v kódu a vypíše to nejlepší. Řazení dává na první místo shodu jazyka, pak `Trailer` před `Teaser`, pak oficiální před neoficiálním a nakonec nejnovější `published_at`.

```bash
curl -s "https://api.amodb.dev/3/movie/27205/videos" \
  -H "Authorization: Bearer $AMODB_KEY"
```

```js
const BASE = 'https://api.amodb.dev/3';
const headers = { Authorization: `Bearer ${process.env.AMODB_KEY}` };
const TYPE_RANK = { Trailer: 0, Teaser: 2 };

function rank(video, lang) {
  const language = video.iso_639_1 === lang ? 0 : 10;
  const type = TYPE_RANK[video.type] ?? 4;
  return language + type + (video.official ? 0 : 1);
}

async function pickTrailer(movieId, lang = 'en') {
  const res = await fetch(`${BASE}/movie/${movieId}/videos`, { headers });
  if (!res.ok) throw new Error(`amodb returned ${res.status}`);
  const { results } = await res.json();
  results.sort(
    (a, b) => rank(a, lang) - rank(b, lang) || (b.published_at || '').localeCompare(a.published_at || ''),
  );
  return results[0] ?? null;
}

const trailer = await pickTrailer(27205, 'en');
console.log(trailer ? `${trailer.name}: ${trailer.site} ${trailer.key}` : 'no video found');
```

Zkrácená odpověď: první 2 ze 42 videí. Seznam obsahuje všechny jazyky.

```json
{
  "id": 27205,
  "results": [
    {
      "iso_639_1": "en",
      "iso_3166_1": "US",
      "name": "The Dream Sequence",
      "key": "mpj9dL7swwk",
      "site": "YouTube",
      "size": 1080,
      "type": "Clip",
      "official": true,
      "published_at": "2022-03-09T01:00:20Z",
      "id": "mpj9dL7swwk"
    },
    {
      "iso_639_1": "en",
      "iso_3166_1": "US",
      "name": "35mm Theatrical Trailer #3",
      "key": "cdx31ak4KbQ",
      "site": "YouTube",
      "size": 1080,
      "type": "Trailer",
      "official": false,
      "published_at": "2022-03-07T06:00:19Z",
      "id": "cdx31ak4KbQ"
    }
  ]
}
```

## Výběr videa k přehrání

Titul má často několik oficiálních trailerů (první oznámení, finální sestřih) vedle teaserů a klipů. Řaďte je pevným pořadím, aby se na místě traileru nikdy neocitl sestřih chyb z natáčení.

| Priorita  | Filtr                              | Typické použití                                                 |
| --------- | ---------------------------------- | --------------------------------------------------------------- |
| 1         | `Trailer`, oficiální, shoda jazyka | Video k přehrání                                                |
| 2         | `Trailer`, neoficiální             | Regionální nebo fanouškovská nahrání, když neexistuje oficiální |
| 3         | `Teaser`, oficiální                | Krátké spoty před premiérou                                     |
| 4         | `Clip`, `Featurette`               | Záloha, aby místo nezůstalo prázdné                             |
| přeskočit | `Behind the Scenes`, `Bloopers`    | Zobrazte v samostatném seznamu bonusů                           |

Shody řaďte podle `published_at`. Od nejnovějších dostanete nejnovější sestřih, od nejstarších první oznámení.

## Jazyky trailerů

Videa jsou označena jazykem přes `iso_639_1` a jeden titul může mít trailery v několika. Inception má 42 videí v 9 jazycích. amodb je vrací všechna v jedné odpovědi. Parametry `language` a `include_video_language` na endpointech videí nemají žádný účinek, jazyk proto vybírejte ve svém kódu.

| Krok | Co dělat                                                                      |
| ---- | ----------------------------------------------------------------------------- |
| 1    | Ponechte videa, jejichž `iso_639_1` odpovídá vašemu uživateli, například `ru` |
| 2    | Pokud žádné neodpovídá, ponechte `en`                                         |
| 3    | Pokud žádné neodpovídá, ponechte zbytek                                       |

V každém kroku řaďte podle typu a příznaku `official` jako v ukázce. Jazyky videí se řídí nahráním, ne 14 jazyky rozhraní uvedenými na stránce [jazyky](https://amodb.dev/cs/languages/), takže trailer může být `cs` nebo `he`.

## Trailery seriálů

Trailer seriálu leží na `/3/tv/1396/videos` (Breaking Bad), kde je 9 trailerů. Funkce řazení výše funguje beze změny, protože pole se nemění. Cesty sezón a epizod jako `/3/tv/1396/season/1/videos` odpovídají 200 s prázdným seznamem `results`, čtěte proto seznam seriálu. Úplný seznam cest viz [videa a trailery](https://amodb.dev/cs/videos-trailers/).

## Sestavení pásu s trailery

Pás aktuálně uváděných filmů potřebuje jedno volání seznamu a jedno volání na titul: `GET /3/movie/now_playing` (viz [trendy a seznamy](https://amodb.dev/cs/trending-lists/)) plus deset volání videí dává 11 požadavků na deset titulů. Vybraný `key` ukládejte vedle ID filmu. Trailery se mění zřídka, uložený výběr proto obnovujte každých několik hodin nebo když se titul znovu uvádí.

## Jak si stojí v porovnání

| Schopnost         | Scrapování stránek vlastními silami | Metadata API s bezplatným tarifem  | amodb                                                                  |
| ----------------- | ----------------------------------- | ---------------------------------- | ---------------------------------------------------------------------- |
| Příznak official  | Odhad podle názvu stránky           | Podívejte se do jejich dokumentace | Boolean `official` u každého videa                                     |
| Filtr typu videa  | Parsovat text                       | Podívejte se do jejich dokumentace | Šest hodnot `type`                                                     |
| Volba jazyka      | Jedna lokalizace na stránku         | Podívejte se do jejich dokumentace | `iso_639_1` a `iso_3166_1` u každého videa, filtrujte ve svém kódu     |
| Seriály a epizody | Samostatné stránky k procházení     | Podívejte se do jejich dokumentace | Seriály používají stejný endpoint, seznamy sezón a epizod jsou prázdné |
| Údržba            | Rozbije se při změně značek         | Záleží na poskytovateli            | Jeden stabilní tvar JSON                                               |
| Podmínky          | Riziko nesete vy                    | Ověřte si jejich podmínky          | Placené tarify, viz [ceník](https://amodb.dev/cs/pricing/)             |

## Ceník

Tarify jsou předplacené. Kupujete 1, 3, 6, 12 nebo 24 měsíců a u delších období dostanete slevu 0, 10, 20, 30 nebo 40 procent. Nic se neobnovuje samo. Tarify s 20, 40 a 120 požadavky za minutu obsluhují všechny endpointy na této stránce, takže vytížený pás s trailery je jen otázka rychlosti. Bezplatný tarif ani zkušební verze neexistují. Porovnejte tarify na stránce [ceník](https://amodb.dev/cs/pricing/).

## Otázky a odpovědi

### Jak získám oficiální trailer filmu?

Zavolejte GET /3/movie/{movie_id}/videos, ponechte položky, kde type je Trailer a official je true, a seřaďte je podle published_at. První položka je nejnovější oficiální trailer. Pokud trailer neexistuje, použijte Teaser.

### Vrací API videosoubor nebo stream?

Ne. Vrací metadata každého videa: name, type, site, key, size, language a data. Odkaz na přehrávač sestavíte ze site a key, nebo video vložíte na vlastní stránku. Plakáty a záběry pocházejí z img.amodb.dev.

### Jak získám trailery ve svém jazyce?

Endpoint videos vrací všechny jazyky v jedné odpovědi a ignoruje parametry language a include_video_language. Filtrujte podle iso_639_1 ve svém kódu, například nejdřív ru, potom en, potom zbytek. Inception má videa v 9 jazycích.

### Mohu získat trailery seriálů a epizod?

U seriálů ano: použijte /3/tv/{tv_id}/videos. Pole jsou stejná, takže kód řazení napsaný pro filmy funguje beze změny. Cesty videí sezón a epizod odpovídají prázdným polem results, použijte proto seznam seriálu.

### Kolik požadavků spotřebuje vyhledání traileru?

Jeden požadavek na titul. S append_to_response=videos přijde trailer uvnitř volání detailů, takže detaily plus trailer jsou stále jeden požadavek z vašich 20, 40 nebo 120 požadavků za minutu.

## Související stránky

- [API videí a trailerů](https://amodb.dev/cs/videos-trailers/): API videí filmů s cestami TMDB v3: vypište trailery, teasery, klipy a featurety filmu nebo seriálu a pak filtrujte podle typu a jazyka ve svém kódu.
- [API detailu filmu](https://amodb.dev/cs/movies/): API detailu filmu se stejnými cestami a JSON jako TMDB v3. Načtěte film podle ID, přidejte obsazení, hodnocení a nálady přes append_to_response, 14 jazyků.
- [API detailu seriálu](https://amodb.dev/cs/tv-series/): API detailu seriálu se stejnými cestami a JSON jako TMDB v3. Seriál podle ID se sezónami, sítěmi, věkovým hodnocením a poskytovateli streamování.
- [Trendy a seznamy](https://amodb.dev/cs/trending-lists/): API trendů filmů s cestami TMDB v3: denní a týdenní žebříčky a seznamy now playing, popular, top rated a upcoming pro filmy a seriály, cachované 30 minut.
- [Jazyky](https://amodb.dev/cs/languages/): amodb vrací názvy, popisy a jména ve 14 jazycích. Do language předejte tag ve stylu TMDB, např. ru-RU nebo pt-BR; jakýkoli jiný tag použije angličtinu.
- [Rychlý start](https://amodb.dev/cs/quickstart/): První volání amodb: získejte klíč, vyžádejte detail filmu v curl, JavaScriptu, Pythonu, PHP nebo Go a načtěte plakát z img.amodb.dev. Za méně než 2 minuty.

Aktualizováno: 2026-10-18. Source: https://amodb.dev/cs/movie-trailer-api/
