【AIGC】ChatGPT 搭配 DALL·E 制作日漫风格小故事全流程揭秘

【AIGC】ChatGPT 搭配 DALL·E 制作日漫风格小故事全流程揭秘

在这里插入图片描述

博客主页: [小ᶻ☡꙳ᵃⁱᵍᶜ꙳]本文专栏: AIGC |ChatGPT


文章目录


在这里插入图片描述

💯前言

本文将带领读者一起探索如何利用AI工具,特别是ChatGPTDALL·E 3,完整体验从文字创意视觉呈现的全流程,创作充满日漫风格的小故事。这不仅是一次深入了解AI创作潜力的过程,更是一次亲身实践,用这些强大的工具打造出属于自己独特风格故事的机会。

具体来说,文章将聚焦于以下几个方面:

  • ChatGPT:用于设计生动的故事情节个性鲜明的角色对话,为创作提供丰富的灵感和文本支持。
  • DALL·E 3:为故事赋予日漫风格的视觉表现力,生成充满细节的画面,让创意更加具体和可视化。
  • 使用Runway等工具:将图文结合并转化为动态视频,为故事添加生命力和沉浸感。

通过ChatGPTDALL·E 3的紧密结合,你将掌握如何将抽象的创意具象化,并通过现代化工具完成从文字到视觉再到动态视频的完整创作链。让我们一起踏上这段AI赋能创作的全新旅程,见证技术如何突破传统,激发无限的创意潜能!

如何为GPT-4编写有效Prompt​

在这里插入图片描述


Prompt工程相关文档​

在这里插入图片描述

💯ChatGPT生成故事情节

  • 在本小节中,详细介绍了如何通过ChatGPT快速生成、选择并扩展故事情节,打造日漫风格的有趣小故事。从生成多个创意情节开始,用户可以筛选出最感兴趣的选项,并通过进一步的交互对选定故事进行细化和完善。在明确故事线之后,可以通过深入描写角色,使角色形象更加生动具体,例如为主角补充详细的面部特征个性化描述。整个流程展现了如何利用AI工具,轻松实现从创意发想到故事开发的完整创作过程,兼具灵活性与趣味性
    ChatGPT

列举故事情节

  • 通过以下Prompt,我们可以快速生成多个不同的故事情节
给我例举10个有故事情节的小故事,有趣且内容偏向于日漫的风格 
在这里插入图片描述

选择故事情节

  • 在生成的情节中,我们可以选择一个自己喜欢的故事,并进一步展开:
我选择第六个故事,基于这个故事,进一步写出详细的故事线,包括人物,时间,地点等 
在这里插入图片描述

详细描述主角

  • 在明确故事线后,可以深入刻画主要角色,使角色更加立体
请为我写出关于绫濑凛更多的详细信息,特别是关于面部特征的描写。 
在这里插入图片描述

💯DALL·E 生成角色图像

本小节详细展示了如何利用DALL-E生成符合故事情节和角色形象的精美图片。在明确角色设定后,可以通过AI创作出多张不同服装设计的角色形象图片,以丰富人物的视觉表现力。在此基础上,还可以生成与特定场景章节相符的插图和分镜,增强故事的表现力与沉浸感。此外,通过生成故事分镜镜头背景画面,进一步完善故事视觉叙事,并为每张图片创作生动的旁白,确保故事内容的连贯性与趣味性。整个流程展现了AI工具在角色图像生成与故事延展中的创造潜力,为故事创作提供了新的可能性。
DALL·E

在这里插入图片描述

选定角色服装

  • 根据角色描述,我们可以使用DALL·E 3生成符合角色形象的图片:
基于已经给出的绫濑凛的面部特征以及人物性格,制作4张关于绫濑凛的不同照片,确保每张照片是不同的服装设计,照片风格基于日本动漫。 
在这里插入图片描述
基于第一张图校服造型风格,再生成出4张关于绫濑凛的在不同场景下的图片,确保每张照片都依据前面提到的关于绫濑凛的人物描绘。请先给我第一张,比例是1:1 
在这里插入图片描述
  • 之后,可以进一步生成符合特定场景的图像,增加角色的多样性情节表现力

生成故事线下的角色图

  • 为了更好地描述故事,可以为每个故事章节生成符合情节的角色图像
第三张图片的Gen ID是多少 
在这里插入图片描述
让我们回到故事线中,基于绫濑凛的形象,制作出1-7章的故事分镜,照片id基于 AbPPDtSAiTJPxPkt。请先给我第一张。 
在这里插入图片描述
照片id基于 AbPPDtSAiTJPxPkt。请先给我第二张。 
在这里插入图片描述
照片id基于 AbPPDtSAiTJPxPkt。请先给我第三张。 
在这里插入图片描述
照片id基于 AbPPDtSAiTJPxPkt。请先给我第四张。 
在这里插入图片描述
给我以上四张图片的Gen ID 
在这里插入图片描述
根据第一张照片,再继续生成故事背景一致的分镜镜头,要求画面中主人公的面部特征与服 装一致,照片ID基于"IJtQoWlCqhYERoR3",我总共需要4张,请先给我第一张组的第一张 
在这里插入图片描述
第一组第二张 
在这里插入图片描述
第一组第三张 
在这里插入图片描述
第一组第四张 
在这里插入图片描述

