一个现代化的 AI 图像编辑 Web 应用,基于 Next.js 15 构建,使用 FLUX.1 Kontext [pro] 前沿模型提供强大的图像编辑功能。
- 🎨 智能图像编辑 - 基于 FLUX.1 Kontext Pro 的前沿 AI 模型
- 🌍 多语言支持 - 支持中文和英文界面
- 📱 响应式设计 - 完美适配桌面端和移动端
- 🚀 实时处理 - 快速的图像处理和预览
- 💡 多种编辑模式 - 智能、精确、创意三种编辑模式
- 🎯 背景移除 - 基于 Kontext Pro 的智能背景移除
- 📐 纵横比控制 - 支持9种纵横比选项 (21:9, 16:9, 4:3, 3:2, 1:1, 2:3, 3:4, 9:16, 9:21)
- 🖼️ 多格式支持 - 支持 JPG, JPEG, PNG, WebP, AVIF 格式
- 📁 本地下载 - 支持处理结果本地保存
- 🔒 安全性保障 - 文件验证与 API 密钥保护
- 前端框架: Next.js 15 (App Router)
- UI 组件: Shadcn/ui + Tailwind CSS
- AI 模型: FLUX.1 Kontext [pro] (通过 fal.ai)
- 国际化: next-intl
- 类型检查: TypeScript
- 样式: Tailwind CSS + CSS Variables
- 数据库: Drizzle ORM
- 认证: NextAuth.js
- 图像处理: Sharp
- 状态管理: Zustand
git clone https://github.com/ItusiAI/Open-Aiartools.git
cd Open-Aiartoolsnpm install
# 或
yarn install
# 或
pnpm install复制 .env.example 到 .env.local 文件并添加您的 API 密钥:
# Fal AI API配置
# 从 https://fal.ai 获取您的API密钥
FAL_KEY=your_fal_api_key_here
# DeepSeek API配置
# 从 https://platform.deepseek.com 获取您的API密钥
DEEPSEEK_API_KEY=your_deepseek_api_key_here
# 数据库配置
# Neon数据库连接字符串
DATABASE_URL=postgresql://username:password@hostname/database?sslmode=require
# NextAuth.js配置
NEXTAUTH_SECRET=your_nextauth_secret_here
NEXTAUTH_URL=http://localhost:3000
# Resend邮件服务配置
RESEND_API_KEY=your_resend_api_key_here
RESEND_FROM_EMAIL=noreply@yourdomain.com
# JWT配置
JWT_SECRET=your_jwt_secret_here
# Stripe支付配置
# 从 https://stripe.com 获取您的API密钥
STRIPE_PUBLISHABLE_KEY=your_stripe_publishable_key_here
STRIPE_SECRET_KEY=your_stripe_secret_key_here
STRIPE_WEBHOOK_SECRET=your_stripe_webhook_secret_here
STRIPE_PRICE_ID=your_stripe_price_id_here环境变量配置说明:
- 访问 fal.ai 注册账户,获取FAL_KEY
- 访问 platform.deepseek.com 注册账户,获取DEEPSEEK_API_KEY
- 访问 neon.tech 创建数据库,获取DATABASE_URL
- 访问 resend.com 注册账户,获取RESEND_API_KEY
- 访问 stripe.com 注册账户,获取Stripe API密钥和价格ID
- 生成安全的密钥用于NEXTAUTH_SECRET和JWT_SECRET
访问 fal.ai 获取您的 API 密钥,该密钥用于访问 FLUX.1 Kontext [pro] 模型。
npm run dev
# 或
yarn dev
# 或
pnpm dev访问 http://localhost:3000 查看应用。
上传图像并进行 AI 编辑。
支持的操作 (action):
smart- 智能编辑(默认)precise- 精确编辑creative- 创意编辑remove_background- 背景移除
请求参数:
image(File) - 图像文件 (支持 JPG, JPEG, PNG, WebP, AVIF)prompt(String) - 编辑提示词(背景移除时可选)action(String) - 操作类型(可选,默认为 smart)guidance_scale(Number) - 引导比例(可选)strength(Number) - 编辑强度(可选)aspect_ratio(String) - 生成图片纵横比(可选)
获取 API 信息和使用说明。
本项目专注使用 FLUX.1 Kontext [pro] 模型:
fal-ai/flux-pro/kontext- 前沿图像编辑模型,具有强大的上下文理解能力
支持以下语言:
- 🇨🇳 中文 (简体)
- 🇺🇸 English
语言文件位于 messages/ 目录下。
Open-Aiartools/
├── app/ # Next.js 14 App Router
│ ├── [locale]/ # 国际化路由
│ │ ├── auth/ # 认证相关页面
│ │ ├── dashboard/ # 用户仪表盘
│ │ ├── payment/ # 支付相关页面
│ │ └── page.tsx # 主页面
│ ├── api/ # API 路由
│ │ ├── auth/ # 认证 API
│ │ ├── edit-image/ # 图像编辑 API
│ │ ├── batch-process/ # 批量处理 API
│ │ └── stripe/ # 支付 API
│ └── globals.css # 全局样式
├── components/ # React 组件
│ ├── ui/ # UI 基础组件
│ ├── editor/ # 编辑器相关组件
│ ├── hero-section.tsx # 首页英雄区组件
│ ├── features-section.tsx # 特性展示组件
│ └── ... # 其他业务组件
├── lib/ # 工具库
│ ├── fal-client.ts # Fal AI 客户端
│ ├── auth.ts # 认证工具
│ ├── db.ts # 数据库连接
│ ├── schema.ts # 数据库模式
│ ├── image-utils.ts # 图像处理工具
│ └── utils.ts # 工具函数
├── hooks/ # 自定义 React Hooks
├── store/ # 状态管理
├── drizzle/ # 数据库迁移
├── messages/ # 国际化消息
├── public/ # 静态资源
│ ├── images/ # 图片资源
│ └── ... # 其他静态资源
└── styles/ # 样式文件
# 测试 Fal AI 连接
npm run test:fal# 运行数据库迁移
npm run db:migrate
# 生成新的迁移文件
npm run db:generate# TypeScript 类型检查
npm run type-check
# ESLint 检查
npm run lint
# 格式化代码
npm run format项目使用 CSS Variables 进行主题定制,主要变量定义在 styles/globals.css 中。您可以通过修改这些变量来自定义应用的外观。支持亮色和暗色两种主题模式。
- 移动端优先的响应式设计
- 支持触摸操作和手势
- 适配各种屏幕尺寸,从手机到超宽显示器
- 针对不同设备优化的用户界面
- 支持横屏和竖屏模式切换
- 文件类型验证和过滤
- 文件大小限制 (最大 5MB)
- API 密钥环境变量管理
- 内容安全策略 (CSP)
- 用户认证和授权
- 数据加密和安全存储
- 防止 XSS 和 CSRF 攻击
MIT License - 查看 LICENSE 文件了解详情。
欢迎提交 Issue 和 Pull Request!
- Fork 项目
- 创建您的特性分支 (
git checkout -b feature/amazing-feature) - 提交您的更改 (
git commit -m 'Add some amazing feature') - 推送到分支 (
git push origin feature/amazing-feature) - 打开一个 Pull Request
如需帮助,请:
支持以下纵横比选项:
21:9- 超宽屏16:9- 宽屏4:3- 标准3:2- 经典1:1- 正方形2:3- 竖版经典3:4- 竖版标准9:16- 竖版宽屏9:21- 竖版超宽
- JPG/JPEG - 标准JPEG格式
- PNG - 支持透明背景的PNG格式
- WebP - 现代Web图片格式
- AVIF - 最新一代图片格式
- 文件大小限制: 5MB