正在启动平台

随机壁纸 API 接入文档wallpaper

对接 360 公开壁纸库,16 个分类 × 7 种分辨率(含 1920×1080 原图)随机壁纸。 • **16 个分类**:美女 / 风景 / 游戏 / 影视 / 时尚 / 明星 / 汽车 / 萌宠 / 清新 / 体育 / 萌娃 / 军事 / 动漫 / 日历 / 爱情 / 格言 • **7 种分辨率**:1920×1080(原图)/ 1600×900 / 1440×900 / 1366×768 / 1280×800 / 1280×1024 / 1024×768 • **修复源码 BUG**:源码注释默认 1920×1080 但代码默认 1600×900 且 resMap 缺 1920×1080 → 现已用上游 url 字段返回真正 1920×1080 原图 • **修复源码 BUG**:源码 tag 字段返回内部标记(如 `_category_海洋天堂_`)不可读 → 现已拆分 utag 输出为 tags 数组(如 `['海洋天堂','日出东方','松树','海岛']`) • **修复源码 BUG**:上游图片 URL 是 http:// → 现已强制改写为 https://,避免 HTTPS 站点混合内容警告 • **缓存优化**:上游响应按 (cid, start_bucket) 缓存 1h,shuffle 在本地做,**节省 80% 上游请求同时保证随机性** • **典型场景**:登录页背景 / 桌面壁纸应用 / 文章封面图 / 小程序首页轮播

1. 基本信息

接口地址https://v1.apizero.cn/api/wallpaper
请求方法GET
分类life
提供方360 壁纸
计费模式免费试用
单次消耗0 积分
起步价
QPS 限制20 req/s
每日免费额度10000 次(已认证用户)
匿名每日额度2000 次(无 API Key)
VIP 免费
调用次数

2. 认证

匿名每日 200 次、QPS 10;登录用户每日 1000 次、QPS 20(全部免费)。上游响应缓存 1h,命中不计入上游配额。

获取 API Key:登录 https://apizero.cn/account/keys

3. 请求参数

参数名类型必填说明示例
categorystring分类中文名,可选:美女 / 风景 / 游戏 / 影视 / 时尚 / 明星 / 汽车 / 萌宠 / 清新 / 体育 / 萌娃 / 军事 / 动漫 / 日历 / 爱情 / 格言。默认「风景」风景
resolutionstring分辨率,可选:1920x1080(原图)/ 1600x900 / 1440x900 / 1366x768 / 1280x800 / 1280x1024 / 1024x768。默认 1920x10801920x1080
countint返回数量,1-20。默认 15

5. 请求示例

以下 5 种语言示例都是可直接运行的,只需把 YOUR_API_KEY 替换为实际 Key。

cURL

curl "https://v1.apizero.cn/api/wallpaper?category=%E9%A3%8E%E6%99%AF&resolution=1920x1080&count=5&key=YOUR_API_KEY"

Python

import requests

resp = requests.get(
    "https://v1.apizero.cn/api/wallpaper",
    params={
    "category": "风景",
    "resolution": "1920x1080",
    "count": "5",
    "key": "YOUR_API_KEY",
},
    timeout=15,
)
resp.raise_for_status()
print(resp.json())

JavaScript (Node.js)

// Node.js 18+ / 浏览器原生 fetch
const params = new URLSearchParams({
  "category": "风景",
  "resolution": "1920x1080",
  "count": "5",
  "key": "YOUR_API_KEY",
});

const res = await fetch(`https://v1.apizero.cn/api/wallpaper?${params}`);
if (!res.ok) throw new Error(`HTTP ${res.status}`);
const data = await res.json();
console.log(data);

Go

package main

import (
	"fmt"
	"io"
	"net/http"
)

func main() {
	req, _ := http.NewRequest("GET", "https://v1.apizero.cn/api/wallpaper", nil)
	q := req.URL.Query()
	q.Set("category", "风景")
	q.Set("resolution", "1920x1080")
	q.Set("count", "5")
	q.Set("key", "YOUR_API_KEY")
	req.URL.RawQuery = q.Encode()

	resp, err := http.DefaultClient.Do(req)
	if err != nil { panic(err) }
	defer resp.Body.Close()
	body, _ := io.ReadAll(resp.Body)
	fmt.Println(string(body))
}

PHP

