整点新闻播报接入指导(news_hourly)¶
1. 用途¶
为设备提供每日 9:00~22:00 共 14 个整点档的新闻播报:NewsNow 聚合热榜(今日头条/微博等公开榜单)→ 大模型播客化整理 → TTS 合成音频,整点即取即播。每档同时给出音频(WAV/MP3 双格式)与播报稿全文。
2. 端点与鉴权¶
取数(拿当档播放地址与展示条目):
GET https://api.wwzu.com/api/v1/data/news_hourly
X-Device-SN: XMBOX-2026-000001
X-Device-Token: <device_token>
音频/文稿下载(payload 内给出的 /media 站内路径,无需鉴权头,同主机拼接):
GET https://api.wwzu.com/media/news_audio/latest.wav ← 本档音频 WAV
GET https://api.wwzu.com/media/news_audio/latest.mp3 ← 同一播报的 MP3
GET https://api.wwzu.com/media/news_audio/latest.txt ← 本档播报稿全文
- 设备鉴权与需订阅(
40302)同其他源; /media下载规则(同主机、Content-Length完整性校验、无 chunked/gzip/3xx)见设备接入手册 · 媒体文件下载。
3. 请求参数¶
无业务参数(取当前档期最新播报;客户端按整点读取即可)。
4. 返回示例¶
{
"code": 0,
"msg": "success",
"data": {
"source": "news_hourly",
"version": "v1",
"updated_at": "2026-09-19 15:05:00",
"stale": false,
"payload": {
"items": [
{ "title": "神舟二十号载人飞船发射圆满成功", "url": "https://example.com/news/1" }
],
"hour_label": "15点",
"audio_url": "/media/news_audio/latest.wav",
"audio_url_mp3": "/media/news_audio/latest.mp3",
"script_url": "/media/news_audio/latest.txt",
"duration_est_sec": 165,
"size_bytes": 8388608,
"size_bytes_mp3": 1398101,
"generated_by": "llm",
"source_name": "新闻内容来自 NewsNow 聚合(今日头条/微博热搜等公开榜单),播报稿由大模型整理生成,仅供收听参考"
}
},
"server_time": 1788000000
}
| 字段 | 类型 | 说明 |
|---|---|---|
items |
list≤10 | 展示条目;title ≤30 字,url 可选(http 且 ≤200 字符,超长不返回) |
hour_label |
string | 本次播报档期,如 15点 |
audio_url |
string | 本档音频 WAV 站内路径(24kHz/16bit/单声道 PCM,可直接 I2S 播放) |
audio_url_mp3 |
string | 本档音频 MP3 站内路径(同一播报,体积约 WAV 的 1/6,供网页端/调试) |
script_url |
string | 本档播报稿全文 txt 站内路径(UTF-8) |
duration_est_sec |
int | 播报时长(秒);按 WAV 头精确解析,头不可解析时按 4.5 字/秒估算 |
size_bytes |
int | 本档 WAV 字节数(未压缩约 48KB/s,单档约 8MB 量级) |
size_bytes_mp3 |
int | 本档 MP3 字节数(约 6KB/s) |
generated_by |
string | llm(大模型整理)或 fallback(LLM 不可用时模板连读稿,整点不缺档) |
source_name |
string | 来源标注(必展示) |
5. 注意事项¶
- 档期:每日 9:00~22:00 共 14 档,服务端每档提前 5 分钟(:55)预生成;
hour_label按目标整点计; - 缓存:TTL 4500 秒(75 分钟,档内不回源)、全设备共享;
- 音频规格:WAV 为设备端主格式(可直接 I2S 播放,约 8MB/档);MP3 供网页端播放与调试,设备端无需使用;按
Content-Length校验完整性; - 历史回放:
latest.*每档滚动覆盖;按档归档news_audio/YYYYMMDD/目录保留最近 7 天(含当天),超期目录由服务端自动清理; - 降级:
generated_by=fallback表示 LLM 密钥缺失或调用失败时自动改用模板连读稿,整点不缺档,设备端无需特殊处理; - 配套密钥(管理后台 → 数据源管理 → 密钥管理):
llm_api_key必需;newsnow_base_url可选(公共实例被 Cloudflare 拦截时指向自部署实例);llm_base_url/llm_model可选(默认 DeepSeekdeepseek-v4-flash,可换任意 OpenAI 兼容服务); - 合规:
source_name来源标注必须保留展示。