图片水印裁剪缩略接口:内容/CMS 系统图片自动化(批量缩略与水印)
# 图片水印裁剪缩略接口:内容/CMS 系统图片自动化(批量缩略与水印)
> 接口/接入点:图片水印裁剪缩略接口(apiCode=1)· 1-1/1-2(或 base64 版) · 是否免费:免费(有档位限制) · 请求方式:POST/GET · 返回格式:JSON · 适用人群:内容平台工程师 · 阅读时间:7 分钟
## 核心要点
- 在 CMS 附件上传钩子里自动生成缩略、给富文本配图自动缩、给版权图统一加水印。
- 用户无感:编辑传原图,系统后台出缩略/水印,前端只取 `des_pic_url`。
- 批量/自动场景必加限流与缓存(见[频率控制篇](https://www.showapi.com/guides/image-process-ratelimit-1))。
## Why:CMS 为什么自动化
内容站每天上传几十上百张图,手动缩略、手动加水印既慢又易漏。把处理挂到上传钩子,编辑只管传原图,缩略与水印自动完成,体验一致、版权也更稳。
## What:挂接点
| 触发点 | 动作 | 接入点 |
|------|------|------|
| 附件上传完成 | 生成多尺寸缩略 | 1-1(文件)/ 1-5(base64) |
| 富文本插图保存 | 配图自动缩略 | 1-1 |
| 版权素材发布 | 统一加水印 | 1-2(文件)/ 1-3(base64) |
## How:上传钩子自动出图
**伪代码(CMS 钩子)**
```
on AttachmentSaved(attachment):
if attachment.type not in [jpg, png]: return
# 生成 3 种尺寸缩略
for size in [200, 800, 1200]:
url = call_api(1-1, src_img=attachment.path, type="size",
width=size, height=size, keepRate=1)
attachment.set("thumb_"+size, url)
# 版权素材加水印
if attachment.is_copyright:
url = call_api(1-2, src_img=attachment.path, logo_img=WATERMARK,
position="SouthEast", xy="+5+10")
attachment.set("watermarked", url)
attachment.save()
```
**Python:钩子里调 1-1(含限流)**
```python
import requests, time
def auto_thumb(path, size):
for i in range(3):
r = requests.post("https://route.showapi.com/1-1", params={"appKey":"YOUR_APPKEY"},
data={"type":"size","width":str(size),"height":str(size),"keepRate":"1"},
files={"src_img": open(path,"rb")}, timeout=10)
b = r.json()["showapi_res_body"]
if str(b.get("ret_code")) == "0":
return b["des_pic_url"]
time.sleep(2 ** i)
return None
```
**cURL(版权水印)**
```bash
curl -X POST "https://route.showapi.com/1-2?appKey=YOUR_APPKEY" \
-F "position=SouthEast" -F "xy=+5+10" \
-F "src_img=@article/cover.jpg" -F "logo_img=@copyright.png"
```
## 返回示例
```json
{ "showapi_res_body": { "ret_code": "0", "des_pic_url": "http://app1.showapi.com/temp/1.jpg" } }
```
## 进阶/边界
- 钩子内调用是同步的,会延长上传响应;高流量站点改异步队列(见[并发架构篇](https://www.showapi.com/guides/image-process-concurrency-1))。
- `des_pic_url` 临时,重要封面/版权图建议下载归档。
- 免费档位限制下,自动处理务必节流(见[频率控制篇](https://www.showapi.com/guides/image-process-ratelimit-1))。
## FAQ
**Q1:钩子里调接口会拖慢上传吗?** 会,单张尚可;量大请改异步队列,上传先返回"处理中"。
**Q2:富文本里已有外链图能缩吗?** 能,用 URL 版 1-8(见[URL 缩略篇](https://www.showapi.com/guides/url-thumbnail-guide-1))传图地址。
**Q3:水印图从哪来?** 站点统一准备一张透明 PNG 版权标,钩子里复用。
**Q4:失败会阻塞发布吗?** 不应阻塞,失败记日志、留空,后续重试或人工补。
## 相关能力 / 下一步阅读
- [图片水印裁剪缩略接口:免费档位限制与频率控制,如何避免触发限流](https://www.showapi.com/guides/image-process-ratelimit-1)
- [图片水印裁剪缩略接口实战:水印 position 九宫格与 xy 偏移怎么设](https://www.showapi.com/guides/watermark-position-guide-1)
- **本系列共 13 篇**:查看[图片水印裁剪缩略接口指南总目录](https://www.showapi.com/guides/image-process-guides-1)