0 成本搭建 AI 抠图网站:失业程序员的 38 元实战
这是一个真实的实战故事,也是一份能照抄的完整技术教程。 用一杯奶茶的钱,搭建一个生产级的 AI 抠图服务。
1. 为什么做这个?
失业后第 4 个月,我想试试"从 0 到 1 做产品",而不是天天刷招聘软件。
调研市面上的抠图工具:
| 工具 | 收费 |
|---|---|
| remove.bg | 0.2~2 美元/张 |
| 国内会员制 | 30~100 元/月 |
| 百度图像分割 API | 免费 1 万次/月 |
结论很清晰:用百度免费 API + Flask + 免费服务器,能做一个"免费 AI 抠图"工具,成本几乎为 0。
本文就是把这套东西完整讲一遍,代码可直接复制运行。
2. 整体架构
code复制
用户浏览器
│ 上传图片 (HTTP POST)
▼
你的服务器 (Flask + Python)
│ 调用
▼
百度智能云 图像分割 API
│ 返回前景图(base64)
▼
服务器合成透明背景 PNG
│
▼
浏览器下载结果
核心思路:前端只负责上传/下载,真正的"AI 抠图"由百度 API 完成,我们做中间的 Web 服务和结果处理。
3. 准备工作(全部免费)
3.1 服务器
- 阿里云 ECS 新人试用(2vCPU/2GiB,免费试用 1 个月)
- 系统:Alibaba Cloud Linux 3(CentOS 系均可)
3.2 申请百度 API
-
进入「产品服务 → 人工智能 → 图像技术」
-
开通「人像分割」(body_seg),有免费额度
-
在「应用列表」创建应用,拿到:
API_KEYSECRET_KEY
提示:body_seg 接口会直接返回"前景图"(已抠好、透明背景的 base64),我们不用自己算 mask,省去大量图像处理代码。
4. 服务器环境搭建
bash复制
# 1. SSH 登录
ssh root@你的服务器IP
# 2. 安装 Python 与依赖
dnf install -y python3 python3-pip
pip3 install flask requests
# 3. 建项目目录
mkdir -p /www/wwwroot/my_remove_bg_ai
cd /www/wwwroot/my_remove_bg_ai
安全加固建议:装 fail2ban,只放通 22/80/443 端口,禁用密码登录改用密钥。
5. 后端代码(Flask)
新建 app.py:
python复制
import base64
import requests
from flask import Flask, request, send_file, render_template_string
from io import BytesIO
app = Flask(__name__)
API_KEY = "你的API_KEY"
SECRET_KEY = "你的SECRET_KEY"
def get_access_token():
url = "https://aip.baidubce.com/oauth/2.0/token"
params = {
"grant_type": "client_credentials",
"client_id": API_KEY,
"client_secret": SECRET_KEY,
}
return requests.get(url, params=params, timeout=10).json()["access_token"]
def remove_bg(image_bytes):
token = get_access_token()
# 人像分割接口,type=foreground 直接返回抠好的前景图
url = f"https://aip.baidubce.com/rest/2.0/image-classify/v1/body_seg?access_token={token}"
data = {
"image": base64.b64encode(image_bytes).decode(),
"type": "foreground", # 返回透明背景前景图
}
r = requests.post(url, data=data, timeout=30).json()
if "foreground" not in r:
raise RuntimeError(r.get("error_msg", "API 调用失败"))
return base64.b64decode(r["foreground"])
@app.route("/")
def index():
return render_template_string(INDEX_HTML)
@app.route("/api/remove", methods=["POST"])
def api_remove():
f = request.files["file"]
img = f.read()
png = remove_bg(img)
return send_file(BytesIO(png), mimetype="image/png")
if __name__ == "__main__":
app.run(host="0.0.0.0", port=5000)
把 INDEX_HTML 变量(下一节的前端)放在 app.py 顶部即可。
6. 前端代码(HTML + JS)
把下面内容作为 INDEX_HTML 字符串放进 app.py(或直接写 index.html 由 Flask 托管):
html复制
<!doctype html>
<html lang="zh">
<head>
<meta charset="utf-8">
<title>AI 免费抠图</title>
<style>
body{font-family:sans-serif;text-align:center;background:#f5f6fa;margin:0;padding:40px}
.box{border:2px dashed #888;border-radius:10px;padding:30px;background:#fff;max-width:480px;margin:20px auto}
button{background:#2d8cf0;color:#fff;border:0;padding:10px 20px;border-radius:6px;cursor:pointer}
img{max-width:100%;margin-top:20px}
</style>
</head>
<body>
<h1>AI 免费抠图</h1>
<div class="box">
<input type="file" id="file" accept="image/*"><br><br>
<button onclick="upload()">一键抠图</button>
</div>
<div id="result"></div>
<script>
async function upload(){
const file = document.getElementById('file').files[0];
if(!file) return alert('请先选择图片');
const fd = new FormData();
fd.append('file', file);
const res = await fetch('/api/remove', {method:'POST', body: fd});
const blob = await res.blob();
const url = URL.createObjectURL(blob);
document.getElementById('result').innerHTML =
`<img src="${url}"><br><a download="result.png" href="${url}">下载结果</a>`;
}
</script>
</body>
</html>
7. 部署上线(nginx + 域名)
7.1 用 gunicorn 跑后端(更稳)
bash复制
pip3 install gunicorn
gunicorn -w 2 -b 127.0.0.1:5000 app:app --daemon
7.2 域名解析
- 在阿里云解析控制台,把
@和www的 A 记录指向服务器 IP - 域名一年约 ¥38(如 instantbg.cn)
7.3 nginx 反代
nginx复制
server {
listen 80;
server_name instantbg.cn www.instantbg.cn;
location / {
proxy_pass http://127.0.0.1:5000;
proxy_set_header Host $host;
}
}
8. HTTPS 证书(免费 Let’s Encrypt)
bash复制
dnf install -y certbot python3-certbot-nginx
certbot --nginx -d instantbg.cn -d www.instantbg.cn
注意:国内服务器对外提供 Web 服务必须完成 ICP 备案,否则 80/443 会被拦截。备案免费,约 1~2 周。
9. 真实成本 & 上线流程
| 项目 | 费用 |
|---|---|
| 域名 | ¥38/年 |
| 服务器 | ¥0(试用) |
| 百度 API | ¥0(免费额度) |
| SSL 证书 | ¥0(Let’s Encrypt) |
| 总计 | ¥38 |
上线节奏: 先跑通本地 → 部署到服务器 → 接 nginx → 备案 → 上 HTTPS。每一步验证通过再做下一步,避免一次性踩一堆坑。
10. 总结 & 商业化思路
这个项目让我从"只会写业务代码"变成"能独立交付一个产品":
- 技术闭环:前端、后端、API 集成、部署、HTTPS 全套打通
- 成本意识:先用免费额度验证,再决定要不要投入
- 内容资产:把过程写成文章/文档,本身就是可复利的资产
变现方向(合规、低成本):
- 网站接入 Google AdSense(备案后)
- 把踩坑经验做成付费文档/课程
- 技术教程引流到个人专栏
38 块钱买的不是域名,是"我也能做出产品"的信心。
相关链接:
- 百度文库:搜索
abcguangshi66查看我的文档 - Skill 市场:clawhub.ai/@qy-jscai
有想法欢迎交流,一起加油!