【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

33岁失业女前端程序员,可以转行干什么啊?

33岁失业女前端程序员,可以转行干什么啊?

33岁失业,既没有20+的精力无限,也还没到40+的稳定沉淀,加上前端行业技术迭代快、年轻化竞争激烈的现状,焦虑感扑面而来太正常了。 但作为一名深耕行业多年的观察者,我想先给各位姐妹吃颗定心丸:33岁的前端经验不是“包袱”,而是“宝藏”。咱们多年积累的逻辑思维、用户感知、跨团队沟通能力,以及对技术实现边界的把控,都是转行的核心优势。与其纠结“年龄大了怎么办”,不如聚焦“我的优势能迁移到哪里”。结合行业趋势和女性从业者的特质,整理了6个高适配、易落地的转行方向,供大家参考。 一、技术相关赛道:发挥积累,平稳过渡 如果对技术还有热情,不想彻底脱离IT圈,这类方向能最大化利用前端基础,转型成本最低,也是最容易快速上手的选择。 1. 测试开发工程师:细节控的“降维打击” 前端开发天天和界面打交道,最清楚用户会怎么操作、哪里容易出bug,这种对用户行为的敏感度,是测试开发的核心竞争力。而且咱们懂代码、懂开发流程,从“找bug”升级为“

【Linux网络系列】:JSON+HTTP,用C++手搓一个web计算器服务器!

【Linux网络系列】:JSON+HTTP,用C++手搓一个web计算器服务器!

🔥 本文专栏:Linux网络Linux实践系列 🌸作者主页:努力努力再努力wz 💪 今日博客励志语录:别害怕选错,人生最遗憾的从不是‘选错了’,而是‘我本可以’。每一次推倒重来的勇气,都是在给灵魂贴上更坚韧的勋章。 ★★★ 本文前置知识: 序列化与反序列化 引入 在之前的博客中,我详细介绍了序列化 与反序列化 的概念。对于使用 TCP 协议进行通信的双方,由于 TCP 是面向字节流的,在发送数据之前,我们通常需要定义一种结构化的数据来描述传输内容,并以此作为数据的容器。在 C++ 中,这种结构化数据通常表现为对象或结构体。然而,我们不能直接将结构体内存中对应的字节原样发送到另一端,因为直接传递内存字节会引发字节序 和结构体内存对齐 的问题。不同平台、不同编译器所遵循的内存对齐规则可能不同,这可能导致接收方在解析结构体字段时出现错误。 因此,我们需要借助序列化 。序列化 是指将结构化的数据按照预定的规则转换为连续的字节流。其主要目的是屏蔽平台差异,使得位于不同平台的进程能够以统一的方式解析该字节流。序列化通常分为两种形式:文本序列化 与二进制序列化 。 文

Web To App (web网页一键打包成android Apk文件)

引言 随着公司业务的快速发展,我们计划推出一款面向移动端用户的应用。然而,当前开发团队主要由 Web 前端工程师组成,缺乏原生 Android 开发经验。在完成 Web 版本的业务系统后,产品团队提出了一个关键需求:希望将现有的 Web 网站“安装”到用户的 Android 手机上,以提供类似原生 App 的使用体验。 面对这一需求,我主动承接了“将 Web 应用打包为 Android APK”的任务,并着手寻找一种对 Web 团队友好、低门槛且可自动化的实现方案。 现状与挑战 传统上,将 Web 内容封装为 Android 应用(通常称为“Web App 套壳”)需要搭建完整的 Android 开发环境。