Obține trailerul oficial al unui film
GET / î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 / | Trailere, teasere, clipuri, featurette-uri, culise și gafe pentru un film |
GET / | Aceeași listă pentru un serial |
GET / | Mereu o listă results goală |
GET / | Mereu o listă results goală |
GET / cu append_ | Detalii și videoclipuri într-o singură cerere |
Câmpurile fiecărui videoclip:
| Câmp | Tip | Utilizare |
|---|---|---|
type | șir | Felul videoclipului: Trailer, Teaser, Clip, Featurette, Behind the Scenes sau Bloopers, ca pe pagina de videoclipuri |
official | boolean | true când videoclipul este marcat ca oficial |
iso_639_1, iso_3166_1 | șir | Codurile de limbă și de țară ale videoclipului |
key, site | șir | Identificatorul videoclipului și numele site-ului care îl găzduiește, YouTube la toate videoclipurile văzute |
size | număr întreg | Rezoluția verticală, 1080 la toate videoclipurile văzute |
published_at | șir | Marcaj de timp ISO 8601, bun pentru sortarea de la cel mai nou |
name, id | șir | Titlul videoclipului și ID-ul lui, care este același șir ca key |
Începe în 3 pași
- Alege un plan la prețuri. Fiecare plan întoarce toate datele, deci alegi după cereri pe minut.
- Creează o cheie în panoul contului tău. Are 32 de caractere hexazecimale minuscule.
- Apelează
GET /cu cheia în3/ movie/ {movie_ id}/ videos api_keysau într-un antetAuthorization: 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.
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.
{
"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.
| Prioritate | Filtru | Utilizare tipică |
|---|---|---|
| 1 | Trailer, oficial, limba se potrivește | Videoclipul de redat |
| 2 | Trailer, neoficial | Încărcări regionale sau ale fanilor când nu există unul oficial |
| 3 | Teaser, oficial | Spoturi scurte dinaintea lansării |
| 4 | Clip, Featurette | Soluție de rezervă ca spațiul să nu rămână gol |
| omite | Behind the Scenes, Bloopers | Arată-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.
| Pas | Ce faci |
|---|---|
| 1 | Păstrează videoclipurile al căror iso_639_1 se potrivește cu utilizatorul tău, de exemplu ru |
| 2 | Dacă niciunul nu se potrivește, păstrează en |
| 3 | Dacă 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 /, 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 / (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ă
| Capacitate | Extragi singur paginile | API de metadate cu nivel gratuit | amodb |
|---|---|---|---|
| Indicator oficial | Ghicești din titlul paginii | Vezi documentația lor | Booleanul official la fiecare videoclip |
| Filtru după tipul videoclipului | Analizezi textul | Vezi documentația lor | Șase valori type |
| Alegerea limbii | O singură limbă pe pagină | Vezi documentația lor | iso_639_1 și iso_3166_1 la fiecare videoclip, filtrate în codul tău |
| Seriale și episoade | Pagini separate de parcurs | Vezi documentația lor | Serialele folosesc același endpoint, listele de sezon și de episod sunt goale |
| Întreținere | Se strică când se schimbă markup-ul | Depinde de furnizor | O singură structură JSON stabilă |
| Condiții | Riscul îți aparține | Verifică termenii lor | Planuri 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.