Вземане на официалния трейлър на филм
GET / връща всяко видео, прикачено към филм. Всеки елемент има type, флаг official, езиков код, времеви печат published_at, както и site и key, които идентифицират видеото. Запазете елементите, при които type е Trailer и official е true, и трейлърът е ваш.
Получавате списък със записи за видеа, които подреждате сами, а не поток. Отговорът назовава видеото и мястото, където живее, а страницата ви гради плейъра от site и key. Същата форма се връща за сериали. Пътищата за сезон и епизод отговарят с празен списък.
Какви данни получавате
| Ендпойнт | Какво връща |
|---|---|
GET / | Трейлъри, тийзъри, клипове, featurette, зад кулисите и гафове за филм |
GET / | Същият списък за сериал |
GET / | Винаги празен списък results |
GET / | Винаги празен списък results |
GET / с append_ | Детайли и видеа в една заявка |
Полета на всяко видео:
| Поле | Тип | Приложение |
|---|---|---|
type | низ | Вид видео: Trailer, Teaser, Clip, Featurette, Behind the Scenes или Bloopers, както на страницата за видеа |
official | булева стойност | true, когато видеото е отбелязано като официално |
iso_639_1, iso_3166_1 | низ | Езиков и държавен код на видеото |
key, site | низ | Идентификатор на видеото и име на сайта, който го хоства, YouTube при всяко видео, което сме виждали |
size | цяло число | Вертикална резолюция, 1080 при всяко видео, което сме виждали |
published_at | низ | Времеви печат по ISO 8601, удобен за сортиране от най-новите |
name, id | низ | Заглавие на видеото и неговото id, което е същият низ като key |
Започнете в 3 стъпки
- Изберете план на страницата с цените. Всеки план връща всички данни, затова избирате по заявките в минута.
- Създайте ключ в личния си профил. Той е 32 шестнайсетични символа с малки букви.
- Извикайте
GET /с ключа в3/ movie/ {movie_ id}/ videos api_keyили в заглавкаAuthorization: Bearer.
Пример със заявка
Примерът иска видеата на Inception (id 27205), подрежда ги в кода и отпечатва най-доброто. Подреждането поставя първо съвпаденията по език, после Trailer преди Teaser, после официалните преди неофициалните, после най-новия 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');Съкратен отговор: първите 2 от 42 видеа. Списъкът съдържа всички езици.
{
"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"
}
]
}Изберете кое видео да пуснете
Едно заглавие често има няколко официални трейлъра (първо обявяване, финална версия) до тийзъри и клипове. Подредете ги по фиксиран ред, за да не се озове в мястото за трейлър компилация от гафове.
| Приоритет | Филтър | Типично приложение |
|---|---|---|
| 1 | Trailer, официален, езикът съвпада | Видеото за пускане |
| 2 | Trailer, неофициален | Регионални или фен качвания, когато няма официален |
| 3 | Teaser, официален | Кратки клипове преди премиерата |
| 4 | Clip, Featurette | Резервен вариант, за да не е мястото празно |
| пропуснете | Behind the Scenes, Bloopers | Показвайте в отделен списък с допълнителни материали |
Равните случаи сортирайте по published_at. Първо най-новите дават последната версия, първо най-старите дават първото обявяване.
Езици на трейлърите
Видеата са отбелязани с език чрез iso_639_1 и едно заглавие може да има трейлъри на няколко. Inception има 42 видеа на 9 езика. amodb връща всички в един отговор. Параметрите language и include_video_language нямат ефект върху ендпойнтите за видеа, затова изберете езика във вашия код.
| Стъпка | Какво да направите |
|---|---|
| 1 | Запазете видеата, чийто iso_639_1 съвпада с потребителя ви, например ru |
| 2 | Ако нищо не съвпада, запазете en |
| 3 | Ако нищо не съвпада, запазете останалите |
Подредете във всяка стъпка по тип и флага official, както в примера. Езиците на видеата следват качването, а не 14-те езика на интерфейса от страницата езици, така че трейлърът може да е cs или he.
Трейлъри за сериали
Трейлърът на сериал е на /3/tv/1396/videos (Breaking Bad), който съдържа 9 трейлъра. Функцията за подреждане по-горе работи както е, защото полетата не се променят. Пътищата за сезон и епизод като / отговарят със 200 и празен списък results, затова четете списъка на сериала. Пълния списък с пътища вижте на страницата видеа и трейлъри.
Изграждане на лента с трейлъри
Лента с филми, които вървят в момента, иска едно извикване за списък и по едно извикване на заглавие: GET / (вижте тенденции и списъци) плюс десет извиквания за видеа правят 11 заявки за десет заглавия. Пазете избрания key до id на филма. Трейлърите се променят рядко, така че обновявайте запазения избор на няколко часа или когато заглавието излезе отново.
Как се сравнява
| Възможност | Сами да обработвате страници | API за метаданни с безплатен план | amodb |
|---|---|---|---|
| Флаг за официалност | Налучкване по заглавието на страницата | Вижте документацията им | Булево official при всяко видео |
| Филтър по тип видео | Разчитане на текст | Вижте документацията им | Шест стойности на type |
| Избор на език | Една локализация на страница | Вижте документацията им | iso_639_1 и iso_3166_1 при всяко видео, филтрират се във вашия код |
| Сериали и епизоди | Отделни страници за обхождане | Вижте документацията им | Сериалите ползват същия ендпойнт, списъците за сезон и епизод са празни |
| Поддръжка | Чупи се, когато се промени разметката | Зависи от доставчика | Една стабилна форма на JSON |
| Условия | Рискът е ваш | Вижте техните условия | Платени планове, вижте цени |
Цени
Плановете са предплатени. Купувате 1, 3, 6, 12 или 24 месеца и получавате отстъпка 0, 10, 20, 30 или 40 процента за по-дългите периоди. Нищо не се подновява само. Плановете за 20, 40 и 120 заявки в минута обслужват всеки ендпойнт на тази страница, така че натоварена лента с трейлъри е въпрос само на скорост. Няма безплатен план и пробен период. Сравнете плановете на страницата с цените.