关于 creative-generation-agent
用于构建多模态创意生成 Agent 的指南与示例,面向制作音乐、图像、迷因和播客内容的开发者。项目还涵盖风格迁移、质量评估与内容审核流程。
主要功能
- 01生成旋律、编曲并合成音频
- 02制作图像与文字迷因
- 03生成播客脚本和音频
- 04根据提示词生成图像
- 05在图像间迁移艺术风格
- 06评估质量并进行内容审核
适用场景
- 01生成旋律并合成带音效的音频
- 02按主题和模板制作迷因
- 03将主题扩写为播客脚本与音频
- 04生成或转换风格化图像
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ qodex-ai/ ai-agent-skills --skill creative-generation-agent安装后在 Claude Code 中输入/creative-generation-agent确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
README.mdexamples/image_generation.pymeme_generator.pymusic_generation.pypodcast_producer.pystyle_transfer.pyscripts/audio_effects.pycontent_moderation.pycreative_quality_assessment.py详细介绍
创意生成 Agent
构建智能 Agent,生成原创创意内容,涵盖文本、音乐、图像、梗图和播客等多种模态。
概述
创意生成包括:
- 内容模型:扩散模型、Transformer、GAN
- 提示词工程:引导创意输出
- 风格控制:保持艺术风格一致性
- 质量评估:评估创意输出
- 迭代与优化:改进结果
应用
- AI 音乐创作与编曲
- 自动生成梗图
- 播客脚本与音频生成
- 创意写作辅助
- 艺术与图像生成
- 视频内容创作
- 游戏素材生成
快速开始
从以下目录提取代码示例和实用工具:
-
示例:查看
examples/目录,了解完整实现:music_generation.py- 音乐生成与音频合成meme_generator.py- 基于图像和文本的梗图生成podcast_producer.py- 播客脚本与音频制作image_generation.py- 基于扩散模型的图像生成style_transfer.py- 神经风格迁移
-
实用工具:查看
scripts/目录中的辅助模块:creative_quality_assessment.py- 质量评估audio_effects.py- 音频效果处理content_moderation.py- 安全与合规过滤
音乐生成
1. 符号音乐生成
将音乐生成为 MIDI/乐谱。参见 examples/music_generation.py。
主要类:
MusicGenerationAgent- 生成旋律和完整乐曲- 方法:
generate_melody()、generate_full_composition()、generate_harmony()
用法:
from examples.music_generation import MusicGenerationAgent
agent = MusicGenerationAgent()
melody = agent.generate_melody(
seed_notes=[("C4", 1), ("E4", 1), ("G4", 1)],
length=32,
temperature=0.8
)
composition = agent.generate_full_composition(style="classical", duration_bars=32)
2. 音频合成
直接生成音频波形。参见 examples/music_generation.py。
主要类:
AudioSynthesisAgent- 从 MIDI 合成音频并应用效果
用法:
from examples.music_generation import AudioSynthesisAgent
synth = AudioSynthesisAgent(sample_rate=44100)
audio = synth.synthesize_from_midi(midi_data, duration_seconds=60)
audio = synth.add_effects(audio, effect_type="reverb")
synth.save_audio(audio, "output.wav")
梗图生成
完整实现请参见 examples/meme_generator.py。
1. 基于图像的梗图生成器
通过为模板添加说明文字来生成梗图。
主要类:
MemeGenerationAgent- 生成带说明文字的图像梗图- 方法:
generate_meme()、generate_caption()、apply_caption_to_template()
用法:
from examples.meme_generator import MemeGenerationAgent
agent = MemeGenerationAgent()
meme = agent.generate_meme(topic="AI agents", meme_template="drake")
meme.save("output_meme.png")
2. 基于文本的梗图生成器
以多种格式生成纯文本梗图。
主要类:
TextMemeGenerator- 生成文本梗图- 方法:
generate_text_meme()、generate_joke_meme()、generate_deep_meme()
用法:
from examples.meme_generator import TextMemeGenerator
generator = TextMemeGenerator()
joke_meme = generator.generate_text_meme(topic="Python programming", format_type="joke")
deep_meme = generator.generate_text_meme(topic="AI", format_type="deep")
播客生成
完整实现请参见 examples/podcast_producer.py。
1. 脚本生成
生成结构清晰、对话自然流畅的播客脚本。
主要类:
PodcastScriptGenerator- 根据主题创建脚本- 方法:
generate_episode()、generate_script()、generate_content_segments()、generate_intro()、generate_outro()
用法:
from examples.podcast_producer import PodcastScriptGenerator
generator = PodcastScriptGenerator()
episode = generator.generate_episode(
topic="Future of AI",
duration_minutes=30,
num_hosts=2
)
print(episode["script"])
2. 音频制作
通过文本转语音和音效将脚本转换为音频。
主要类:
PodcastAudioProducer- 根据播客脚本制作音频- 方法:
produce_podcast()、text_to_speech()、add_background_music()、add_transitions()
用法:
from examples.podcast_producer import PodcastAudioProducer
producer = PodcastAudioProducer()
audio = producer.produce_podcast(script_text)
图像与艺术生成
参见 examples/image_generation.py 和 examples/style_transfer.py。
1. 扩散模型集成
使用 Stable Diffusion 或类似模型,根据文本提示词生成图像。
主要类:
ImageGenerationAgent- 根据文本提示词生成图像- 方法:
generate_image()、enhance_prompt()、generate_variations()
用法:
from examples.image_generation import ImageGenerationAgent
agent = ImageGenerationAgent()
image = agent.generate_image(
prompt="A futuristic city with neon lights",
style="cyberpunk",
num_inference_steps=50
)
image.save("generated_image.png")
variations = agent.generate_variations(image, num_variations=4)
2. 风格迁移
将一张图像的艺术风格迁移到另一张图像。
主要类:
StyleTransferAgent- 在图像之间应用风格迁移- 方法:
transfer_style()、preprocess_image()、postprocess_image()
用法:
from examples.style_transfer import StyleTransferAgent
agent = StyleTransferAgent()
stylized = agent.transfer_style(
content_image="photo.jpg",
style_image="monet_painting.jpg"
)
质量评估
完整实现请参见 scripts/creative_quality_assessment.py。
1. 创意质量指标
从多个质量维度评估生成的内容。
主要类:
CreativeQualityAssessor- 评估所有内容类型的质量- 方法:
assess_content_quality()、assess_music_quality()、assess_meme_quality()、assess_image_quality()
用法:
from scripts.creative_quality_assessment import CreativeQualityAssessor
assessor = CreativeQualityAssessor()
# Assess music quality
music_assessment = assessor.assess_content_quality(audio, content_type="music")
print(f"Overall score: {music_assessment['overall_score']}")
print(f"Metrics: {music_assessment['metrics']}")
# Assess meme quality
meme_assessment = assessor.assess_content_quality(meme, content_type="meme")
# Assess image quality
image_assessment = assessor.assess_content_quality(image, content_type="image")
最佳实践
内容生成
- ✓ 从明确指定风格和情绪开始
- ✓ 明智地设置 temperature(创意性使用 0.7-0.9,一致性使用 0.3-0.5)
- ✓ 实施迭代优化
- ✓ 保留 seed 值以确保可复现性
- ✓ 使用多样化的提示词进行测试
质量控制
- ✓ 系统地评估生成的内容(参见
creative_quality_assessment.py) - ✓ 实施人工审核流程
- ✓ 随时间跟踪质量指标
- ✓ 利用反馈优化模型
- ✓ 为不同的创意风格进行版本管理
音频处理
- ✓ 明智地使用音频效果(参见
audio_effects.py)- 使用混响营造空间纵深感
- 使用压缩控制动态范围
- 使用 EQ 平衡频率
- 使用淡入/淡出实现平滑过渡
- ✓ 监控音频电平以防止削波
- ✓ 适当地混合多条音轨
内容审核
- ✓ 过滤不当内容(参见
content_moderation.py) - ✓ 确保遵守版权规定
- ✓ 验证事实准确性
- ✓ 检查生成内容是否存在偏见
- ✓ 实施安全准则
- ✓ 在敏感应用中使用严格模式
实施清单
- 选择内容模态(音乐、图像、文本等)
- 选择生成模型/框架
- 实施提示词工程
- 设置质量评估指标
- 创建迭代优化流程
- 构建内容审核系统
- 使用多样化输入测试生成效果
- 优化速度与质量之间的权衡
- 对输出实施版本控制
- 记录提示词策略
资源
音乐生成
- Music Transformer:https://magenta.tensorflow.org/
- MuseNet:https://openai.com/blog/musenet/
- music21:https://web.mit.edu/music21/
图像生成
- Stable Diffusion:https://huggingface.co/runwayml/stable-diffusion-v1-5
- DALL-E:https://openai.com/dall-e/
- Midjourney:https://www.midjourney.com/
音频合成
- Jukebox:https://openai.com/research/jukebox
- Chirp:https://deepmind.google/discover/blog/chirp-universal-speech-model/
视频生成
- Runway:https://runwayml.com/
- Pika:https://pika.art/