# 图片

> 响应中的图片路径都从 https://img.amodb.dev/t/p/{size}/{file} 加载，尺寸与 TMDB 一致，从 w92 到 original。图片无需密钥，不计入速率，边缘缓存 30 天。

## URL 模式

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

`{file}` 是响应字段中的路径，例如 `poster_path`、`backdrop_path`、`profile_path`、`still_path` 或 `logo_path`。它本身已经以 `/` 开头。

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

## 尺寸

| 尺寸         | 宽度或高度     | 适合用于                   |
| ---------- | --------- | ---------------------- |
| `w92`      | 宽 92 px   | 搜索建议                   |
| `w154`     | 宽 154 px  | 密集列表                   |
| `w185`     | 宽 185 px  | 桌面端网格、人物照片             |
| `w300`     | 宽 300 px  | 背景图缩略图、OMDb 的 `Poster` |
| `w342`     | 宽 342 px  | 高密度屏幕手机上的网格            |
| `w500`     | 宽 500 px  | 详情页                    |
| `w780`     | 宽 780 px  | 大海报、中等背景图              |
| `w1280`    | 宽 1280 px | 全宽背景图                  |
| `h632`     | 高 632 px  | 全高人物照片                 |
| `original` | 源文件尺寸     | 下载和印刷                  |

海报比例为 2:3。请在 `<img>` 上设置 `width` 和 `height`，避免页面在加载时发生位移。

## 配置接口返回的基础 URL

`GET /3/configuration` 返回与 TMDB 相同的结构。根据它来构造图片 URL 的客户端，无需任何改动即可使用。

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

边缘会把 `/3/configuration` 保留 24 小时，所以每天读取一次就够了。

## 响应式图片

```js
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">`;
```

## 缓存

图片在边缘缓存中保留 30 天。请把文件路径与你的记录一起存储，渲染时再拼出 URL，这样以后切换尺寸就不需要新的 API 调用。

## 常见问题

### 能直接把图片 URL 放进 img 标签吗？

可以。图片 URL 不带密钥，所以放在公开页面中是安全的。请选择能覆盖显示宽度乘以设备像素比的最小尺寸。

### 图片请求计入我的速率限制吗？

不计入。图片主机不读取密钥，所以海报和背景图从不占用你的每分钟请求数。

## 相关页面

- [快速开始](https://amodb.dev/zh/quickstart/): 发出第一次 amodb 调用：获取密钥，用 curl、JavaScript、Python、PHP 或 Go 请求电影详情，再加载海报。
- [语言](https://amodb.dev/zh/languages/): amodb 以 14 种语言提供片名、简介和姓名。在 language 中传入 ru-RU 或 pt-BR 这样的 TMDB 风格标签，其他标签回退到英语。
- [速率限制](https://amodb.dev/zh/rate-limits/): amodb 按滑动 60 秒窗口内每分钟请求数限制每个密钥：按套餐为 20、40 或 120。读取速率限制响应头，并用 Retry-After 处理 429。

更新于: 2026-10-18. Source: https://amodb.dev/zh/images/
