Imagens

Todo caminho de imagem em uma resposta do amodb carrega de https://img.amodb.dev/t/p/{size}/{file}. Os tamanhos seguem o TMDB: w92, w154, w185, w300, w342, w500, w780, w1280, h632 e original. As imagens não precisam de chave e não contam na sua taxa. A borda as guarda por 30 dias, e /3/configuration retorna as URLs base.

Atualizado em Ver em Markdown

Text
https://img.amodb.dev/t/p/{size}/{file}

{file} é o caminho de um campo da resposta como poster_path, backdrop_path, profile_path, still_path ou logo_path. Ele já começa com /.

Text
https://img.amodb.dev/t/p/w500/pB8BM7pdSp6B6Ih7QZ4DrQ3PmJK.jpg

Tamanhos

TamanhoLargura ou alturaBom para
w9292 px de larguraSugestões de busca
w154154 px de larguraListas densas
w185185 px de larguraGrades no desktop, fotos de perfil
w300300 px de larguraMiniaturas de backdrop, Poster do OMDb
w342342 px de larguraGrades em celulares com telas de alta densidade
w500500 px de larguraPáginas de detalhes
w780780 px de larguraPôsteres grandes, backdrops médios
w12801280 px de larguraBackdrops em largura total
h632632 px de alturaFotos de perfil em altura total
originalTamanho da fonteDownloads e impressão

Os pôsteres são 2:3. Defina width e height no <img> para que a página não se desloque enquanto carrega.

URLs base do endpoint de configuração

GET /3/configuration retorna a mesma estrutura do TMDB. Os clientes que montam URLs de imagem a partir dela funcionam sem mudanças.

A borda guarda /3/configuration por 24 horas, então ler uma vez por dia basta.

JSON
{
  "images": {
    "base_url": "http://img.amodb.dev/t/p/",
    "secure_base_url": "https://img.amodb.dev/t/p/",
    "poster_sizes": ["w92", "w154", "w185", "w342", "w500", "w780", "original"]
  }
}
JavaScript
const base = "https://img.amodb.dev/t/p";
const srcset = ["w185", "w342", "w500"]
  .map((size) => `${base}/${size}${movie.poster_path} ${size.slice(1)}w`)
  .join(", ");

const html = `<img src="${base}/w342${movie.poster_path}" srcset="${srcset}"
  sizes="(min-width: 64rem) 185px, 33vw" width="342" height="513"
  alt="${movie.title} poster" loading="lazy">`;

Cache

As imagens ficam no cache de borda por 30 dias. Guarde o caminho do arquivo junto do seu registro e monte a URL na hora de renderizar, assim você pode trocar de tamanho depois sem novas chamadas à API.