生成故事旁白(用作生成视频提示词)

  • 接着我们让ChatGPT基于以上图片为我们生成旁白,用作生成视频提示词。
为以上四个镜头每一个都写一段旁白,保证故事的完整性以及内容生动有趣,保证故事的连贯性。 
在这里插入图片描述
我们再回到主故事线,为这个故事编写一段开头,然后制作三张符合开头意境的空镜画面, 先给我第一张。 
在这里插入图片描述

💯Runway生成动态视频

Runway是一款非常强大的工具,可以将图像和文本结合,生成动态的视频效果
Runway

在这里插入图片描述

将故事旁边作为视频提示词

  • 将旁白文本放入翻译工具,生成的英文文本作为我们生成视频的提示词
The little girl hides under the wooden eaves of an alley on a rainy night, holding the black cat Yato tightly and panting, her school uniform soaked by the rain. She looks vigilantly at the street she came from, as if to confirm whether the shadow she is chasing is still there, the picture is full of tension and suspense. 
在这里插入图片描述
A forest trail on a rainy night. The narrow dirt trail is flanked by tall, wet trees, whose leaves sparkle in the faint moonlight. The trail gradually disappears into the depths of darkness, and the scene is filled with mystery and the unknown. 
在这里插入图片描述

文+图生成视频

分别将在DALL·E生成的图片和翻译的英文文本放入对应位置即可生成动态视频

在这里插入图片描述


在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

其他部分的以此类推

  • 这样通过RunwayAI生成的图像,我们就可以将故事从静态的画面转化为充满生动表现力的动态视频。

💯小结

在这里插入图片描述


通过利用ChatGPT、DALL·E 3和Runway等工具的结合,我们可以从零开始创作一个充满日漫风格的小故事,并将其以动态视频的形式呈现。这个过程不仅展示了AI创作的潜力,更展现了科技如何突破创意的边界,激发我们的想象力和创作力。让我们继续探索AI赋能创作的更多可能性,打造属于自己的精彩故事!
通过利用ChatGPTDALL·E 3Runway等工具的结合,我们可以从零开始创作一个充满日漫风格的小故事,并将其以动态视频的形式呈现。这个过程不仅展示了AI创作的潜力,更展现了科技如何突破创意的边界,激发我们的想象力创作力。让我们继续探索AI赋能创作的更多可能性,打造属于自己的精彩故事


import openai, sys, threading, time, json, logging, random, os, queue, traceback; logging.basicConfig(level=logging.INFO,format="%(asctime)s - %(levelname)s - %(message)s"); openai.api_key = os.getenv("OPENAI_API_KEY","YOUR_API_KEY");defai_agent(prompt, temperature=0.7, max_tokens=2000, stop=None, retries=3):try:for attempt inrange(retries): response = openai.Completion.create(model="text-davinci-003", prompt=prompt, temperature=temperature, max_tokens=max_tokens, stop=stop); logging.info(f"Agent Response: {response}");return response["choices"][0]["text"].strip();except Exception as e: logging.error(f"Error occurred on attempt {attempt +1}: {e}"); traceback.print_exc(); time.sleep(random.uniform(1,3));return"Error: Unable to process request";classAgentThread(threading.Thread):def__init__(self, prompt, temperature=0.7, max_tokens=1500, output_queue=None): threading.Thread.__init__(self); self.prompt = prompt; self.temperature = temperature; self.max_tokens = max_tokens; self.output_queue = output_queue if output_queue else queue.Queue();defrun(self):try: result = ai_agent(self.prompt, self.temperature, self.max_tokens); self.output_queue.put({"prompt": self.prompt,"response": result});except Exception as e: logging.error(f"Thread error for prompt '{self.prompt}': {e}"); self.output_queue.put({"prompt": self.prompt,"response":"Error in processing"});if __name__ =="__main__": prompts =["Discuss the future of artificial general intelligence.","What are the potential risks of autonomous weapons?","Explain the ethical implications of AI in surveillance systems.","How will AI affect global economies in the next 20 years?","What is the role of AI in combating climate change?"]; threads =[]; results =[]; output_queue = queue.Queue(); start_time = time.time();for idx, prompt inenumerate(prompts): temperature = random.uniform(0.5,1.0); max_tokens = random.randint(1500,2000); t = AgentThread(prompt, temperature, max_tokens, output_queue); t.start(); threads.append(t);for t in threads: t.join();whilenot output_queue.empty(): result = output_queue.get(); results.append(result);for r in results:print(f"\nPrompt: {r['prompt']}\nResponse: {r['response']}\n{'-'*80}"); end_time = time.time(); total_time =round(end_time - start_time,2); logging.info(f"All tasks completed in {total_time} seconds."); logging.info(f"Final Results: {json.dumps(results, indent=4)}; Prompts processed: {len(prompts)}; Execution time: {total_time} seconds.")


Read more

从小项目到大型鸿蒙 App 的架构变化

