Skip to main content

Documentation Index

Fetch the complete documentation index at: https://tech.illasoft.com/llms.txt

Use this file to discover all available pages before exploring further.

概述

kira-ads-platform 是一个独立的 Next.js 批量 AI 图像生成工具,和 Kira 主产品线(kira-be / kira-web)没有 API 耦合,只是同一组织下的运营辅助工具。用户导入图片、配置模型/比例/提示词,批量调用 KIE(Kira Image Engine)生成,支持 zip 批量下载。

部署形态

平台Fly.io (sjc)
资源2 CPU shared / 2 GB RAM
端口3000
入口node node_modules/next/dist/bin/next start
域名内部使用(未对外)

路由

Path文件类型
/app/page.tsx (210 行)Client component
/api/generateapp/api/generate/route.tsServer-only,调 KIE 上传+创建任务
/api/generate/statusapp/api/generate/status/route.ts查询 KIE 任务状态

前端架构

  • 无状态管理库:纯 useState 管理 cards: GeneratorCard[]
  • 卡片状态机idlegeneratingdone / error
  • KIE 轮询:客户端每 5 秒调 /api/generate/status,最多 120 次 = 10 分钟超时(utils/kie.ts:33-50
  • 批量下载:JSZip 把所有 done 卡片的图片打包

KIE 集成

Server route 调用 KIE:
POST /api/generate
  ├─ multipart form: file + { model, aspectRatio, prompt }
  ├─ KIE 上传:POST {KIE_URL}/upload
  ├─ KIE 创建任务:POST {KIE_URL}/generate
  └─ 返回 { taskId }

GET /api/generate/status?taskId=xxx
  └─ KIE 查询:GET {KIE_URL}/status/{taskId}
     → { state: "idle"|"generating"|"done"|"error", imageUrl? }
KIE_KEY 存在 Fly secret,不暴露到前端

模型和比例

utils/constants.tsMODEL_OPTIONS:每个模型支持的宽高比列表。运营添加新模型需要手动在这里加枚举 + 前端下拉框同步更新。

环境变量

KIE_KEY     # KIE API key(Fly secret)

与 Kira 主线的关系

维度关系
数据库独立(无 Supabase 连接)
鉴权无(目前内部工具,依赖网络访问控制)
计费无(不消耗用户 credits,用独立 KIE quota)
事件无(不发 PostHog,不入 Inngest)

Caveat

  • 10 分钟轮询超时:长生成任务会客户端失败,KIE 服务端仍可能完成
  • 无错误日志持久化:浏览器关闭后错误无法追溯
  • 无访问控制:部署时需要靠网络层(Cloudflare Access / 内网)保护
  • 无 SSL/签名:和 KIE 的通信无额外签名,靠 KIE_KEY header

最近提交

  • d682be4 Dockerfile 和 fly.toml 对齐
  • 2f29694 实现 Ads Platform 核心
  • 72444dc 初始化