分享一个刚做完的 AI 图像处理工具,技术栈挺有意思的 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
zxhywork
V2EX    分享创造

分享一个刚做完的 AI 图像处理工具,技术栈挺有意思的

  •  
  •   zxhywork 28 天前 1724 次点击

    项目背景

    最近用 Next.js 15 搭了一个图像到图像的 AI 处理工具,主要解决现有工具要么太贵,要么功能单一的问题。

    项目地址: https://aiimagetoimage.net

    核心功能

    • 图像到图像转换:上传图片 + 文字描述,AI 帮你重新生成
    • 批量处理:最多同时上传 5 张图片
    • 实时状态追踪:异步处理 + 轮询机制,有进度反馈
    • 积分系统:新用户送免费积分,用完再考虑付费

    技术实现

    前端

    • Next.js 15 (App Router) + TypeScript + Tailwind CSS
    • 拖拽上传,支持 JPEG/PNG/WebP ,单文件最大 24MB
    • 智能轮播:未登录用户看示例,登录用户看历史记录

    后端

    • Next.js API Routes + Drizzle ORM + PostgreSQL
    • NextAuth (Google/GitHub 登录)
    • Cloudflare R2 做文件存储

    核心流程

    1. 图片上传 → R2 存储获取公网 URL
    2. 调用 API 开始异步处理
    3. taskId 轮询机制检查状态
    4. 完成后展示前后对比图
    5. 一键下载结果

    踩过的坑

    1. DNS 配置:Dynadot + Cloudflare NS 花了半天时间调试
    2. 异步状态管理:轮询过程中要处理网络中断、超时等边界情况
    3. 积分系统:确保扣除和退还的原子性操作
    4. SEO 优化:修复了 Google Search Console 的结构化数据重复问题

    值得一提的细节

    • 响应式设计,移动端体验不错
    • 错误处理比较完善,失败会自动退还积分
    • 用了 Suspense 做 loading 优化
    • 所有文件操作都有进度和状态反馈

    成本控制

    • 前端托管:Vercel (免费)
    • 数据库:Supabase (免费额度)
    • 文件存储:Cloudflare R2 (几乎免费)
    • AI 接口:按量付费,成本可控

    目前日活不高,但功能比较完整,技术栈也算现代化。

    欢迎大家试用 https://aiimagetoimage.net ,有问题或建议随时交流。

    4 条回复    2025-09-17 04:33:03 +08:00
    wangyahao2018
        1
    wangyahao2018  
       28 天前   1
    是不是 chinese 人,为啥都是英文,我最讨厌英文了,上来就是看不懂,溜了
    zxhywork
        2
    zxhywork  
    OP
       28 天前
    其实简单 3 步,传图,输入变换的描述,如把这张图换成什么风格,或者把人物换掉等等,然后点击[generate image]( https://aiimagetoimage.net)
    uaiee
        3
    uaiee  
       25 天前
    兄弟 这个源代码出不 我自己也想部署一个 懒得用 AI 写 了 我后端自己换自己的 API
    zxhywork
        4
    zxhywork  
    OP
       23 天前
    @uaiee 你准备多少米要呀
    关于     帮助文档     自助推广系统     博客     API   &nbs; FAQ     Solana     5349 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 23ms UTC 07:30 PVG 15:30 LAX 00:30 JFK 03:30
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86