电商图片去水印 API 实战:3 行代码搞定商品图批量去水印(附 Python / Java / PHP 示例)
电商图片去水印 API 实战:3 行代码搞定商品图批量去水印(附 Python / Java / PHP 示例)
做电商最头疼的事情之一:从供应商那里拿到的商品图,右下角永远挂着别人的水印Logo。自己用PS一张张处理?商品SKU成百上千,根本忙不过来。找人批量处理?又是一笔不小的外包成本。
本文介绍一种更高效的方式——调用图片去水印API,3行代码即可实现商品图的自动批量去水印,并附Python/Java/PHP完整接入示例。
一、电商场景下,为什么需要自动去水印?
如果你是电商运营、独立站卖家、或者正在搭建商品管理系统,下面这些场景你一定遇到过:
-
供应商素材带水印:从1688、淘宝等平台拿到的商品图,往往带有供应商的水印Logo,直接上架会影响品牌形象和转化率
-
竞品图片素材复用:做竞品分析或选品调研时,需要收集大量带水印的图片进行二次加工
-
多平台铺货:同一批商品图要上架到淘宝、拼多多、抖音小店等多个平台,水印需要统一去除或替换
传统做法无非三种:自己用PS一张张抠(效率极低)、找人外包处理(成本高、周期长)、自己训练AI模型(技术门槛高、GPU成本贵)。
而图片去水印API的方案,把“AI能力”变成一个普通接口调用——你不需要懂深度学习,不需要买GPU服务器,3行代码就能搞定。从系统角度看,流程就是:上传图片 → 调用接口 → 拿到无水印图,整个链路自动化完成。
二、石榴智能图片去水印API:功能与特点
石榴智能图片去水印API,采用自研深度学习算法与图像处理技术,上传带有水印的图像后,即可返回去除水印后的清晰图像。

