Кароткае параўнанне

amodb уяўляе сабой незалежнае API, якое працуе па тым жа пратаколе, што і TMDB v3. Кліент, напісаны для TMDB, чытае з amodb пасля змены базавага URL і ключа, калі ён не выклікае шлях з табліцы «не прапануюцца» ніжэй. Таму выбар залежыць ад умоў, дадатковых магчымасцей і некалькіх прабелаў. TMDB прапануе бясплатны API для кваліфікаванага выкарыстання па ўласных умовах. amodb гэта платнае API толькі для чытання з 14 мовамі, пяццю дадатковымі блокамі даных і лімітам на ключ.

Роўнасць эндпоінтаў

Кожны радок паказвае шлях чытання TMDB v3 і яго паводзіны на https://api.amodb.dev/3.

ВобласцьШлях TMDB v3У amodb
Дэталі фільма/movie/{movie_id}Тое ж, з пяццю дадатковымі значэннямі append_to_response
Дэталі серыяла/tv/{series_id}Тое ж, але без поля type, а created_by пусты для большасці серыялаў
Сезоны і эпізоды/tv/{series_id}/season/{season_number}Тая ж форма. Выявы, відэа і пераклады сезонаў пустыя, а external_ids сезонаў і эпізодаў роўныя null
Персоны/person/{person_id}Тое ж, з combined_credits, movie_credits, tv_credits, external_ids і images (толькі профілі)
Удзельнікі/movie/{movie_id}/creditsТое ж. Для эпізодаў cast пусты
Пошук/search/multiТое ж, кэш 10 хвілін
Пошук па фільтрах/discover/movieТое ж, кэш 30 хвілін
Трэнды/trending/{media_type}/{time_window}Тое ж, кэш 30 хвілін
Спісы/movie/popularТое ж, page ад 1 да 500
Выявы/movie/{movie_id}/imagesТая ж форма, файлы загружаюцца з img.amodb.dev
Відэа/movie/{movie_id}/videosТое ж
Пераклады/movie/{movie_id}/translationsТое ж, падтрымліваецца 14 моў
Ключавыя словы/movie/{movie_id}/keywordsТое ж
Рэцэнзіі/movie/{movie_id}/reviewsАдказвае 200, але рэцэнзіі ёсць толькі ў некалькіх назваў, таму пусты спіс нармальны
Калекцыі/collection/{collection_id}Тое ж, parts упарадкаваныя па даце выхаду
Кампаніі і тэлеканалы/company/{company_id}Тыя ж ключы. description кампаніі пусты, а parent_company роўны null
Жанры/genre/movie/listТое ж
Канфігурацыя/configurationТыя ж ключы, хост выяў img.amodb.dev
Пошук па вонкавым id/find/{external_id}Той жа эндпоінт плюс kinopoisk_id. tv_episode_results і tv_season_results заўсёды пустыя
Групы эпізодаў/tv/{series_id}/episode_groupsПералічвае групы серыяла без іх змесціва

Не прапануюцца ў amodb

У гэтых выклікаў TMDB v3 няма эквівалентаў. Невядомыя шляхі адказваюць 404 са status_code 34, а метады запісу адказваюць 405 са status_code 37.

Выклік TMDB v3Адказ amodb
/movie/changes, /tv/changes, /person/changes і changes пад адным id404, status_code 34
aggregate_credits пад серыялам або сезонам404, status_code 34
/credit/{credit_id} і /review/{review_id}404, status_code 34
/tv/episode_group/{id}404, status_code 34
/person/{person_id}/translations, tagged_images і /person/latest404, status_code 34
images, translations і alternative_names для калекцый, кампаній і тэлеканалаў404, status_code 34
/configuration/timezones404, status_code 34
Усё пад account, authentication, guest_session і list, а таксама любы шлях /rating або /account_states405, status_code 37

Калі дадаць aggregate_credits або changes у append_to_response, amodb ігнаруе назву без памылкі, таму ключа ў целе проста не будзе.

Параўнанне магчымасцей

МагчымасцьTMDBamodb
Мадэль цэнаўтварэнняБясплатна для кваліфікаванага выкарыстання, па ўмовах TMDBЗ аплатай наперад, ад 1 да 24 месяцаў за адну пакупку
Бясплатны тарыфТак, для кваліфікаванага выкарыстанняНяма, пробнага перыяду таксама няма
АўтэнтыфікацыяКлюч v3 у api_key або токен v4 як Bearerapi_key або Bearer з шаснаццатковым ключом з 32 сімвалаў
Фармат адказуJSONJSON, тыя ж палі на шляхах, што падтрымліваюцца
МовыГлядзіце іх дакументацыюПадтрымліваецца 14, іншыя тэгі замяняюцца на en
ФільмыТакТак
СерыялыТакТак
ПерсоныТакТак
ВыявыТакimg.amodb.dev, памеры ад w92 да original
РэйтынгіАцэнка карыстальнікаў TMDB, іншыя крыніцы: глядзіце іх дакументацыюПяць крыніц у адным аб’екце, калі вядомыя
Метады запісуМетады акаўнта, спісаў і ацэнакНяма, адказваюць 405
Ліміт запытаўГлядзіце іх дакументацыю20, 40 або 120 у хвіліну на ключ
Камерцыйнае выкарыстаннеУмовы камерцыйнага выкарыстання і ўказання аўтарства глядзіце ў іх умовахПлатныя планы, гл. цэны
СумяшчальнасцьВызначае TMDB v3Большасць шляхоў чытання TMDB v3 і маршрут OMDb

