本文へスキップ

QrConfigリファレンス

/api/qr/generate にPOSTするボディです(テンプレートとAIエンドポイントは、これを上書きします)。指定しなかった項目はエンジンのデフォルトが使われます。content 以外に必須のフィールドはありません。

情報源: .NETバックエンドの Models/QrModels.cs。以下の一覧はすべての公開フィールドを網羅しています。型やnull許容を含む完全なスキーマを出力するには、フロントエンドのリポジトリで pnpm docs:schema を実行してください。C#のモデルからこのページが再生成されます。

コンテンツ

フィールド型デフォルト備考
contentstring必須エンコードするURLまたはテキスト。最大4296文字。
eccLevelenumM誤り訂正。L 7% · M 15% · Q 25% · H 30%。ロゴを追加するときは H に上げてください。

出力

フィールド型デフォルト備考
fileFormatenumpngpng、jpg、svg、pdf、webp。
responseTypeenumbase64base64 はJSONを返し、binary は生のファイルを返します。
outputWidthint800ピクセル。最大 4096。
outputHeightint—デフォルトは outputWidth。正方形以外が必要な場合のみ上書きします。
pixelsPerModuleint10QRモジュール1つあたりの解像度。未設定の場合は outputWidth を引き上げます。
qualityint90JPG/WebPの品質(1〜100)。
transparentBackgroundboolfalsePNG/SVG/WebPのみ。

色

フィールド型デフォルト備考
primaryColorhex#000000モジュールの色。#RGB、#RRGGBB、#RRGGBBAA。
secondaryColorhex—グラデーションと連結モジュールで使用。
backgroundColorhex#FFFFFFクワイエットゾーンの色。
foregroundStyleenumsolidsolid、linearGradient、radialGradient、sweepGradient。
gradientTypeenumlinearforegroundStyle の短縮形と同じ。
gradientDirectionenumverticalvertical、horizontal、diagonal、diagonal-reverse。
gradientColorshex[]—2〜6個のストップ。
gradientStopsfloat[]均等0〜1の位置。gradientColors.length と一致させる必要があります。
gradientAngleint0角度(度)。設定すると gradientDirection を上書きします。

モジュール(ドット)

フィールド型デフォルト備考
qrShapeenumsquareキャンバスの外形: square、roundedsquare、circle。
qrShapeRadiusint0qrShape: roundedsquare のときの角の半径。
moduleShapeenumsquare27種類から選択。パターンを参照。
moduleScalefloat1.00.5–1.0。各モジュールを縮小して、軽やかな印象にします。
moduleRotationfloat0角度(度)。
moduleStyleenumsolidsolid、outline、striped。
modulePatternenumstandardstandard、checker、alternating。
moduleSizeVariationfloat00–0.3 でモジュールごとに有機的なばらつきを加えます。
connectedStyleenumnonenone、fluid、sharp、round。隣接するモジュールをつなげます。

ファインダーパターン(3つの大きな目)

フィールド型デフォルト備考
finderOuterShapeenumsquaresquare、roundedsquare、circle、diamond、octagon、target、double。
finderInnerShapeenumsquaresquare、roundedsquare、circle、diamond、star、dot。
finderOuterColorhex—デフォルトは primaryColor。
finderInnerColorhex—デフォルトは primaryColor。
finderStyleenumstandardstandard、flat、embossed。

ロゴ

フィールド型デフォルト備考
logoUrlurl—サーバー側で取得する公開URL。PNG/JPG/GIF/BMP/WebP、10 MB以下。
logoBase64string—代替としてのインラインのデータURI。
logoFilemultipart—multipart/form-data を使う場合のバイナリパート。
logoShapeenumsquaresquare、circle、rounded。
logoSizePercentfloat185–30。20以上のときは必ず eccLevel を H に上げてください。
logoBorderWidthint0枠線の太さ(ピクセル)。
logoBorderColorhex#FFFFFF
logoShadowboolfalseロゴの下にドロップシャドウ。
logoBackgroundenumnonenone、solid、match-bg。
cleanBehindLogobooltrueロゴがQRと干渉しないよう、ロゴの下のモジュールを消去します。

テキストオーバーレイ

フィールド型備考
centerTextobject中央を横切るバナー: { text, color?, backgroundColor?, height?, fontSize?, bold?, fontFamily? }。
circularTextobjectQRの周囲に沿って曲がるテキスト: { text, color?, fontSize?, position? }。
ctaTextstringQRの下のキャプション(例: 「SCAN ME」)。
ctaTextStyleobject{ color?, fontSize?, fontFamily?, bold?, italic? }。

フレーム

フィールド型備考
frameobject{ enabled, shape, color, width, padding, cornerRadius, fillColor? }。形状: rectangle、speech-bubble、badge、shield、circle。

背景画像

フィールド型備考
backgroundImageUrl / backgroundImageBase64url/stringQRの背後に描画する控えめな画像。
backgroundImageBlendModeenumnormal、multiply、screen、overlay。
backgroundImageOpacityfloat0–1。
backgroundImageBlurintピクセル。
backgroundImageFitenumcover、contain、stretch。

エフェクト

フィールド型備考
shadowobject{ color, blur, offsetX, offsetY }。
glowobject{ color, blur, intensity }。
embossobject{ depth, lightAngle, lightColor?, shadowColor? }。
noisefloat0–0.3 でフィルム調の粒子を加えます。
blurintピクセル。
edgeFadefloat0–0.5 でキャンバスの端をフェードさせます。
colorFilterenumnone、sepia、bw、cool、warm。

AI専用(/api/qr/ai/generate* のみ)

フィールド型備考
promptstring自然な言葉による説明。
stylePresetenumminimal、artistic、corporate、playful、luxury、tech、nature。
creativityfloat0–1。LLMのtemperatureと大胆さを制御します。
strictScannabilitybooltrue のとき、エンジンがECC/コントラストを自動修正します。
llmProviderenumマーケットプレイスのみ: openai、anthropic、google、mistral、cohere、groq。
llmApiKeystringマーケットプレイスのみ。一度だけ転送され、ログには記録されません。
llmModelstring任意。デフォルトはそのプロバイダーの低価格な主力モデル。

検証の順序

  1. JSONが整形式か → そうでなければ INVALID_JSON。
  2. フィールドの型と範囲 → details[] 付きの VALIDATION_ERROR。
  3. 色のコントラスト → 4:1未満かつ strictScannability: true なら LOW_CONTRAST。
  4. ECCに対するロゴのサイズ → 大きすぎる場合は LOGO_TOO_LARGE。
  5. ISO 18004のデコード往復テスト → レンダリング結果を再度読み取れなければ QR_GENERATION_FAILED。

エラーコードの一覧はエラーをご覧ください。

このページの再生成

cd frontend
pnpm docs:schema   # reads ../Models/QrModels.cs and rewrites this file

スクリプトは tools/gen-docs-schema.ts です。C#のモデルに [Description] 属性付きで追加したフィールドは、自動的にここに表示されます。