feat: 添加cos真人模板

- 新增CosplayRealPersonTemplate模板类
  - 模板代码: cosplay_real_person_v1
  - 支持图生图+生视频功能
  - 使用gemini-2.5-flash-image模型生成cosplay真人照片
  - 使用302/MiniMax-Hailuo-02模型生成动作视频
- 图片生成提示词: 生成cosplay插图的真人照片,背景设置在Comiket
- 视频生成提示词: cosplay人物做经典动作的动态视频
- 积分消耗: 25分
- 视频时长: 6秒,竖屏比例9:16
- 更新模板导出和注册配置
- 提供完整的示例图片和视频链接
This commit is contained in:
杨明明 2025-09-03 19:03:19 +08:00
parent 33efcffcaa
commit 2a2f5b5536
3 changed files with 27 additions and 2 deletions

View File

@ -0,0 +1,23 @@
import { N8nVideoGenerateTemplate } from '../n8nTemplate';
// cos真人模板
export class CosplayRealPersonTemplate extends N8nVideoGenerateTemplate {
readonly code = 'cosplay_real_person_v1';
readonly name = 'cos真人';
readonly description = '生成cosplay这张插图的真人照片背景设置在Comiket并生成cosplay人物做经典动作的视频';
readonly creditCost = 25;
readonly version = '1.0.0';
readonly input = 'https://cdn.roasmax.cn/upload/c69a847f8e8740f594f731ef502c4054.png'; // 原始插图示例
readonly output = 'https://file.302.ai/gpt/imgs/20250903/376c2ee8e6bc06598b34cc43ce649aae.jpg'; // 输出图片示例
readonly tags = ['cosplay', '真人', 'Comiket', '动漫', '二次元', '视频生成'];
// N8n模板特定属性 - 图片生成
readonly imageModel = 'gemini-2.5-flash-image'; // 根据要求使用 gemini-2.5-flash-image
readonly imagePrompt = '生成一张cosplay这张插图的照片背景设置在Comiket插图主体大一些';
// N8n模板特定属性 - 视频生成
readonly videoModel = '302/MiniMax-Hailuo-02';
readonly videoPrompt = '图片里的cosplay人物动起来做出这个cosplay人物的经典动作';
readonly duration = 6; // 6秒视频
readonly aspectRatio = '9:16'; // 竖屏比例
}

View File

@ -1,2 +1,3 @@
export * from './PhotoRestoreTemplate'; export * from './PhotoRestoreTemplate';
export * from './close-eyes.template'; export * from './close-eyes.template';
export * from './CosplayRealPersonTemplate';

View File

@ -1,6 +1,6 @@
import { Injectable, OnModuleInit, Logger } from '@nestjs/common'; import { Injectable, OnModuleInit, Logger } from '@nestjs/common';
import { TemplateManager, Template } from './types'; import { TemplateManager, Template } from './types';
import { CloseEyesTemplate, PhotoRestoreTemplate } from './n8nTemplates'; import { CloseEyesTemplate, PhotoRestoreTemplate, CosplayRealPersonTemplate } from './n8nTemplates';
@Injectable() @Injectable()
export class TemplateService implements OnModuleInit { export class TemplateService implements OnModuleInit {
@ -72,6 +72,7 @@ export class TemplateService implements OnModuleInit {
this.templateManager.registerTemplates([ this.templateManager.registerTemplates([
new PhotoRestoreTemplate(), new PhotoRestoreTemplate(),
new CloseEyesTemplate(), new CloseEyesTemplate(),
new CosplayRealPersonTemplate(),
]); ]);
} catch (error) { } catch (error) {
this.logger.error('模板初始化失败:', error); this.logger.error('模板初始化失败:', error);