Obține trailerul oficial al unui film

GET /3/movie/{movie_id}/videos întoarce fiecare videoclip atașat unui film. Fiecare element are un type, un indicator official, un cod de limbă, un marcaj de timp published_at și site și key, care identifică videoclipul. Păstrează elementele unde type este Trailer și official este true și ai trailerul.

Primești o listă de înregistrări video pe care le ordonezi singur, nu un flux. Răspunsul numește videoclipul și locul unde se află, iar pagina ta construiește playerul din site și key. Aceeași structură revine pentru serialele TV. Căile de sezon și de episod răspund cu o listă goală.

Ce date primești

EndpointÎntoarce
GET /3/movie/{movie_id}/videosTrailere, teasere, clipuri, featurette-uri, culise și gafe pentru un film
GET /3/tv/{tv_id}/videosAceeași listă pentru un serial
GET /3/tv/{tv_id}/season/{season_number}/videosMereu o listă results goală
GET /3/tv/{tv_id}/season/{season_number}/episode/{episode_number}/videosMereu o listă results goală
GET /3/movie/{movie_id} cu append_to_response=videosDetalii și videoclipuri într-o singură cerere

Câmpurile fiecărui videoclip:

CâmpTipUtilizare
typeșirFelul videoclipului: Trailer, Teaser, Clip, Featurette, Behind the Scenes sau Bloopers, ca pe pagina de videoclipuri
officialbooleantrue când videoclipul este marcat ca oficial
iso_639_1, iso_3166_1șirCodurile de limbă și de țară ale videoclipului
key, siteșirIdentificatorul videoclipului și numele site-ului care îl găzduiește, YouTube la toate videoclipurile văzute
sizenumăr întregRezoluția verticală, 1080 la toate videoclipurile văzute
published_atșirMarcaj de timp ISO 8601, bun pentru sortarea de la cel mai nou
name, idșirTitlul videoclipului și ID-ul lui, care este același șir ca key

Începe în 3 pași

  1. Alege un plan la prețuri. Fiecare plan întoarce toate datele, deci alegi după cereri pe minut.
  2. Creează o cheie în panoul contului tău. Are 32 de caractere hexazecimale minuscule.
  3. Apelează GET /3/movie/{movie_id}/videos cu cheia în api_key sau într-un antet Authorization: Bearer.

Exemplu de cerere

Exemplul cere videoclipurile din Inception (ID 27205), le ordonează în cod și afișează cel mai bun. Ordonarea pune primele potrivirile de limbă, apoi Trailer înaintea lui Teaser, apoi oficialul înaintea celui neoficial, apoi cel mai nou published_at.

bashjs
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');

Răspuns scurtat: primele 2 din cele 42 de videoclipuri. Lista conține toate limbile.

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"
    }
  ]
}

Alege ce videoclip redai

Un titlu are adesea mai multe trailere oficiale (un prim anunț, o variantă finală) alături de teasere și clipuri. Ordonează-le cu o ordine fixă, ca pagina să nu ajungă cu un montaj de gafe în locul trailerului.

PrioritateFiltruUtilizare tipică
1Trailer, oficial, limba se potriveșteVideoclipul de redat
2Trailer, neoficialÎncărcări regionale sau ale fanilor când nu există unul oficial
3Teaser, oficialSpoturi scurte dinaintea lansării
4Clip, FeaturetteSoluție de rezervă ca spațiul să nu rămână gol
omiteBehind the Scenes, BloopersArată-le într-o listă separată de extra

Departajează egalitățile după published_at. Cel mai nou primul dă ultima variantă, cel mai vechi primul dă primul anunț.

Limbile trailerelor

Videoclipurile sunt etichetate cu o limbă prin iso_639_1, iar un titlu poate avea trailere în mai multe. Inception are 42 de videoclipuri în 9 limbi. amodb le întoarce pe toate într-un singur răspuns. Parametrii language și include_video_language nu au efect pe endpoint-urile de videoclipuri, așa că alege limba în codul tău.

PasCe faci
1Păstrează videoclipurile al căror iso_639_1 se potrivește cu utilizatorul tău, de exemplu ru
2Dacă niciunul nu se potrivește, păstrează en
3Dacă niciunul nu se potrivește, păstrează restul

Ordonează în fiecare pas după tip și indicatorul official, ca în exemplu. Limbile videoclipurilor urmează încărcarea, nu cele 14 limbi de interfață listate la limbi, așa că un trailer poate fi cs sau he.

Trailere pentru seriale

Un trailer de serial se află la /3/tv/1396/videos (Breaking Bad), care conține 9 trailere. Funcția de ordonare de mai sus merge neschimbată, pentru că câmpurile nu se schimbă. Căile de sezon și de episod, precum /3/tv/1396/season/1/videos, răspund 200 cu o listă results goală, așa că citește lista serialului. Vezi videoclipuri și trailere pentru lista completă de căi.

Construiește un rând de trailere

Un rând cu filme aflate în cinematografe cere un apel de listă și un apel pe titlu: GET /3/movie/now_playing (vezi tendințe și liste) plus zece apeluri de videoclipuri fac 11 cereri pentru zece titluri. Stochează key ales lângă ID-ul filmului. Trailerele se schimbă rar, așa că reîmprospătează o alegere stocată la câteva ore sau când un titlu este relansat.

Cum se compară

CapacitateExtragi singur paginileAPI de metadate cu nivel gratuitamodb
Indicator oficialGhicești din titlul paginiiVezi documentația lorBooleanul official la fiecare videoclip
Filtru după tipul videoclipuluiAnalizezi textulVezi documentația lorȘase valori type
Alegerea limbiiO singură limbă pe paginăVezi documentația loriso_639_1 și iso_3166_1 la fiecare videoclip, filtrate în codul tău
Seriale și episoadePagini separate de parcursVezi documentația lorSerialele folosesc același endpoint, listele de sezon și de episod sunt goale
ÎntreținereSe strică când se schimbă markup-ulDepinde de furnizorO singură structură JSON stabilă
CondițiiRiscul îți aparțineVerifică termenii lorPlanuri cu plată, vezi prețuri

Prețuri

Planurile sunt plătite în avans. Cumperi 1, 3, 6, 12 sau 24 de luni și primești 0, 10, 20, 30 sau 40 la sută reducere la perioadele mai lungi. Nimic nu se reînnoiește singur. Planurile de 20, 40 și 120 de cereri pe minut servesc toate endpoint-urile de pe această pagină, așa că un rând aglomerat de trailere ține doar de ritm. Nu există nivel gratuit și nici perioadă de probă. Compară planurile la prețuri.