media-generator.md
基本信息
- 类型: React Client 组件
- 路径:
./src/components/prompts/media-generator.tsx
功能描述
媒体生成器组件,用于使用AI生成图片、视频或音频媒体。支持选择不同的AI提供商和模型,支持设置宽高比,显示生成进度和状态。
导出内容
MediaGenerator- 主组件MediaGeneratorProps- Props接口
Props 接口
| 属性 | 类型 | 说明 | ||
|---|---|---|---|---|
| prompt | string | 用于生成媒体的Prompt | ||
| mediaType | "IMAGE" \ | "VIDEO" \ | "AUDIO" | 媒体类型 |
| onMediaGenerated | (url: string) => void | 生成成功回调 | ||
| onUploadClick | () => void | 点击上传回调 | ||
| inputImageUrl | string | 输入图片URL(可选) |
生成状态
- idle - 空闲
- confirming - 确认中
- starting - 开始生成
- queued - 队列中
- processing - 处理中
- completed - 完成
- error - 错误
支持的宽高比
1:1、16:9、9:16、4:3、3:4、3:2、2:3
依赖
react- React核心next-intl- 国际化next/image- Next.js图片lucide-react- 图标库@/components/ui/button- 按钮组件@/components/ui/dropdown-menu- 下拉菜单组件@/components/ui/dialog- 对话框组件@/components/ui/progress- 进度条组件@/components/ui/select- 选择器组件sonner- Toast通知@/lib/plugins/media-generators- 媒体生成器插件
API端点
- GET
/api/media-generate- 获取可用模型 - POST
/api/media-generate- 开始生成 - GET
/api/media-generate/status- 查询生成状态
相关组件
PromptForm- 表单中集成媒体生成MediaField- 媒体字段