【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"); def ai_agent(prompt, temperature=0.7, max_tokens=2000, stop=None, retries=3): try: for attempt in range(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"; class AgentThread(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(); def run(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 in enumerate(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(); while not 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.")

在这里插入图片描述


评论 141
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小ᶻ☡꙳ᵃⁱᵍᶜ꙳

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值