核心特点
| 特点 | 说明 |
|---|---|
| AI自动识别水印 | 无需手动标注水印位置,系统智能识别并去除 |
| 批量处理 | 支持循环调用,一次性处理成百上千张商品图 |
| 多场景适用 | 不仅去水印,还可去除图片中的污渍、划痕等瑕疵 |
| 在线工具+API双模式 | 普通用户可直接用在线版体验,开发者可以用在线工具免费体验效果 |
| 免费试用 | 注册即可获得免费测试额度 |
💰 价格参考:图片修复/去水印API按调用次数计费,约 ¥0.015/次。批量处理1000张商品图,成本仅15元左右,远低于外包处理费用。
三、3行代码搞定:多语言接入实战
前置准备
-
访问 石榴智能API市场 注册账号:支持免费在线体验,注册API账号送免费测试积分
-
在控制台获取你的
API_KEY和SECRET_KEY -
阅读 图像修复/图片去水印接口:API文档清晰,提供多种接入语言示例(如python、js、C#、java、php等),以及自动化脚本语言(如天诺、懒人精灵、按键精灵、易语言、EasyClick、触动精灵等)

Python 示例
# ==============================================================================
# 免费在线体验:https://www.shiliuai.com/inpaint/do
# API文档完整开发文档和代码示例:https://www.shiliuai.com/api/qushuiyin
# 支持免费在线体验
# API文档清晰,提供多种接入语言示例(如python、js、C#、java、php等),以及自动化脚本语言(如天诺、懒人精灵、按键精灵、易语言、EasyClick、触动精灵等)
# ==============================================================================
# -*- coding: utf-8 -*-
import requests
import base64
import cv2
import json
import numpy as np
api_key = '******' # 你的API KEY
image_path = '...' # 图片路径
mask_path = '...' # 蒙版路径
"""
第一次用 image_base64 请求,用 mask_base64
"""
with open(image_path, 'rb') as fp:
image_base64 = base64.b64encode(fp.read()).decode('utf8')
with open(mask_path, 'rb') as fp:
mask_base64 = base64.b64encode(fp.read()).decode('utf8')
url = 'https://api.shiliuai.com/api/inpaint/v1'
headers = {'APIKEY': api_key, 'Content-Type': 'application/json'}
data = {
'image_base64': image_base64,
'mask_base64': mask_base64
}
response = requests.post(url=url, headers=headers, json=data)
response = json.loads(response.content)
"""
成功:{'code': 0, 'msg': 'OK', 'msg_cn': '成功', 'result_base64': result_base64, 'image_id': image_id}
失败:{'code': error_code, 'msg': error_msg, 'msg_cn': '错误信息'}
"""
image_id = response.get('image_id')
result_base64 = response.get('result_base64')
if result_base64:
file_bytes = base64.b64decode(result_base64)
with open('result.jpg', 'wb') as f:
f.write(file_bytes)
image = np.asarray(bytearray(file_bytes), dtype=np.uint8)
image = cv2.imdecode(image, cv2.IMREAD_UNCHANGED)
cv2.imshow('result', image)
cv2.waitKey(0)
"""
第二次用 image_id 请求(根据实际场景判断是否需要2次请求),用 rectangles 参数
"""
rectangles = [
{'x1': 298, 'y1': 250, 'x2': 450, 'y2': 306},
{'x1': 616, 'y1': 519, 'x2': 732, 'y2': 560}
]
data = {
'image_id': image_id,
'rectangles': rectangles
}
response = requests.post(url=url, headers=headers, json=data)
核心逻辑只有3行:读取图片→调用API→保存结果。
批量处理(电商SKU场景)
import os
from concurrent.futures import ThreadPoolExecutor
def batch_remove_watermark(input_dir, output_dir):
"""批量处理整个文件夹的商品图"""
os.makedirs(output_dir, exist_ok=True)
images = [f for f in os.listdir(input_dir) if f.endswith(('.jpg','.png','.jpeg'))]
def process_one(filename):
result = remove_watermark(os.path.join(input_dir, filename))
if result.get("code") == 0:
with open(os.path.join(output_dir, filename), "wb") as f:
f.write(base64.b64decode(result["data"]["image"]))
print(f"✅ {filename} 处理完成")
# 多线程并发处理
with ThreadPoolExecutor(max_workers=10) as executor:
executor.map(process_one, images)
# 批量处理
batch_remove_watermark("./product_images/", "./clean_images/")
Java 示例
// ==============================================================================
// 免费在线体验:https://www.shiliuai.com/inpaint/do
// API文档完整开发文档和代码示例:https://www.shiliuai.com/api/qushuiyin
// 支持免费在线体验
// API文档清晰,提供多种接入语言示例(如python、js、C#、java、php等),以及自动化脚本语言(如天诺、懒人精灵、按键精灵、易语言、EasyClick、触动精灵等)
// ==============================================================================
import java.io.*;
import java.net.HttpURLConnection;
import java.net.URL;
import java.nio.file.Files;
import java.util.Base64;
import org.json.JSONObject;
public class InpaintApiExample {
public static void main(String[] args) {
String apiKey = "******";
String imagePath = "...";
String maskPath = "...";
String apiUrl = "https://api.shiliuai.com/api/inpaint/v1";
try {
String imageBase64 = Base64.getEncoder().encodeToString(Files.readAllBytes(new File(imagePath).toPath()));
String maskBase64 = Base64.getEncoder().encodeToString(Files.readAllBytes(new File(maskPath).toPath()));
JSONObject requestData = new JSONObject();
requestData.put("image_base64", imageBase64);
requestData.put("mask_base64", maskBase64);
JSONObject response = sendPost(apiUrl, apiKey, requestData);
if (response.getInt("code") == 0) {
byte[] resultBytes = Base64.getDecoder().decode(response.getString("result_base64"));
Files.write(new File("result.jpg").toPath(), resultBytes);
System.out.println("去水印成功,已保存 result.jpg");
} else {
System.out.println("请求失败: " + response.optString("msg_cn", response.optString("msg")));
}
} catch (Exception e) {
e.printStackTrace();
}
}
private static JSONObject sendPost(String apiUrl, String apiKey, JSONObject body) throws Exception {
HttpURLConnection conn = (HttpURLConnection) new URL(apiUrl).openConnection();
conn.setRequestMethod("POST");
conn.setRequestProperty("APIKEY", apiKey);
conn.setRequestProperty("Content-Type", "application/json");
conn.setDoOutput(true);
try (OutputStream os = conn.getOutputStream()) {
os.write(body.toString().getBytes("utf-8"));
}
StringBuilder sb = new StringBuilder();
try (BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream(), "utf-8"))) {
String line;
while ((line = br.readLine()) != null) sb.append(line.trim());
}
return new JSONObject(sb.toString());
}
}
PHP 示例
// ==============================================================================
// 免费在线体验:https://www.shiliuai.com/inpaint/do
// API文档完整开发文档和代码示例:https://www.shiliuai.com/api/qushuiyin
// 支持免费在线体验
// API文档清晰,提供多种接入语言示例(如python、js、C#、java、php等),以及自动化脚本语言(如天诺、懒人精灵、按键精灵、易语言、EasyClick、触动精灵等)
// ==============================================================================
$url = "https://api.shiliuai.com/api/inpaint/v1";
$method = "POST";
$apikey = "******";
$header = array();
array_push($header, "APIKEY:" . $apikey);
array_push($header, "Content-Type:application/json");
$image_path = "...";
$handle = fopen($image_path, "r");
$image = fread($handle, filesize($image_path));
fclose($handle);
$image_base64 = base64_encode($image);
$mask_path = "...";
$handle = fopen($mask_path, "r");
$mask = fread($handle, filesize($mask_path));
fclose($handle);
$mask_base64 = base64_encode($mask);
$data = array(
"image_base64" => $image_base64,
"mask_base64" => $mask_base64
);
$post_data = json_encode($data);
$curl = curl_init();
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
curl_setopt($curl, CURLOPT_POSTFIELDS, $post_data);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
$response = curl_exec($curl);
var_dump($response);
四、电商场景实战:去水印 + 商品上架自动化
结合去水印API,你可以搭建一条完整的商品图自动化处理流水线:
供应商素材下载 → 调用去水印API → 图片上传至OSS/CDN → 商品信息自动上架
# 完整流水线示例
def auto_process_product(image_url, product_name):
# 1. 下载带水印的商品图
download_image(image_url, "temp.jpg")
# 2. 调用去水印API
result = remove_watermark("temp.jpg")
clean_image = base64.b64decode(result["data"]["image"])
# 3. 上传至云存储(示例:阿里云OSS)
upload_to_oss(clean_image, f"products/{product_name}.jpg")
# 4. 自动上架到电商平台(示例:调用店铺API)
shopify_create_product(product_name, f"products/{product_name}.jpg")
print(f"✅ {product_name} 处理并上架完成!")
这套流程跑通后,一个人可以管理上千个SKU的商品图处理,运营效率提升10倍以上。
五、为什么选择API方案而不是自己写代码去水印?
网上有很多“用Python OpenCV去水印”的教程,但实际落地时会遇到几个问题:
| 方案 | 优点 | 缺点 |
|---|---|---|
| 自己写代码去水印 | 免费、可定制 | 需要懂图像处理算法、每种水印都要单独调参、复杂水印去不干净 |
| 本地PS/工具手动处理 | 效果好、可控 | 无法自动化、无法批量、人力成本高 |
| 调用去水印API | 无需训练模型、无需部署、支持自动化批量、效果稳定 | 按调用次数付费(但单次成本极低) |
对于电商场景,API方案是性价比最高的选择——你不需要养一个算法团队,也不需要买GPU服务器,只需要对接接口即可。
六、总结
图片去水印API让电商商品图的批量处理变得极其简单:
-
3行核心代码即可完成单张图片的去水印
-
批量处理让成百上千张商品图自动化处理成为现实
-
结合自动化流水线,可实现从素材下载到商品上架的全链路自动化
-
单次成本仅约¥0.011,远低于人工处理费用
立即体验石榴智能图片去水印API
🆓 注册即送免费测试额度
📘 完整API文档:API文档清晰,提供多种接入语言示例(如python、js、C#、java、php等),以及自动化脚本语言(如天诺、懒人精灵、按键精灵、易语言、EasyClick、触动精灵等)
🛠️ 在线免费工具(无需代码,上传即体验):支持免费在线体验
相关阅读推荐
如果你在电商运营中也有图片处理的痛点,欢迎在评论区留言交流~
#图片去水印 #API接口 #电商工具 #Python教程 #批量处理 #石榴智能
更多推荐





所有评论(0)