Next.js 16 实现的 Lovart 接入项目,包含:
- OpenAI 风格图片/视频生成 API(
/v1/images/generations、/v1/videos/generations) - 对话式前端页面(
/) - 会话管理 API(创建、列表、详情、删除、发送消息)
默认优先模型(参考原项目推荐):
- 图片:
vertex/nano-banana-2 - 视频:
generate_video_seedance_v2_0
复制 .env.example 到 .env.local 并填写:
cp .env.example .env.local关键变量:
LOVART_ACCESS_KEYLOVART_SECRET_KEYLOVART_AUTO_CONFIRM(视频高价任务是否自动确认,默认true)LOVART_TIMEOUT_SECONDS(首轮 poll 超时,默认180)LOVART_VIDEO_RECOVERY_TIMEOUT_SECONDS(首轮超时后继续恢复视频结果的时长,默认180)
pnpm install --store-dir /Users/wayhome/Stuff/ai/video/.pnpm-store
pnpm dev默认地址:http://127.0.0.1:3000
curl http://127.0.0.1:3000/healthcurl http://127.0.0.1:3000/v1/images/generations \
-H 'Content-Type: application/json' \
-d '{
"prompt": "A red apple on a white studio background",
"size": "1024x1024",
"n": 1,
"response_format": "url"
}'curl http://127.0.0.1:3000/v1/videos/generations \
-H 'Content-Type: application/json' \
-d '{
"prompt": "A 5-second cinematic cloud timelapse over mountains",
"size": "1280x720",
"n": 1,
"response_format": "url"
}'GET /api/sessions:会话列表POST /api/sessions:新建会话GET /api/sessions/:id:会话详情DELETE /api/sessions/:id:删除会话POST /api/sessions/:id/messages:发送消息并生成图片/视频
消息示例:
curl http://127.0.0.1:3000/api/sessions/<session_id>/messages \
-H 'Content-Type: application/json' \
-d '{
"prompt": "Create a moody rainy city street shot",
"mediaType": "image",
"model": "vertex/nano-banana-2"
}'npm test会话和默认 project 状态持久化到:
.data/sessions.json