GEThttps://api.illlights.com/v1/img将客户端 302 重定向到 https://api.illlights.com/v1/imgs/{file_name},直接从服务器下载图片。
GEThttps://api.illlights.com/v1/img/info获取 JSON 格式的随机图数据库统计信息。返回示例详见 Galgame CG Database 内容列表查询 API。
绝大部分是解包得到的图片,因为流量和传输速度问题,所有图片都经过压缩,使用 ImageMagick 压缩图片,默认参数下返回 avif 格式图片。
尺寸方面,各个公司制作的分辨率和格式不同,返回图片的分辨率不一样,你可以通过指定原图分辨率参数获取特定分辨率的图片。
图片内容不含 18+ 内容,可能有一部分图片有 16+ 内容,建议不要在非常正式的网站和应用中使用。
所有图片都是我一张一张挑选选出,只放我玩过的、且我觉得画风很好的图片,只对我自己的取向负责,正在随着我玩过的 Galgame 增长。不过也就是说每张图的质量都不低!
图片数据库详细细节请在这里查看。
直接嵌入HTML中,由浏览器调用渲染
以下网站可以作为使用随机图 API 的使用参考:
size540 720 1080 1440 2160https://api.illlights.com/v1/img?size=540指定原图分辨率,就是从数据库中搜索出指定的分辨率图片再随机给客户端。
注意!该参数不是把原图调成该分辨率再返回,而是在数据库中查找原图分辨率是这一尺寸的图片,所以指定原图分辨率会使随机的范围大幅减小.
部分作品的图片只有一种分辨率,指定原图分辨率会导致无法随机到一些作品,若同时执行其他请求参数导致数据库中无结果,返回 404。
只有上述五种可选的原图分辨率参数,错误的查询会返回 403。
minsize720 1080 1440 2160https://api.illlights.com/v1/img?minsize=1080从数据库中搜索出大于指定的分辨率图片再随机给客户端。
使用最小原图分辨率,例如填入minsize=1080,能得到大于等于 1080p 的图片。
当同时指定原图分辨率时,该参数无效。其他细节和原图分辨率一致。
namehttps://api.illlights.com/v1/img?name=千恋根据数据库中 Name 字段匹配筛选图片并随机返回其中一条。不区分大小写,使用匹配形式查找:只要这张图片的 Name 字段中有你搜索的这段字符就可能被随机到。例如 Example 中的请求会随机返回一张 千恋*万花的 CG 图片。
数据库中 Name 至少会有官方的作品名称,一些作品的官方名称是英文,但更多的是日语,后续会扩充数据库内容加入更多的名称。详细图片作品介绍见Galgame CG 数据库。
没有查找到图片会返回 404。
minbrightnesshttps://api.illlights.com/v1/img?minbrightness=0.5在写入数据库时,程序计算了图片的平均亮度,亮度计算使用加权平均的“感知亮度”(Luminance)。其计算公式为:
Y=0.299×R+0.587×G+0.114×B
和最大亮度共同使用,常用于背景图片亮色模式和暗色模式的区分。亮色模式的推荐亮度为 minbrightness=0.5
如果输入的数据无法转换成浮点数,返回400错误。
如果输入的数据超过范围,仍然会进行查询,但是查询不到图片,返回404错误。详细的亮度统计数据请在数据库简介中查看。
maxbrightnesshttps://api.illlights.com/v1/img?maxbrightness=0.5和最小亮度类似,指定图片的亮度范围。
暗色模式的推荐亮度为 maxbrightness=0.6
viewvertical horizontal anyhttps://api.illlights.com/v1/img?view=vertical因为 galgame 只有横屏的 CG,竖屏实在不好用,所以我手动一张一张截取出 4:3 的画面(这项工作正在进行,已经至少完成了 500 张图片的手动截取),可以使用 view=vertical 参数获取截取后的图片。
默认不会使用截取后的图片(即默认参数为 horizontal)。
您可以使用 & 连接多个查询参数。使用时请先查询是否有对应的内容,过多的参数容易导致随机范围缩小甚至 404 错误。
https://api.illlights.com/v1/img?err_only=true&name=ATRI&minsize=720在同一个 HTML 界面使用同样的 Endpoint 会导致浏览器只发送一次请求,整个网页中得到的图片都是同一个。可以通过在后面增加随机/定制的无效参数来要求浏览器发送多个请求。