艺术二维码 API 的申请与运用
艺术二维码,这一创意十足的技术产物,将二维码与迷人的背景图像相结合,形成了既实用又富有美感的艺术作品。它们不仅保持了传统二维码的信息功能,可以被智能设备快速扫描识别,更融入了艺术元素,极大地提升了视觉吸引力和品牌识别度。在某些情况下,这些艺术二维码甚至是利用人工智能生成的,充分展示了现代科技的无限创意与独特性。因此,艺术二维码在品牌宣传、广告推广等多个领域得到了广泛应用。
简单而言,艺术二维码是二维码的扫描功能与艺术美感的完美交融,它不仅是信息传递的工具,更提升了用户的视觉享受,使每一次的扫描都充满了艺术的愉悦。
注册试用链接
作品展示
让我们先欣赏几个二维码作品:
怎么样?这些二维码便是艺术二维码,它们巧妙地结合了图像与二维码的元素,相较于普通二维码,展现出更多的艺术气息。而且,更为重要的是,每一个二维码都能够被顺利扫描!
如何制作?
想要创造这样的二维码吗?那该如何制作艺术二维码呢?
从技术层面来说,这其实是相对复杂的。在如今的 AI 时代,目前艺术二维码的解决方案基于 Stable Diffusion,通过输入提示词(prompt),我们便能生成相应的图像,并将二维码内容融合于其中,最终达到这样的效果。
所以,主要的挑战在于:如何既美观又富有艺术感地制作二维码,同时还能确保二维码被准确扫描。坦白说,这项技术其实并不简单,常常需要大量参数的调整才能获得理想的效果。
想来大约 99% 的人都在第一步就放弃了。
假设经过不断的调整,我们成功地实现了这样的效果,实际运行时也需付出不小的开销。如果想要较快的生成速度,可能需要配置高性能的 GPU,一不小心就会花费上万。
或许有朋友会说:我不想耗费那么多精力,也不愿意花费那么多金钱,只想创建个艺术二维码,或者想将这项功能集成到我的产品中,要是能有现成的 API 就好了。
的确,真有这样的服务。
本平台提供了与艺术二维码相关的生成 API,我们能够调用 API 输入各类参数,比如图片内容、二维码链接、风格样式等,便可以轻松生成期待中的艺术二维码,首次申请还有 20 张免费绘制次数。
申请 API
要使用艺术二维码 API,您首先可以前往艺术二维码 API 页面,点击「获取」按钮:
若尚未登录,系统会自动跳转至登录页面,扫码关注公众号便可自动登录,无需额外的注册步骤。
登录完成后会回到原页面,此时会提示您「您尚未申请该服务,需要申请」。申请时将进行实名认证的验证,请根据网站的提示完成实名认证。实名认证会检查姓名、手机号、身份证号码,认证完成后,可返回页面并刷新以确保信息更新,然后再次申请即可。
基本使用
要使用艺术二维码的基本功能,需要填写以下几个必要参数:
- type:二维码的类型,例如纯文本、链接等。
- content:二维码的内容,例如链接则需填入相应的链接。
- prompt:二维码对应的风格提示指令,强烈建议使用英文。例如
pizza
将生成一个披萨图案的二维码。
接下来,我们来生成一个知数云官网的二维码,类型为链接,内容为 https://data.zhishuyun.com,在 prompt 中我们填写如下内容:
(best quality, masterpiece:1.2), underwater, ((pirate ship)), close up, zoom in, absurdes, big waves, twister, water falling, tentacles, ((glowing lights)), ((lighting storm)), fog, smoke, 4k res, 8k, highly detailed textures, cinematic shot, intricate details, side view
在测试页面输入如下内容:
然后点击测试:
过一会儿,艺术二维码便已生成,结果如下:
{
"task_id": "a7e8831c-203d-447e-83fc-71783c766446",
"image_url": "https://qrart.cdn.zhishuyun.com/attachments/1132182283529494652/1136344944630563006/Germey_2023-08-02__64ca8da51e5834b500e077bf.png",
"image_width": 768,
"image_height": 768
}
二维码如下:
这样我们便成功生成了一个二维码,主体是船只,悬挂着几面旗帜,而这些旗帜恰好构成了二维码的定位点。
通过手机扫描后,便可跳转至知数云的官网。
同时,上述内容的调用方案可以非常便捷地转化为 API 调用。
prompt 指南
通过以上操作我们可以看到,艺术二维码的关键在于 prompt 的编写,那么在编写 prompt 时有哪些要点呢?
实际上,这些都是通用的 Stable Diffusion 的提示指令,艺术二维码基于 Stable Diffusion 技术并进行了一些特殊调优,因此其输入的 prompt 与 Stable Diffusion 完全相同。
若您还不清楚什么是 Stable Diffusion,可以前往其官网了解:https://stablediffusionweb.com/,该网站还提供了 prompt 的教程与指南:https://stable-diffusion-art.com/prompt-guide/,此外,Stable Diffusion 还开发了 prompt 生成器,帮助我们生成 prompt:https://stablediffusionweb.com/prompt-generator,还可以查找一些 prompt 示例集的网站:https://publicprompts.art/
如上内容仅供参考,如需更多信息,可以进一步搜索 Stable Diffusion 相关资料学习。
高级参数
本 API 还提供了更多高级参数,便于进行功能的进一步定制,说明如下:
- preset:预设背景风格。二维码背景的风格,如超现实主义风格、霓虹效果、手绘风格等。
- steps:绘制迭代次数。次数越多,绘制的二维码艺术风格越加明显,范围为 10-20,默认为 16。
- qrw:二维码的权重。当权重较大时,图片将更接近真实二维码,但艺术化风格会减弱,取值范围为 1.5-3,默认为 1.5。
- seed:随机种子。用于生成随机二维码,当种子相同时,生成的二维码风格一致,范围为 1-9007199254740991。
- rawurl:是否保持原始链接。默认情况下,将输入链接缩短为短链接以提高扫码率,该值默认为 false。
- padding_level:二维码内边距。二维码内边距的大小。
- aspect_ratio:二维码宽高比。
- position:二维码位置。
- pixel_style:二维码像素风格。
- marker_shape:二维码定位框形状。
- sub_marker:二维码子标记样式。
- rotate:二维码旋转角度。
- ecl:二维码纠错等级。
- padding_noise:二维码内边距噪点。
- pattern:预设二维码组合。预设二维码风格组合,如定位框的样式(方形、圆形等)、点的样式(方形、圆形等)。
接下来我们将详细讲解艺术二维码 API 的一些高级参数,挑选其中一些进行介绍。
预设 preset
艺术二维码 API 提供了多种预设模板,该参数称作 preset,取值包括:
- sunset(日落):融入夕阳余晖的温暖色调及柔和的光线效果。
- floral(花卉):带有花朵和植物元素的艺术风格,强调自然之美。
- snowflakes(雪花):冰雪世界,展现冰晶和雪花的冷峻气氛。
- feathers(羽毛):展现羽毛和鸟类特征,营造轻盈与柔软感。
- raindrops(雨滴):以雨滴和水珠为灵感,创造清新湿润的效果。
- ultra-realism(超现实):极度逼真的细节与质感,营造超越现实的效果。
- epic-realms(史诗领域):壮丽的场景与史诗感,带来宏大的视觉体验。
- intricate-studio(错综复杂):富有细节与复杂性,需要仔细观察才能领悟的风格。
- symmetric-masterpiece(对称杰作):通过对称元素创造优雅的平衡与和谐。
- luminous-highway(发光高速公路):强调夜间的发光效果,如车灯与霓虹灯。
- celestial-journey(星际之旅):探索宇宙与星际的奇幻旅程。
- neon-mech(霓虹机械):结合霓虹灯与机械元素,营造未来感。
- ethereal-low-poly(飘渺低多边形):低多边形风格,创造虚幻与抽象的效果。
- golden-vista(金色景观):以金色调为主,呈现壮观的视觉画面。
- cinematic-expanse(电影式广袤):带有电影氛围的广袤场景,令人着迷。
- cinematic-warm(电影式温暖):缤纷的电影质感温暖色调与光线效果。
- desolate-wilderness(荒凉荒野):描绘荒芜之地,营造孤寂之感。
- vibrant-palette(鲜明调色板):色彩丰富多样,鲜明的对比呈现。
- enigmatic-journey(神秘之旅):探访充满谜团与神秘感的旅程。
- timeless-cinematic(永恒电影):富有电影质感,超越时间限制的风格。
- regal-galaxy(皇家星系):蕴含皇家韵味的星系与宇宙元素。
- illustrious-canvas(杰出画布):创作引人注目的卓越画布效果。
- expressive-mural(富有表现力的壁画):充满情感的大型壁画风格。
- serene-haze(宁静薄雾):带有平和与薄雾效果,营造宁静的氛围。
接下来我们将尝试不同参数带来的效果,比如以 sunset(日落)与 raindrops(雨滴)为例来看一看效果。
curl -X POST "https://api.zhishuyun.com/qrart/generate?token={token}" \
-H "accept: application/json" \
-H "content-type: application/json" \
-d '{
"type": "link",
"content": "https://data.zhishuyun.com",
"prompt": "sakura",
"preset": "sunset"
}'
在这里我们将 preset 设置为 sunset(日落效果),生成的效果如下:
如果我们更换风格,将 preset 参数调整为 raindrops(雨滴效果),则效果如下:
关于其他的一些设定,欢迎大家自行试验。
二维码宽高比 aspect_ratio
通过 aspect_ratio 参数,我们可以设置二维码的宽高比,例如正方形 1:1、长方形 16:9 等等,该参数:
- 768x768:宽高比为 1:1,表示画布的宽度与高度相等。对应的像素尺寸为 768x768,生成的二维码画布为正方形。
- 1008x576:宽高比为 16:9,表示画布的宽度是高度的 16/9 倍。对应的像素尺寸为 1008x576,生成的二维码画布宽度较大,适合宽屏显示。
- 576x1008:宽高比为 9:16,表示画布的宽度是高度的 9/16 倍。对应的像素尺寸为 576x1008,生成的二维码画布高度较大,适合竖屏显示。
- 864x672:宽高比为 4:3,表示画布的宽度是高度的 4/3 倍。对应的像素尺寸为 864x672,生成的二维码画布略呈正方形,适合一般显示。
- 672x864:宽高比为 3:4,表示画布的宽度是高度的 3/4 倍。对应的像素尺寸为 672x864,生成的二维码画布略呈纵向矩形,适合一般显示。
curl -X POST "https://api.zhishuyun.com/qrart/generate?token={token}" \
-H "accept: application/json" \
-H "content-type: application/json" \
-d '{
"type": "link",
"content": "https://data.zhishuyun.com",
"prompt": "Fish",
"aspect_ratio": "576x1008"
}'
在此我们尝试生成了一个长方形的二维码,效果如下:
二维码位置 position
通过 position 参数,我们还可以控制二维码的位置,例如在一张图中有一个女孩穿着裙子,而我们想把二维码放在裙子的位置并与之融洽地融合,我们可以尝试调整二维码的位置,调用示例如下:
curl -X POST "https://api.zhishuyun.com/qrart/generate?token={token}" \
-H "accept: application/json" \
-H "content-type: application/json" \
-d '{
"type": "link",
"content": "https://data.zhishuyun.com",
"prompt": "one of the beautiful girls in the moonlight in the background, in the style of pixelated chaos, rococo-inspired art, dark white and sky-blue, made of plastic, delicate flowers, gongbi, wimmelbilder",
"position": "bottom",
"aspect_ratio": "576x1008"
}'
效果如下:
二维码像素风格 pixel_style
我们可以自定义二维码的像素风格,通过传入 pixel_style 参数即可,以下为可选的参数值:
- square(方形):每个像素单元呈现正方形形状。
- rounded(圆角):像素单元拥有圆角,使生成的二维码显得愈加柔和与现代。
- dot(点状):使用小圆点作为像素单元,生成的二维码呈现出点阵效果,仿佛印刷出来的一般。
- squircle(圆角方形):类似于圆角矩形,形状更接近圆形,为二维码增添独特的风格。
- row(行排列):像素单元按照行排列,打造出水平方向的图案。
- column(列排列):像素单元按照列排列,展现出垂直方向的图案。
样式预览如下:
二维码框风格 marker_shape
借助 marker_shape,我们可以自定义二维码定位框的风格,参数的可选值如下:
- square(方形):标记的形状为正方形,突出特定位置或元素。
- circle(圆形):标记的形状为圆形,标记关键区域或元素。
- plus(加号):标记形状为加号,类似十字,突出注意或特定信息。
- box(方框):标记形状为方框,似描边的矩形,围绕特定区域或元素。
- octagon(八边形):标记形状为八边形,增加独特的视觉吸引力。
- random(随机):标记形状随机分布,增添二维码的艺术感与视觉趣味。
- tiny-plus(微小加号):微小的加号标记,用于标示细微的元素或细节。
样式预览如下:
二维码子标记风格 sub_marker
借助 sub_marker,我们可以为子标记(较小的标记)定义形状,可选参数值如下:
- square(方形):子标记的形状为正方形,突显特定细节。
- circle(圆形):子标记的形状为圆形,强调关键细节或元素。
- box(方框):子标记的形状为方框,类似于描边的矩形,适合标记细小区域。
- random(随机):子标记形状随机分布,增强二维码的艺术感与视觉趣味。
- plus(加号):子标记的形状为加号,类似十字型,适合指示细微的信息或元素。
二维码旋转角度 rotate
通过 rotate 参数,可以控制二维码的旋转角度,参数值如下:
- 0:不旋转,生成的二维码保持原始方向,无旋转效果。
- 90:顺时针旋转 90 度,使二维码呈纵向显示。
- 180:旋转 180 度,二维码呈倒置显示。
- 270:顺时针旋转 270 度,使二维码呈逆纵向显示。