产品展示

  • 首页 i(name 用 Amazon Bedrock 革新标志设计创作:拥抱生成艺术、动态标志和人工智能协作 机器学习博

用 Amazon Bedrock 革新标志设计创作:拥抱生成艺术、动态标志和人工智能协作 机器学习博

2026-01-27 14:35:40

用 Amazon Bedrock 革新 logo 设计:拥抱生成艺术、动态 logo 和 AI 合作

关键点摘要

行业正在快速转变,生成 AI 提供了更新的设计灵活性。Amazon Bedrock 提供强大的生成 AI 模型如 Stable Diffusion,帮助设计师快速创建、编辑 logo。集成 AWS 的无服务器计算和内容交付服务提升了互动体验。

在科技和创意设计领域,logo 设计与创作正在迅速演变。从古埃及的象形文字到现代科技巨头的简约风格,定义我们喜爱的品牌的视觉标识经历了显著的变革。

如今,创意设计的世界再次因生成 AI的出现而发生变化。设计师和品牌有机会突破创造力的界限,打造不仅视觉震撼且响应环境并符合目标用户偏好的 logo。

Amazon Bedrock 提供通过用户友好的 API 接入强大的生成 AI 模型,如Stable Diffusion。这些模型可以融入 logo 设计工作流程,允许设计师快速构思、实验、生成和编辑种类繁多的独特视觉图像。结合 AWS 的无服务器计算、网络和内容交付服务,例如AWS Lambda、Amazon API Gateway和AWS Amplify,可创造一个动态、响应式和适应性的 logo 生成工具。

在这篇文章中,我们将探讨 AWS 如何通过提供从 Stable Diffusion 模型获得强大的图像到图像生成能力来加速品牌的创意工作,达到互动创作和编辑艺术及 logo 图像的目的。

图像到图像模型

Stability AI 的图像到图像模型SDXL是一个深度学习模型,它基于文本描述、图像或其他输入生成图像。它首先将文本转换为数值,概括提示内容,然后使用这些值生成图像表示。最后,它将生成的图像表示提升为高分辨率图像。Stable Diffusion 还可以根据初始图像和文本提示生成新图像。例如,它可以为线条画填充颜色、光线和适合主题的背景。同时,Stable Diffusion 也支持修补在现有图像中添加特征和外绘从现有图像中删除特征。

它的一项主要应用是在广告与营销领域,用于创建个性化广告活动和无限数量的营销资产。企业能够基于具体提示生成视觉吸引且量身定制的图像,从而在拥挤的市场中脱颖而出,有效传达品牌信息。在媒体和娱乐行业,电影制作人、艺术家和内容创作者可以将其作为开发创意资产和通过图像进行构思的工具。

解决方案概述

下图展示了解决方案架构。

这个架构工作流程包括以下步骤:

在前端用户界面,用户选择两个选项之一开始:生成初始图像。提供初始图像链接。用户提供文本提示以编辑给定图像。用户选择 调用 API,调用 API Gateway 开始后端处理。API 调用 Lambda 函数,使用Amazon Bedrock API调用 Stability AI 的 SDXL 10 模型。被调用的模型生成图像,输出图像存储在Amazon 简单存储服务Amazon S3桶中。后端服务将输出图像返回到前端用户界面。用户可以将此生成的图像用作参考图像进行编辑、生成新图像或提供不同的初始图像。他们可以继续这个过程,直到模型生成满意的输出结果。

先决条件

要设置这个解决方案,请完成以下先决条件:

选择一个 AWS 区域来部署该解决方案。我们推荐使用 useast1。获取对 Stability SDXL 10 模型的访问权限,如果还没有,请参见访问 Amazon Bedrock 基础模型。如果您希望为此解决方案使用单独的 S3 桶,创建一个新的 S3 桶。如果您希望在本地测试应用程序而不是使用 Amplify,请确保您的本地计算机上安装了 python3。

部署解决方案

要部署解决方案的后端资源,我们使用AWS CloudFormation 模板创建一个堆栈。您可以直接上传模板,也可以将其上传到 S3 桶并在堆栈创建过程中链接到它。在创建过程中,为 apiGatewayName、apiGatewayStageName、s3BucketName 和 lambdaFunctionName 提供适当的变量名称。如果您之前创建了新的 S3 桶,请在 s3BucketName 中输入该名称该桶用于存储输出图像。当堆栈创建完成时,所有后端资源都准备好与前端 UI 进行连接。

前端资源在创建交互式环境中对最终用户至关重要。完成以下步骤以集成前端和后端:

当 CloudFormation 堆栈部署完成后,打开 API Gateway 控制台中创建的 API。

在导航窗格中选择 阶段,在 阶段操作 菜单中,选择 生成 SDK。

在 平台 中选择 JavaScript。

下载并解压 JavaScript SDK zip 文件,其中包含名为 apiGatewayjssdk 的文件夹。下载前端 UI indexhtml 文件,并将其放置于解压缩的文件夹中。

该文件已配置为通过简单将其放置在文件夹中来与 JavaScript SDK 集成。

quickq加速器下载

在将 indexhtml 放置于文件夹后,选择文件夹中的内容并压缩为 zip 文件不要压缩 apiGatewayjssdk 文件夹本身。

在 Amplify 控制台中,选择 创建新应用。选择 无 Git 部署,然后选择 下一步。

用 Amazon Bedrock 革新标志设计创作:拥抱生成艺术、动态标志和人工智能协作 机器学习博上传压缩的 zip 文件,如果需要,修改应用程序名称和分支名称。选择 保存并部署。

部署将需要几秒钟的时间。当部署完成后,将生成一个域名 URL,您可以利用该 URL 访问应用程序。应用程序已准备好在该域名 URL 进行测试。

CloudFormation 模板概述

在测试解决方案之前,让我们探讨一下 CloudFormation 模板。该模板设置了一个 API Gateway API,并具有适当的规则和路径、一个 Lambda 函数和 AWS 身份与访问管理IAM中的所需权限。让我们深入了解 CloudFormation 模板的内容,以了解创建的资源:

PromptProcessingAPI 这是主要的 API Gateway REST API。该 API 将用于调用 Lambda 函数。CloudFormation 模板中创建的其他 API Gateway 资源、方法和架构都附加在此 API 下。ActionResource、ActionInputResource、PromptResource、PromptInputResource 和 ProxyResource 这些是 API Gateway 资源,定义 API 的 URL 路径结构。路径结构为 /action/{actionInput}/prompt/{promptInput}/{proxy}。{promptInput} 值是用户在前端输入的提示的占位符变量。类似的,{actionInput} 是用户选择生成图像的方式的选择。后端 Lambda 函数使用这些来处理和生成图像。ActionInputMethod、PromptInputMethod 和 ProxyMethod 这些是定义与 Lambda 函数集成的 API Gateway 方法,适用于 POST HTTP 方法。ActionMethodCORS、ActionInputMethodCORS、PromptMethodCORS、PromptInputMethodCORS 和 ProxyMethodCORS 这些是处理跨源资源共享CORS支持的 API Gateway 方法。这些资源对于将前端 UI 与后端资源整合至关重要。有关 CORS 的更多信息,请参见 什么是 CORSResponseSchema 和 RequestSchema 这些是定义期望 JSON 架构的 API Gateway 模型,分别用于响应和请求有效负载。Default4xxResponse 和 Default5xxResponse 这些是定义 4xx 和 5xx HTTP 状态代码默认响应行为的网关响应。ApiDeployment 该资源在所有前述配置完成后部署 API Gateway API。部署完成后,API 可供使用。LambdaFunction 这将创建一个 Lambda 函数,并指定运行时的类型、Lambda 的服务角色以及保留的并发运行限制。LambdaPermission1、LambdaPermission2 和 LambdaPermission3 这些是允许 API Gateway API 调用 Lambda 函数的权限。LambdaExecutionRole 和 lambdaLogGroup 第一个资源是附加到 Lambda 函数的 IAM 角色,使其能够在其他 AWS 服务如 Amazon S3 和 Amazon Bedrock上运行。第二个资源配置在Amazon CloudWatch 中的 Lambda 函数日志组。

Lambda 函数说明

让我们深入了解使用 Stability AI 模型生成和操作图像的 Python 代码。可以通过三种方式使用 Lambda 函数:提供文本提示以生成初始图像、上传图像并包含文本提示以调整图像,或重新上传生成的图像并包含提示以调整图像。

代码中包含以下常量:

negativeprompts 用于指导图像生成的负面提示列表。stylepreset 图像生成时使用的样式预设例如 photographic、digitalart 或 cinematic。我们在这篇文章中使用 digitalart。clipguidancepreset 使用的对比语言图像预训练CLIP引导预设例如 FASTBLUE、FASTGREEN、NONE、SIMPLE、SLOW、SLOWER、SLOWEST。sampler 用于图像生成的取样算法例如 DDIM、DDPM、KDPMPPSDE、KDPMPP2M、KDPMPP2SANCESTRAL、KDPM2、KDPM2ANCESTRAL、KEULER、KEULERANCESTRAL、KHEUN、KLMS。width 生成图像的宽度。

handler(event context) 是 Lambda 函数的主要入口点。它处理输入事件,其中包含 promptInput 和 actionInput 参数。根据 actionInput,它执行以下操作之一:

对于 GenerateInit,它使用 generateimagewithbedrock 函数生成新图像,上传到 Amazon S3,并返回文件名和预签名的 URL。当您上传现有图像时,它执行以下其中一个操作:s3URL 从预签名的 S3 URL 检索图像,使用 generateimagewithbedrock 函数生成新图像,上传新图像到 Amazon S3,并返回文件名和预签名的 URL。UseGenerated 从预签名的 S3 URL 检索图像,使用 generateimagewithbedrock 函数生成新图像,上传新图像到 Amazon S3,并返回文件名和预签名的 URL。

generateimagewithbedrock(prompt initimageb64=None) 函数使用 Amazon Bedrock 运行时服务生成图像,其包括以下操作:

如果提供初始图像以 base64 编码,则将其用作图像生成的起点。如果没有提供初始图像,则根据提供的提示生成新图像。该函数设置用于图像生成的各种参数,如文本提示、配置以及采样方法。然后它调用 Amazon Bedrock 模型,获取生成的图像作为 base64 编码字符串,并返回。

为了获得更个性化的输出,可以调整函数中的超参数值:

textprompts 这是一个字典列表,每个字典包含一个文本提示和一个相关权重。对于您希望与输出图像关联的正提示,权重设为 10。对于所有负面文本提示,权重设为 10。cfgscale 该参数控制图像生成中的随机性可能性。默认值为 7,我们的观察显示 10 的表现良好。更高的值意味着图像将更受文本影响,但如果值设置得过高或过低,可能会导致视觉质量低下的输出。initimage 该参数是表示初始图像的 base64 编码字符串。模型使用此图像作为起点,并根据文本提示进行修改。生成首个图像时,不会使用此参数。startschedule 该参数控制在生成过程开始时添加到初始图像的噪音强度。06 的值意味着初始噪音将相对较低。steps 该参数指定模型在图像生成过程中应该进行的步骤迭代数量。在这里,我们设定为 50 步。stylepreset 该参数指定生成图像时应用的预定义风格或美学。由于我们生成 logo 图像,因此使用 digitalart。clipguidancepreset 该参数指定针对生成过程的文本提示提供引导设置的预定义设置,用于CLIP 模型。sampler 该参数指定在图像生成过程中使用的取样算法,用于重复去噪图像以生成高质量输出。

测试和评估应用程序

以下截图展示了一个简单的用户界面。您可以选择生成新图像或使用文本提示编辑图像。

以下截图展示了我们使用 UI 创建的 logo 的迭代样本。每张图片下方都包含了文本提示。

![样本 logo 2](https//d2908q01vomqb2