Získání oficiálního traileru filmu
GET / 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 / | Trailery, teasery, klipy, featurety, záběry ze zákulisí a bloopery filmu |
GET / | Stejný seznam pro seriál |
GET / | Vždy prázdný seznam results |
GET / | Vždy prázdný seznam results |
GET / s append_ | 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
- Vyberte tarif na stránce ceník. Každý tarif vrací všechna data, takže vybíráte podle počtu požadavků za minutu.
- Vytvořte klíč v panelu účtu. Má 32 malých hexadecimálních znaků.
- Zavolejte
GET /s klíčem v3/ movie/ {movie_ id}/ videos api_keynebo v hlavičceAuthorization: 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.
curl -s "https://api.amodb.dev/3/movie/27205/videos" \
-H "Authorization: Bearer $AMODB_KEY"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.
{
"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, 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 / odpovídají 200 s prázdným seznamem results, čtěte proto seznam seriálu. Úplný seznam cest viz videa a trailery.
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 / (viz trendy a seznamy) 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 |
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.