每天把图片更新到你的网站

选择图片 ID,传入开奖参数,下载 PNG 到你的网站目录。提供完整 AI 接入说明、Linux 定时脚本和配置示例,旧接口继续兼容。

下载接入文档下载同步脚本
下载文件

reference-sync.py · 配置示例 · 开奖参数示例

先手动测试一个 ID,再设置每天执行。示例开奖数据必须替换为真实数据。

服务地址:https://shengtu.494499.xyz

本文档网页:https://shengtu.494499.xyz/integration.php

机器可读全文:https://shengtu.494499.xyz/integration.md

目标与兼容

在目标网站服务器每天执行一次任务,按指定图片 ID 请求生成 PNG,保存到目标网站的图片目录。例如 image_id=18ma 保存为 /www/wwwroot/YOUR-SITE/tu/18ma.png,网页引用 /tu/18ma.png。

本功能是“请求生成并下载”,不是读取一个固定远程图片地址。每次成功 POST 都重新生成随机参考内容并消耗一张额度。不要在访客刷新网页时调用生成接口。

原有 generate、batch_generate、旧模板 ID、KEY、参数和返回格式保持兼容。原来已对接的网站无需改动。新增 64 张参考模板使用 reference_generate;不要把新 image_id 传到旧接口的 template 参数中。

旧接口说明:https://shengtu.494499.xyz/api-docs.php

1. 获取图片 ID

GET https://shengtu.494499.xyz/api.php?action=reference_catalog

无需 KEY。响应 JSON 顶层有 total、eligible、skipped、images。

只使用 images 中 status 为 eligible 的项;id 是原图文件名去掉 .jpg。当前有 64 张可用、17 张历史核对项跳过。

例如:18ma、amxj、tjn。完整清单见网页或上述接口,不要猜测 ID。

2. 生成并下载一张图片

POST https://shengtu.494499.xyz/api.php?action=reference_generate

请求头:

Authorization: Bearer YOUR_KEY

Content-Type: application/json

User-Agent: ShengtuReferenceClient/1.0

请求 JSON(以下号码和日期仅为示例,不是真实开奖记录):

{
  "image_id": "18ma",
  "name": "澳门赛马会",
  "website": "example.com",
  "period": "308",
  "draw_time": "2026-11-04 21:30:00",
  "previous_period": "307",
  "previous_draw_time": "2026-11-03 21:30:00",
  "previous_draw": [1, 13, 25, 37, 49, 2, 26]
}

字段说明:

号码补齐两位由服务器处理。生肖、五行按对应开奖日期及农历春节换年;推荐内容不作为实际开奖,也不验证历史命中。

同一轮同步先读取一份完整参数,再用于所有图片,避免中途切换期号。

成功:HTTP 200,Content-Type: image/png,响应正文就是 PNG 二进制,不是 JSON、Base64 或图片 URL。

X-Image-Version:本次图片版本。X-Reference-Only: true:随机参考内容。Cache-Control: no-store。

调用方必须先检查状态码、Content-Type 和 PNG 完整性,再替换本地文件。

失败:正文为 JSON。401=KEY 无效/过期;405=方法错误;422=参数或 ID 不正确;429=额度不足;500=生成失败。

服务明确返回失败时不扣额度。网络超时可能发生在服务器生成成功之后,不保证可无损重试;不要无限或立即重试。先检查服务状态和额度。

3. 可直接下载的同步脚本

脚本(Python 3.9+,Linux,无第三方 Python 依赖):

https://shengtu.494499.xyz/reference-sync.py

配置示例:https://shengtu.494499.xyz/reference-sync.example.json

开奖参数示例:https://shengtu.494499.xyz/reference-request.example.json

目标服务器准备:

mkdir -p /opt/shengtu-sync
chmod 700 /opt/shengtu-sync
curl --fail --show-error --location https://shengtu.494499.xyz/reference-sync.py -o /opt/shengtu-sync/reference-sync.py
curl --fail --show-error --location https://shengtu.494499.xyz/reference-sync.example.json -o /opt/shengtu-sync/config.json
curl --fail --show-error --location https://shengtu.494499.xyz/reference-request.example.json -o /opt/shengtu-sync/request.json
chmod 600 /opt/shengtu-sync/config.json /opt/shengtu-sync/request.json