Адрозненні падрабязней

  • Умовы. TMDB просіць азнаёміцца з яго ўмовамі камерцыйнага выкарыстання і ўказання аўтарства. amodb прадаецца па перыядах з аплатай наперад, без аўтапрадаўжэння, без бясплатнага тарыфа і без пробнага перыяду.
  • Мовы. amodb падтрымлівае en, ru, uk, be, zh, pt, bg, he, cs, ro, fr, pl, it і es. Ён прымае тэгі TMDB, напрыклад ru-RU і pt-BR. Нямецкая, японская і карэйская замяняюцца на en, а original_title захоўвае арыгінальную назву. Пра пакрыццё моў у TMDB глядзіце іх дакументацыю. Гл. мовы.
  • Пашырэнні. append_to_response таксама прымае moods, soundtracks, ratings, wikidata і showtimes, і ў кожнага ёсць свой шлях пад фільмамі і серыяламі.
  • Вонкавыя id. /3/find апрацоўвае imdb_id, tvdb_id, wikidata_id, kinopoisk_id, facebook_id, twitter_id і instagram_id. Крыніцы freebase_mid, freebase_id, tvrage_id, tiktok_id і youtube_id прымаюцца, але вяртаюць пустыя масівы. Адсутны або невядомы external_source адказвае 400 са status_code 22.
  • Пустыя па задуме. Выявы, відэа і пераклады сезонаў і description кампаніі заўсёды пустыя. Рэцэнзіі і created_by у серыяла запоўнены толькі для некалькіх назваў. external_ids сезонаў і эпізодаў усе роўныя null.
  • Назвы для дарослых. include_adult ігнаруецца. Назвы і людзі для дарослых ніколі не вяртаюцца і адказваюць 404.
  • Выявы. Шлях CDN https://img.amodb.dev/t/p/{size}/{file}. Ключ не патрэбны, а файлы кэшуюцца на 30 дзён.
  • Ліміты. Акно слізгальнае, 60 секунд на ключ. Загалоўкі паказваюць колькасць, што засталася, а трапленні ў кэш усё роўна ўлічваюцца, бо праверка ліміту выконваецца першай.
  • Незалежнасць. Каталог бярэцца з публічных і адкрытых крыніц і нашага ўласнага ўзбагачэння. Агульная форма не гарантуе аднолькавых значэнняў кожнага поля кожнай назвы.

Дзе TMDB падыходзіць лепш

  • Бясплатнае кваліфікаванае выкарыстанне. Аплата не патрэбна, і amodb не можа з гэтым параўнацца.
  • Запіс. Ацэнка назвы, стварэнне спісу і сесіі акаўнта працуюць у TMDB. У amodb яны вяртаюць 405.
  • Стужкі змен. TMDB пералічвае id, якія змяніліся. У amodb такой стужкі няма, таму абнаўляйце па ўласным раскладзе.
  • Aggregate credits і пошук credit. Абодва адказваюць 404 у amodb. Выкарыстоўвайце /credits назвы.
  • Больш шырокія моўныя патрэбы. Калі інтэрфейсу патрэбна мова па-за межамі 14, спачатку праверце TMDB.
  • Існуючае ўзгадненне. Каманда, якая прайшла юрыдычную праверку TMDB, павінна ўзважыць кошт другой праверкі.

Міграцыя на amodb

Змена складае адзін радок на запыт.

Shell
# before: TMDB_BASE is your current TMDB v3 base URL
curl -s "$TMDB_BASE/movie/550?api_key=$TMDB_KEY"

# after
curl -s "https://api.amodb.dev/3/movie/550?api_key=$AMODB_KEY"

Перад пераходам параўнайце форму некалькіх адказаў поплеч. Гэты скрыпт друкуе ключы верхняга ўзроўню, якія вяртае адзін бок і не вяртае другі.

JavaScript
async function topLevelKeys(base, key, path) {
  const res = await fetch(`${base}${path}?api_key=${key}`);
  if (!res.ok) throw new Error(`${path} returned ${res.status}`);
  return Object.keys(await res.json()).sort();
}

for (const path of ['/movie/550', '/tv/1396', '/person/31']) {
  const current = await topLevelKeys(process.env.TMDB_BASE, process.env.TMDB_KEY, path);
  const next = await topLevelKeys('https://api.amodb.dev/3', process.env.AMODB_KEY, path);
  const missing = current.filter((k) => !next.includes(k));
  console.log(path, missing.length ? `missing: ${missing.join(', ')}` : 'same keys');
}

Неабавязковыя палі могуць адрознівацца для пэўнай назвы, таму лічыце адсутны ключ падказкай для праверкі, а не вердыктам. Потым прайдзіце гэты спіс:

  1. Абярыце план на старонцы цэны, потым стварыце ключ у асабістым кабінеце.
  2. Перанясіце базавы URL і ключ у канфігурацыю.
  3. Прачытайце images.secure_base_url з /3/configuration.
  4. Пашукайце ў кодзе выклікі запісу і шляхі з табліцы «не прапануюцца». Пакіньце запіс у TMDB, а астатняе замяніце.
  5. Дадайце апрацоўшчык 429, які чакае Retry-After секунд. Гл. ліміты запытаў і памылкі.

Цэны

amodb працуе з аплатай наперад. Абярыце 1, 3, 6, 12 або 24 месяцы са зніжкай 0, 10, 20, 30 або 40 працэнтаў і адзін з трох планаў на 20, 40 або 120 запытаў у хвіліну. Кожны план вяртае ўсе даныя, і ніводзін не прадаўжаецца сам. Сумы гл. на старонцы цэны.