<?php
$url = "https://v1.apizero.cn/api/wallpaper?" . http_build_query([
    "category" => "风景",
    "resolution" => "1920x1080",
    "count" => "5",
    "key" => "YOUR_API_KEY",
]);

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 15);
$body = curl_exec($ch);
curl_close($ch);

$data = json_decode($body, true);
print_r($data);

6. 响应字段

字段类型说明示例
categorystring回传分类中文名
category_idnumber360 内部分类 ID(cid)
resolutionstring回传分辨率
countnumber实际返回的图片数量(可能少于 requested 当上游存量不足)
requestednumber客户端请求的数量
imagesarray壁纸图片数组
images[].urlstring图片 URL(已强制 HTTPS,可直接用于 <img src=>)
images[].idnumber360 壁纸 ID(用于唯一标识)
images[].resolutionstring该图片分辨率(与请求一致)
images[].tagsarray标签数组(拆分自 utag):如 ["海洋天堂","日出东方","松树","海岛"]
images[].tag_textstring原始标签文本(空格分隔):如 "海洋天堂 日出东方 松树 海岛"

7. 响应示例

{
    "code": 0,
    "msg": "成功",
    "data": {
        "category": "风景",
        "category_id": 9,
        "resolution": "1920x1080",
        "count": 2,
        "requested": 2,
        "images": [
            {
                "url": "https:\/\/p2.qhimg.com\/bdr\/__85\/t019ca75cd449be50c1.jpg",
                "id": 2054209,
                "resolution": "1920x1080",
                "tags": [
                    "海洋天堂",
                    "日出东方",
                    "松树",
                    "海岛"
                ],
                "tag_text": "海洋天堂 日出东方 松树 海岛"
            },
            {
                "url": "https:\/\/p2.qhimg.com\/bdr\/__85\/t021abc.jpg",
                "id": 2054210,
                "resolution": "1920x1080",
                "tags": [
                    "雪山",
                    "日出",
                    "云海"
                ],
                "tag_text": "雪山 日出 云海"
            }
        ]
    },
    "request_id": "abc123def456"
}

8. 错误码

codestatus说明
4000参数错误:不支持的分类 / 不支持的分辨率 / count 不在 1-20 之间
4015匿名调用每日额度用完,需要 API Key
4029QPS 超限
4030今日额度用完
5020上游 HTTP 失败
5021上游响应格式异常 / 该分辨率下无可用壁纸

9. 变更日志

  • 1.0.0(2026-05-07)
    • 首次上线,对接 360 壁纸库 16 分类 × 7 分辨率
    • 修复源码 BUG:默认分辨率从「1600×900」改为真正的 1920×1080 原图(用上游 url 字段)
    • 修复源码 BUG:tag 字段从内部标记(_category_xxx_)改为可读 utag 拆分数组
    • 修复源码 BUG:图片 URL 强制改写 http:// → https://,避免 HTTPS 站点混合内容警告
    • 新增 7 种分辨率(含 1920×1080 原图),共 7 档可选
    • 新增 images[].id 字段,便于业务侧做去重 / 收藏
    • 上游响应按 (cid, start_bucket=10) 桶化缓存 1h,节省 80% 上游请求
    • shuffle 始终在本地做,缓存命中也保证随机性
    • 错误细分:上游 HTTP 错 / errno!=0 / 列表为空 / 分类无该分辨率 → 不同 code

常见问题

随机壁纸 接口怎么免费使用?

未登录用户每个 IP 每天 2000 次免费。登录用户创建 API Key 后每天 10000 次免费,超额部分按点数计费(0 点/次)。

随机壁纸 支持哪些调用方式?

接口使用 GET 请求。文档提供 cURL、Python、JavaScript (Node.js)、Go、PHP 五种语言的可运行示例。也可以下载 /openapi.json 导入 Postman / Insomnia / Apifox 反向生成 SDK。

调用不限额么? QPS 是多少?

本接口 QPS 限制 20 req/s,每个 API Key 每日免费 10000 次。需要更高额度可升级 VIP 套餐或联系售后提高 QPS。

这个接口跟自己直连上游有什么区别?

极数本源 作为中间层提供:统一鉴权(一个 Key 调所有接口)、统一计费(点数制)、统一限流、统一错误码、多上游自动切换。免去逐个对接上游、维护 Key、统计调用量的运维成本。