响应对象和错误

本页介绍了 Tenor API 使用的不同 JSON 响应和错误对象。

响应对象

下表详细介绍了响应对象的属性:

属性
created

float

表示相应帖子创建时间的 Unix 时间戳。

hasaudio

boolean

如果相应帖子包含音频,则返回 true

id

string

Tenor 结果标识符

media_formats

{ CONTENT_FORMAT : MEDIA_OBJECT }

一个字典,其中内容格式为键,媒体对象为值。

tags

string[]

相应帖子的标签数组

title

string

帖子的标题

content_description

string

内容的文本说明。

建议您使用 content_description 实现用户无障碍功能。

itemurl

string

用于在 tenor.com 上查看帖子的完整网址。

hascaption

boolean

如果相应帖子包含字幕,则返回 true

flags

string

以逗号分隔的列表,用于指明相应内容是贴纸还是静态图片、是否包含音频,或者是否是这些内容的任意组合。如果不存在 stickerstatic,则内容为 GIF。空白的 flags 字段表示不含音频的 GIF。

bg_color

string

内容中最常见的背景像素颜色

url

string

用于在 tenor.com 上查看帖子的短网址。

类别对象

下表详细介绍了类别对象的属性:

属性
searchterm

string

与相应类别对应的搜索字词。搜索字词会翻译成与相应请求的 locale 相匹配的字词。

path

string

如果用户选择相应类别,则要请求的搜索网址

image

string

指向相应类别示例 GIF 的媒体来源的网址

name

string

要叠加在图片上的类别名称。该名称会经过翻译,以与相应请求的 locale 相匹配。

媒体对象

下表详细介绍了媒体对象的属性:

属性
url

string

媒体来源的网址

dims

int[]

媒体的宽度和高度(以像素为单位)

duration

float

表示内容循环一次所需的时间(以秒为单位)。如果内容是静态的,则时长设置为 0

size

int

文件的大小(以字节为单位)

内容格式

Tenor 的 API 提供以下五种基本格式,每种格式都有多种尺寸:

  • GIF
  • MP4
  • WebM
  • 透明 WebP
  • 透明 GIF

MP4 和 WebM 格式的剪辑只会播放一次,但 loopedmp4 除外,该格式的剪辑会播放多次。GIF 格式的图片会以连续循环的方式播放其片段。透明格式适用于贴纸内容,但不会显示在 GIF 搜索结果中。

格式类型

下表详细介绍了 Tenor 支持的媒体格式类型:

格式类型
preview
  • 分辨率和大小:高质量单帧 GIF 格式;大小小于 GIF 格式
  • 尺寸:原始上传尺寸(无限制)
  • 使用说明:将此帧设为内容的第一帧。它旨在用作缩略图预览。

此格式适用于 GIF 和贴纸。

gif
  • 分辨率和大小:高画质 GIF 格式;可用的最大文件大小
  • 尺寸:原始上传尺寸(无限制)
  • 使用说明:在桌面设备上分享 GIF 时,请使用此尺寸。

此格式适用于 GIF 和贴纸。

mediumgif
  • 分辨率和大小:GIF 格式的大小略有减小
  • 尺寸:原始上传尺寸(无限制),但压缩率更高
  • 使用说明:此尺寸适用于桌面设备上的 GIF 预览。

此格式适用于 GIF 和贴纸。

tinygif
  • 分辨率和大小:缩小了 GIF 格式的大小
  • 尺寸:宽度不超过 220 像素。高度会进行缩放,以保持宽高比。
  • 使用说明:此尺寸适用于移动设备上的 GIF 预览和分享。

此格式适用于 GIF 和贴纸。

nanogif
  • 分辨率和大小:GIF 格式的最小大小
  • 尺寸:高度上限为 90 像素。宽度会进行缩放,以保持宽高比。
  • 使用说明:此尺寸适用于移动设备上的 GIF 预览。

此格式适用于 GIF 和贴纸。

mp4
  • 分辨率和大小:画质最高的视频格式;视频格式中最大的格式,但比 GIF 小
  • 尺寸:与 GIF 类似,但会进行内边距填充,以符合视频容器规范(通常为 8 像素增量)。
  • 使用注意事项:此尺寸适用于桌面设备上的 MP4 预览和分享。

此格式适用于 GIF 和贴纸。

loopedmp4
  • 分辨率和大小:画质最高的视频格式;大小比 MP4 大
  • 尺寸:与 GIF 类似,但会进行内边距填充,以符合视频容器规范(通常为 8 像素增量)。
  • 使用注意事项:如果您希望视频片段播放多次,而不是只播放一次,请使用此尺寸分享 MP4 视频。

此格式适用于 GIF 和贴纸。

tinymp4
  • 分辨率和大小:缩小了 MP4 格式的大小
  • 尺寸:宽度和高度可变,最大边界框为 320x320 像素
  • 使用说明:此尺寸适用于移动设备上的 MP4 预览和分享。

此格式适用于 GIF 和贴纸。

nanomp4
  • 分辨率和大小:MP4 格式的最小大小
  • 尺寸:宽度和高度可变,最大边界框为 150x150 像素
  • 使用说明:此尺寸适用于移动设备上的 MP4 预览。

此格式适用于 GIF 和贴纸。

webm
  • 分辨率和大小:画质较低的视频格式;大小小于 MP4
  • 尺寸:与 GIF 类似,但会进行内边距填充,以符合视频容器规范(通常为 8 像素增量)。
  • 使用说明:此尺寸适用于桌面设备上的 WebM 预览和分享。

此格式适用于 GIF 和贴纸。

tinywebm
  • 分辨率和大小:缩减了 WebM 格式的大小
  • 尺寸:宽度和高度可变,最大边界框为 320x320 像素
  • 使用注意事项:此尺寸适用于在移动设备上分享的 GIF。

此格式适用于 GIF 和贴纸。

nanowebm
  • 分辨率和大小:WebM 格式的最小大小
  • 尺寸:宽度和高度可变,最大边界框为 150x150 像素
  • 使用说明:此尺寸适用于移动设备上的 GIF 预览。

此格式适用于 GIF 和贴纸。

webp_transparent
  • 分辨率和大小:高品质 WebP 贴纸格式;最大文件大小
  • 尺寸:原始上传尺寸(无限制)
  • 使用说明:对于高带宽用户,请使用此大小来分享贴纸。

贴纸支持此格式。

tinywebp_transparent
  • 分辨率和大小:WebP 贴纸格式的大小有所减小;大小上限为 500 KB
  • 尺寸:最大尺寸为 220x220 像素,高度会进行缩放以保持宽高比。
  • 使用情况备注:对于高带宽用户,请使用此尺寸来预览贴纸;对于低带宽用户,请使用此尺寸来分享贴纸。

贴纸支持此格式。

nanowebp_transparent
  • 分辨率和大小:WebP 贴纸格式的最小尺寸;最大尺寸为 100 KB
  • 尺寸:最大为 90x90 像素,宽度会进行缩放以保持宽高比。
  • 使用说明:对于低带宽用户,请使用此尺寸来显示贴纸预览。

贴纸支持此格式。

gif_transparent
  • 分辨率和大小:高质量 GIF 贴纸格式;可用的最大文件大小
  • 尺寸:原始上传尺寸(无限制)
  • 使用说明:对于高带宽用户,请使用此大小来分享贴纸。

贴纸支持此格式。

tinygif_transparent
  • 分辨率和大小:缩小了 GIF 贴纸格式的大小;大小上限为 500 KB
  • 尺寸:最大尺寸为 220x220 像素,高度会进行缩放以保持宽高比不变。
  • 使用情况备注:对于高带宽用户,请使用此尺寸来预览贴纸;对于低带宽用户,请使用此尺寸来分享贴纸。

贴纸支持此格式。

nanogif_transparent
  • 分辨率和大小:GIF 贴纸格式的最小尺寸;最大尺寸为 100 KB
  • 尺寸:最大为 90x90 像素,宽度会进行缩放以保持宽高比。
  • 使用说明:对于低带宽用户,请使用此尺寸来显示贴纸预览。

此格式受贴纸支持。

最佳做法

  • 对于移动设备,请使用 nano 或 tiny 大小的文件进行预览,并使用 tiny 大小的文件进行分享。
  • media_filter 参数设置为您打算使用的格式。这可将 API 响应大小缩减 70%。

格式大小

每种内容格式的文件大小取决于所选特定 GIF 的尺寸和时长。因此,请将下表中提供的平均值和中位数视为一般性指导,而不是确切的值。

文件格式 平均文件大小 (KB) 文件大小中位数 (KB)
gif 3,356 956
mediumgif 2,548 574
tinygif 521 101
nanogif 175 56
mp4 207 91
loopedmp4 515 228
tinymp4 84 81
nanomp4 37 28
webm 76 61
tinywebm 57 45
nanowebm 35 25
webp_transparent 530 95
tinywebp_transparent 249 60
nanowebp_transparent 107 25
gif_transparent 643 35
tinygif_transparent 349 20
nanogif_transparent 116 10

响应代码

下表列出了用于指示请求成功的 HTTP 状态响应代码:

HTTP 状态代码
200202 确定或接受

错误

Tenor 的 API 会以 HTTP 响应代码 4xx5xx 返回错误,并采用标准 Google API 错误格式。如需了解详情,请参阅错误