修改 config.json:

{
  "endpoint": "https://shengtu.494499.xyz/api.php?action=reference_generate",
  "key": "YOUR_KEY",
  "image_ids": ["18ma", "amxj", "tjn"],
  "request_file": "/opt/shengtu-sync/request.json",
  "output_dir": "/www/wwwroot/YOUR-SITE/tu",
  "state_dir": "/opt/shengtu-sync/state"
}

KEY 由本站管理员发放。只能放在目标服务器的私有配置或 SHENGTU_KEY 环境变量中,不得放进网页 JavaScript、公开目录、URL 或提交到代码库。

更换 YOUR-SITE、YOUR_KEY 和需要下载的 image_ids。确认运行账户有权写入 output_dir。

每天调用前,目标网站通过自己可信的开奖数据来源更新 request.json;本服务及同步脚本不会自动获取开奖,也不会自动递增期号。请原子替换参数文件,避免读取半份 JSON。

示例 request.json 必须换成真实数据才能正式使用。不要把示例日期固定在每日任务中。

先手动测试:

/usr/bin/python3 /opt/shengtu-sync/reference-sync.py --config /opt/shengtu-sync/config.json

行为:

4. 每天定时执行

宝塔:计划任务 → Shell 脚本 → 每天 → 选择时间,填写:

/usr/bin/python3 /opt/shengtu-sync/reference-sync.py --config /opt/shengtu-sync/config.json >> /opt/shengtu-sync/sync.log 2>&1

或使用 crontab(以下为服务器本地时间每天 00:10;确认调度器时区为 Asia/Shanghai,按实际开奖及参数更新时间调整):

10 0 * * * /usr/bin/python3 /opt/shengtu-sync/reference-sync.py --config /opt/shengtu-sync/config.json >> /opt/shengtu-sync/sync.log 2>&1

开奖参数更新任务必须先完成,再执行图片任务。只在目标网站设置计划任务,不需要在本站增加计划任务。若服务器 Python 不在 /usr/bin/python3,用实际的 Python 3.9+ 路径。

5. 目标网页显示图片

目标文件:/www/wwwroot/YOUR-SITE/tu/18ma.png

目标网址:https://YOUR-SITE/tu/18ma.png

每个 ID 在页面只展示一次。访客看到本地文件,不触发远程生成。

给图片 URL 加本地文件修改时间或 X-Image-Version 作为 v 参数,避免 CDN/浏览器一直显示旧图。PHP 示例:

<img src="/tu/18ma.png?v=<?= filemtime(__DIR__ . '/tu/18ma.png') ?>" alt="18ma">

以上假设页面 PHP 位于网站根目录,并且图片已经成功下载。若有 CDN,确认查询参数参与缓存键,或在同步成功后刷新对应图片缓存。

6. 可直接发给其他 AI 的任务

请阅读 https://shengtu.494499.xyz/integration.md,在我的目标网站接入“按 ID 每天生成并下载图片”。保留现有网站功能。先确认目标根目录、图片目录、所需 image_ids、KEY 的私有存放位置、可信开奖数据来源及每天执行时间。使用 reference_generate POST;把 200 PNG 正文保存为目标目录/image_id.png。以真实开奖数据填充所有必填字段,一轮任务统一参数。使用文档提供的 reference-sync.py 或等效实现,保留文件锁、完整 PNG 校验、原子替换、当日幂等跳过和失败保留旧图行为。KEY 不得出现在前端。先手动验证一个 ID,再配置目标服务器每天计划任务。页面使用本地图片与版本参数,不在页面刷新时调用生成接口。旧 generate/batch_generate 调用不要改动。交付修改文件、任务配置、日志路径和恢复方法。

64 个可用图片 ID

点击可复制 ID。17 张历史核对图片未开放生成,原因见 完整 JSON 清单。