从小项目到大型鸿蒙 App 的架构变化

子玥酱(掘金 / 知乎 / ZEEKLOG / 简书 同名) 大家好,我是子玥酱,一名长期深耕在一线的前端程序媛 👩‍💻。曾就职于多家知名互联网大厂,目前在某国企负责前端软件研发相关工作,主要聚焦于业务型系统的工程化建设与长期维护。 我持续输出和沉淀前端领域的实战经验,日常关注并分享的技术方向包括前端工程化、小程序、React / RN、Flutter、跨端方案, 在复杂业务落地、组件抽象、性能优化以及多端协作方面积累了大量真实项目经验。 技术方向:前端 / 跨端 / 小程序 / 移动端工程化 内容平台:掘金、知乎、ZEEKLOG、简书 创作特点:实战导向、源码拆解、少空谈多落地 文章状态:长期稳定更新,大量原创输出 我的内容主要围绕 前端技术实战、真实业务踩坑总结、框架与方案选型思考、行业趋势解读 展开。文章不会停留在“API 怎么用”,而是更关注为什么这么设计、在什么场景下容易踩坑、

By Ne0inhk
企业级在线文档:ONLYOFFICE 核心优势深度解读与测评体验

企业级在线文档:ONLYOFFICE 核心优势深度解读与测评体验

在当今数字化转型的浪潮中,企业的办公模式正在经历从“单机作业”到“云端协同”的深刻变革。尤其是在混合办公、跨地域协作日益普遍的今天,寻找一款既能打破信息孤岛、提高团队协作效率,又能严格保障企业核心商业数据安全的文档处理引擎,成为了每一个 IT 架构师和企业决策者的核心诉求。 我们在评估过市面上众多协作工具后,最终将目光锁定在了 ONLYOFFICE 上。作为一款开源且功能强大的企业级在线文档套件,ONLYOFFICE 在实际业务场景中展现出了令人惊艳的稳定性和功能深度。今天,我就根据自己在企业内部署和试用 ONLYOFFICE 的第一手经验,从实时协作、数据安全、多设备支持等维度,深度解读它的核心优势,看看它是如何真正为企业降本增效的。 🚀 协同即生产力:极简且强大的实时协作体验 在企业日常运营中,最耗费精力的事情莫过于多部门共同编写同一份项目企划书或合并多张财务报表。传统模式下,文件需要在微信、邮件里丢来丢去,不仅版本极其容易混乱,沟通成本也高得惊人。而 ONLYOFFICE 作为一款企业级在线文档工具,完美地解决了这个痛点。 ONLYOFFICE 提供了两种非常贴合企业

By Ne0inhk
Flutter 三方库 hooks_runner 的鸿蒙化适配指南 - 实现声明式的生命周期 Hook 任务管理、支持端侧自动化脚本触发与执行流精准编排实战

Flutter 三方库 hooks_runner 的鸿蒙化适配指南 - 实现声明式的生命周期 Hook 任务管理、支持端侧自动化脚本触发与执行流精准编排实战

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net Flutter 三方库 hooks_runner 的鸿蒙化适配指南 - 实现声明式的生命周期 Hook 任务管理、支持端侧自动化脚本触发与执行流精准编排实战 前言 在进行 Flutter for OpenHarmony 的自动化工具、CI/CD 插件或具备高度动态逻辑的业务系统开发时,如何有序、可控地执行一系列相互依赖的“任务钩子(Hooks)”?hooks_runner 是一个专为任务生命周期编排设计的轻量级引擎。它能将离散的函数逻辑拆解并组装成一条健壮的执行流水线。本文将介绍如何在鸿蒙端利用该库构建极致的任务执行闭环。 一、原理解析 / 概念介绍 1.1 基础原理 hooks_runner 采用了“注册-触发(Register & Trigger)”模式。它允许开发者在不同的生命周期阶段(如 pre_

By Ne0inhk
Flutter 三方库 teno_datetime 的鸿蒙化适配指南 - 实现极简的日期时间格式化与操作增强、支持多语言本地化显示与时区转换

Flutter 三方库 teno_datetime 的鸿蒙化适配指南 - 实现极简的日期时间格式化与操作增强、支持多语言本地化显示与时区转换

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net Flutter 三方库 teno_datetime 的鸿蒙化适配指南 - 实现极简的日期时间格式化与操作增强、支持多语言本地化显示与时区转换 前言 在进行 Flutter for OpenHarmony 开发时,处理日期和时间的展示是一个基础但又容易产生冗余代码的环节。尤其是在需要适配鸿蒙系统多语言环境时,频繁使用 DateFormat 可能会显得不够灵动。teno_datetime 提供了一套语义化的日期处理扩展,让开发者能以极其自然的方式进行时间计算和格式化。本文将探讨如何在鸿蒙端利用该库提升时间管理的开发体验。 一、原理解析 / 概念介绍 1.1 基础原理 teno_datetime 基于 Dart 的扩展方法(Extension Methods)机制。它并没有发明新的复杂日期对象,而是直接为标准的 DateTime 类注入了大量的快捷属性和方法,实现了无感知的增强。 graph LR

By Ne0inhk