Skip to main content
藝術二維碼是一種創新的技術產品,它將二維碼與美觀的背景圖像相結合,創造出既實用又美觀的作品。它們不僅具有傳統二維碼的功能性,能被智能設備快速掃描識別,還加入了藝術元素,增強了視覺吸引力和品牌識別度。其中,部分藝術二維碼甚至由人工智能生成,充分利用了現代技術,展示出無與倫比的創新和獨特性。這使得藝術二維碼在品牌營銷、廣告推廣等領域有著廣泛的應用。 簡單來說,藝術二維碼是掃描二維碼與藝術美感的完美結合,它不僅提供了信息傳遞的功能,同時也能提升用戶的視覺體驗,使得每一次的掃描都充滿藝術的享受。

作品概覽

我們先來看幾個二維碼作品: 怎麼樣?這些二維碼就是藝術二維碼,它實現了圖片和二維碼的完美結合,比普通的二維碼更加具有藝術感。而且關鍵是,每一個二維碼都能掃描!

怎樣製作?

想製作這樣的二維碼嗎?怎麼來製作這樣的藝術二維碼呢? 其實這個從技術來講是相對複雜的。在現在這個 AI 時代,目前藝術二維碼的解決方案是基於 Stable Diffusion 來做的,通過輸入 prompt 我們可以生成對應的圖片,同時結合一些二維碼內容的融合最終實現這樣的效果。 所以這裡面其實最主要的挑戰在於:如何既把二維碼做得好看而且富有藝術,而且二維碼還能被正確掃描。說實話這個技術其實還是蠻難的,需要大量的參數調整才能做到稍微好點的效果。 應該 99% 的人在第一步就放棄了。 假設通過不斷的調整,我們真的做出來了這樣的效果,真正運行起來也是一個不小的開銷,如果要速度比較快的話,可能得性能比較好的 GPU,可能一不小心就上萬塊錢了。 有朋友可能會說:我不想費那麼多精力,我也不想花那麼多錢,我就想做個藝術二維碼,或者我想把這個能力集成到我的產品裡面,要是有這樣現成的 API 就好了。 有嗎?還真有。 本平台提供了藝術二維碼相關生成 API,我們可以調用 API 輸入各種參數,比如圖片內容、二維碼鏈接、樣式風格等等各種參數,就可以非常方便地生成想要的藝術二維碼了,而且首次申請免費贈送 20 張繪製次數。

申請 API

要使用藝術二維碼 API,首先可以到藝術二維碼 API 頁面點擊「獲取」按鈕: 如果你尚未登錄,會自動跳轉到登錄頁面,掃碼關注公眾號即可自動登錄,無需額外註冊步驟。 登錄完了之後會跳回原頁面,此時會提示「您尚未申請該服務,需要申請」。申請時會校驗實名認證情況,請按照網站提示完成實名認證。實名認證會校驗姓名、手機號、身份證號,認證完了之後可以返回頁面,刷新一下頁面確保信息更新,然後重新申請即可通過申請。

基本使用

要使用藝術二維碼的最基本的功能,需要填入如下幾個必須參數:
  • type:二維碼的類型,如純文本、鏈接等。
  • content:二維碼的內容,比如如果是鏈接的話,我們可以填入對應的鏈接。
  • prompt:二維碼對應的風格繪製指令,強烈建議用英文。比如說 pizza 則會繪製一個像披薩的二維碼。
  • callback_url:可選,異步回調地址,提供後會立刻返回任務 ID。
  • content_image_url:可選,包含真實二維碼內容的圖片鏈接。
  • aspect_ratio:可選,畫布寬高比,默認 1:1。
  • ecl:糾錯級別,默認 H。
  • qrw:二維碼權重,1.5-3,越大越接近真實二維碼。
  • seed:固定隨機種子,生成可複現的二維碼。
  • steps:繪製迭代步數,10-20,默認 16。
  • preset:預設背景風格。
  • pattern:主體樣式,默認 custom。
  • position:二維碼位置,默認 center。
  • marker_shape:定位點形狀,默認 square。
  • sub_marker:輔助定位點形狀,默認 square。
  • pixel_style:像素風格,例如 square、rounded、dot。
  • padding_level/padding_noise:留白和噪點強度。
  • rotate:旋轉角度,默認 0。
  • rawurl:是否保留原始鏈接,默認 false,開啟後不做短鏈。
接下來,我們來生成一個知數雲官網的二維碼,類型是鏈接,內容是 https://data.zhishuyun.com,prompt 這裡填寫如下內容:
在測試頁面填寫如下內容: 然後點擊測試: 過一會就發現藝術二維碼就生成了,結果類似如下:
二維碼如下: 這樣我們就生成了一個二維碼,主體是一艘船,懸掛著幾面旗幟,而這些旗幟恰恰構成了二維碼的定位點。 用手機掃描一下,就可以跳轉到知數雲的官網了。 同時上述內容調用方案我們可以非常方便地轉成 API 調用。

prompt 指南

通過上述操作可以看到,藝術二維碼關鍵在於 prompt 的編寫,那 prompt 的編寫都有哪些講究呢? 其實這個都是通用的 Stable Diffusion 的 prompt 指令,藝術二維碼就是基於 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(雨滴)為例來看下效果。
這裡我們把 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,生成的二維碼畫布略帶縱向矩形感,適合一般顯示。
這裡我們嘗試生成了一個長方形的二維碼,效果如下:

二維碼位置 position

我們還可以通過 position 參數控制二維碼的位置,比如說一張圖片裡面有一個女生穿裙子,而我們想要把二維碼放在裙子的位置並與之融合起來,我們就可以嘗試改下二維碼的位置,調用樣例如下:
效果如下:

二维码像素风格 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度,使其以逆纵向方向显示。

二维码预设 pattern

通过 pattern 可以方便地启用一些二维码样式风格,比如方形的定位框、圆形的像素点等等,这里预定义了一些 pattern: