コンテンツへスキップ

静的QRコードを自動生成するQRコードAPI

OpenAPI、WebMCP、ai.txt、一括ZIP生成、SVG、PNG、JPG、WebP、PDF、EPS出力に対応した無料の静的QRコードAPIガイドです。

QR API

QR APIリクエストを作成

公開QR APIへのリクエストを設定してテストします。

19 / 2048 文字

送信時のみリクエストが送られます。

リクエスト例

cURL

curl -X POST 'https://qrcodecrafter.com/.netlify/functions/generate-qr' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  --data-raw '{"value":"https://example.com","format":"svg","size":1024,"margin":4,"fgColor":"#000000","bgColor":"#FFFFFF","errorCorrectionLevel":"H"}'

JavaScript fetch

const response = await fetch("https://qrcodecrafter.com/.netlify/functions/generate-qr", {
  method: 'POST',
  headers: { 'Accept': 'application/json', 'Content-Type': 'application/json' },
  body: JSON.stringify({
    "value": "https://example.com",
    "format": "svg",
    "size": 1024,
    "margin": 4,
    "fgColor": "#000000",
    "bgColor": "#FFFFFF",
    "errorCorrectionLevel": "H"
  }),
})

if (!response.ok) throw new Error(`QR API request failed: ${response.status}`)
const qr = await response.json()

QRコードAPI

QR Code Crafter APIは、AIエージェント、社内ツール、テンプレート、キャンペーン運用、ドキュメント生成から静的QRファイルを繰り返し作るための公開APIです。

単体生成は /.netlify/functions/generate-qr をGETまたはPOSTで呼び出します。一括生成は /.netlify/functions/generate-qr-bulk にCSVまたはrowオブジェクトを送り、QRファイルとmanifestを含むZIPを受け取ります。

同じリクエスト構造でSVG、PNG、JPG、WebP、PDF、EPSを選べるため、Web掲載、メール、資料、印刷、パッケージ、デザインツールへの受け渡しを一つの流れで扱えます。

AIエージェントは /.well-known/openapi.json、/openapi.yaml、/.well-known/webmcp.json、/ai.txt、/llms.txt からパラメータと例を取得できます。ライブページにはWebMCPツールと宣言型formマークアップもあります。

OpenAPI GenerateQrRequest: x-agent-recipes. WebMCP: api.agentRecipes. Payment content: PhonePe-compatible UPI, Swiss QR-bill, SEPA/GiroCode, iDEAL, MobilePay/Vipps, QRIS.

このAPIは静的QR資産を生成します。スキャンダッシュボードや印刷後のリンク先編集が必要な場合は、動的QRまたは自社で管理するリダイレクトを別ワークフローで選び、単純なキャンペーン計測はUTM付きURLを先に作成してからQR化します。

ガイド

単体QR生成エンドポイント

GETクエリまたはPOST JSON bodyで1つのQRファイルを生成できます。長いpayload、vCard、イベント、ロゴdata URLはPOSTの方が安定します。

エージェントが読める発見ファイル

OpenAPI、WebMCP、ai.txt、llms.txtを用意し、ブラウザエージェントやAPIクライアントがリクエストスキーマを推測せずに利用できます。

6種類の出力形式

SVG、PNG、JPG、WebP、PDF、EPSに対応します。印刷やデザイン受け渡しはSVG、PDF、EPS、Webや資料はPNGまたはWebPを優先します。

一括ZIP生成

generate-qr-bulkは最大50行を処理し、QRファイル、manifest.csv、manifest.jsonを含むZIPを返します。

検証できるレスポンスメタデータ

POSTレスポンスとGETヘッダーでcontent type、拡張子、byte length、width、height、unitを確認してから保存できます。

静的・プライバシー重視のモデル

必須の提供元リダイレクトを挟まず、最終payloadをQRパターンに保存します。分析が必要な場合はUTM付きURLを先に作ってからQRにします。

エージェント引き継ぎ用metadata

生成request、response metadata、manifest、ファイル名、形式、担当者、テスト結果を一緒に保存すると、CMS、印刷工程、Google Drive、次のAIエージェントへ安全に渡せます。

QRコードAPIのリクエストオプション

オプション対応値運用時の確認点
単体エンドポイントGETまたはPOST /.netlify/functions/generate-qrURL、Wi-Fi、vCard、イベント、決済、テキストなど1つのpayloadをQRファイルにします。
一括エンドポイントPOST /.netlify/functions/generate-qr-bulkCSVまたはJSON rowsを送り、ZIP、manifest.csv、manifest.jsonを受け取ります。
一括上限1リクエスト1-50行ブラウザエージェントや公開自動化が過剰なジョブを作らないよう範囲を限定します。
formatsvg, png, jpg, webp, pdf, eps利用チャネルに合わせて出力を選びます。一括自動化はSVG、印刷受け渡しはPDFまたはEPSが扱いやすくなります。
size256-4096ラスタ画像と文書出力のサイズを設定します。最終使用サイズより小さい画像を保存しないようにします。
誤り訂正L, M, Q, Hロゴを入れる場合や印刷条件が厳しい場合はHを選び、最終ファイルを再スキャンします。
レスポンス検証contentType, extension, byteLength, width, height, unit保存、アップロード、ZIP処理の前に、ファイル形式とサイズがリクエスト意図と一致するか確認します。
発見ドキュメントOpenAPI, WebMCP, ai.txt, llms.txtAIエージェントやクライアントが、現在のエンドポイント、フィールド、例、制限を読めるようにします。
キャンペーン計測UTM付きURLまたは自社redirectをエンコードAPIは静的QRを作ります。分析はリンク先側で行います。

エージェントがQRコードAPIを呼び出す流れ

APIの流れは小さく保たれています。payloadを作り、形式を選び、レスポンスメタデータを確認してから次のワークフローへ渡します。

自動化ではPOSTを優先する

POST JSONなら長いURL、vCard、イベント、Wi-Fi文字列、決済payload、ロゴdata URLをクエリ文字列に出さず、base64データとファイルメタデータを受け取れます。

直接ダウンロードではGETを使う

GETリクエストはQRファイルを直接返し、X-QR-Width、X-QR-Height、X-QR-Unit、X-QR-Bytesヘッダーでサイズとbyte lengthを提供します。

WebMCPが使える場合はツール登録を利用する

ライブページは対応ブラウザでgenerate_qrとgenerate_bulk_qrツールを登録し、スキャナーが読めるtoolname formも提供します。

保存前にファイルを検証する

contentType、extension、byteLength、dimensionsを確認してから、SVG、PNG、JPG、WebP、PDF、EPSをストレージやCMSに保存します。

一括QR ZIP生成ワークフロー

ラベル、教材、製品パッケージ、メニュー、イベントバッジ、キャンペーン素材など、多数の静的QRファイルが必要な場合にbulk endpointを使います。

CSVまたはrowsオブジェクトを送る

filename,value CSV、またはvalueとfilenameを持つJSONオブジェクトを送ります。空のpayloadや大きすぎる行は生成前に拒否し、downstreamエラーを減らします。

バッチ単位で形式を選ぶ

1つのバッチでは1つのexport formatを使います。大量のエージェント処理ではSVGを優先し、印刷受け渡しではPDFまたはEPSを選びます。

ZIPレスポンスを要求する

Accept: application/zipを送るとbinary ZIPを直接受け取れます。JSONレスポンスではbase64 ZIP、byte length、file count、manifest情報を確認できます。

manifestで結果を照合する

manifest.csvとmanifest.jsonを読み、元の行、生成ファイル名、ステータス、byte countを照合して、失敗した行だけを再処理します。

APIで作成できる静的QR payload

エンドポイントは渡されたpayloadをそのままエンコードします。まずスキャナーが読むべき文字列を正しく作り、その後で必要なファイル形式を生成します。

マーケティングとコンテンツリンク

HTTPS URL、UTM付きキャンペーンリンク、アプリストアページ、ソーシャルプロフィール、メニュー、PDFランディングページ、Googleレビューリンクをエンコードします。

デバイス動作と連絡先

Wi-Fi文字列、mailto、SMS、電話リンク、WhatsAppリンク、カレンダーイベント、地図座標、vCard連絡先payloadを自動生成できます。

決済と地域別payload

PIX EMV、UPI URI、crypto wallet URIなどは、決済情報を先に検証してからQRファイルを生成します。金額と受取人は別の確認手順を置きます。

印刷とデザイン出力

制作 artwork にはSVG、PDF、EPSを使い、素早いWeb掲載やプレビューにはPNG、JPG、WebPを使います。

エージェント引き継ぎと監査記録

APIの価値はQRファイルを返すことだけではありません。生成結果を後続システムが検証し、再生成し、公開停止できる状態で渡せることが重要です。

requestとresponseを保存する

value、contentType、format、size、margin、色、errorCorrectionLevel、ファイル名、contentType、byteLength、width、height、生成日時を資産記録に残します。

manifestを資産台帳へ入れる

bulk ZIPのmanifest.csvとmanifest.jsonを商品、店舗、言語ページ、イベント、包装、PDF、キャンペーン記録と紐づけ、失敗rowだけを再処理できるようにします。

機密payloadを生成前に止める

内部URL、テスト環境、一次利用トークン、非公開ファイル、個人情報、管理画面URLを公開QRに入れないよう、API client側でフィルタリングします。

下げる条件を機械的に追えるようにする

リンク先削除、支払い情報変更、Wi-Fiパスワード更新、プライバシーポリシー変更、印刷物撤去の時に、該当QRファイルを検索して再生成または公開停止できるようにします。

運用安定性とセキュリティ境界

公開APIの自動化は、成功レスポンスを見るだけでは終わりません。速度制限、再試行、payload安全性、ファイル保管、計測方針まで決めておきます。

Retry-Afterとrate-limitを守る

429または503を受け取ったらRetry-AfterとX-RateLimitヘッダーを読み、backoffします。同じリクエストを高速に繰り返すと一括処理の信頼性が下がります。

payloadに秘密情報を入れない

API key、内部トークン、非公開メモ、管理者URL、機微な個人情報はQR payloadに直接入れません。公開されてもよい情報だけをエンコードします。

UTMと自社分析を使う

静的QRは単体でスキャンダッシュボードを作りません。キャンペーン成果が必要な場合は、UTM付きURLや自社管理リダイレクトをpayloadにします。

ライブsmoke testを維持する

本番デプロイ後に代表payloadとSVG、PNG、JPG、WebP、PDF、EPSレスポンスを実際に生成し、content type、サイズ、スキャン可能性を確認します。

QRコードAPI連携チェックリスト

  • /ai.txt、/.well-known/openapi.json、/openapi.yaml、/.well-known/webmcp.jsonを先に読み、現在のスキーマと例を確認する。
  • vCard、イベント、Wi-Fi、決済、logo data URLなど長いpayloadや特殊文字が多いpayloadはPOST JSONを使う。
  • 単体ファイルはgenerate-qr、一括ファイルはgenerate-qr-bulkを使い、batchは50行以下に保つ。
  • 一括ダウンロードが必要な場合はAccept: application/zipを送り、manifest.csvとmanifest.jsonを保存する。
  • 自動化クライアントには識別できるUser-Agentを設定する。
  • 429、503、Retry-After、X-RateLimit-Limit、X-RateLimit-Remainingヘッダーを処理する。
  • POSTレスポンスのbase64 dataをデコードし、返されたextensionとcontentTypeに合わせて保存する。
  • byteLength、width、height、unit、fileCount、manifest metadataが意図と一致するか検証する。
  • URL分析が必要な場合は、QR生成前にUTMパラメータを付ける。
  • 秘密トークン、内部管理リンク、機微な個人情報をQR payloadに直接入れない。
  • 印刷用ファイルはSVG、PDF、EPSを優先し、最終PDFまたは実物サンプルを再スキャンする。
  • 本番利用前に主要content typeと全export formatのライブsmoke testを実行する。
  • 生成request、response metadata、manifest、担当者、テスト結果をCMSや資産台帳へ保存する。
  • 内部URL、テスト環境、一次利用token、非公開ファイル、個人情報をAPI送信前にブロックする。
  • リンク移行、支払い情報変更、Wi-Fi更新、プライバシー変更時に影響するQRファイルを検索できる状態にする。

ガイド: 印刷

QRコードAPI は、生成した画像ではなく公開まで含む運用として扱ってください。一般向けの素材に掲載する前に、リンク先を確認し、出力形式を選び、最終ファイルを検証し、担当者を決めます。

印刷物、包装、案内表示、メール、文書、アプリ、自動処理で QRコードAPI を使う前に、埋め込んだ値、ファイル名、出力形式、掲載場所、担当者、テスト結果を記した短い公開記録を残してください。後からの修正に役立ちます。

URL QRコード: HTTPS

QRコードAPI では、埋め込んだ URL、連絡先、支払い案内、ファイル、またはアプリ内の操作が正確であり、適切なチームが管理し、モバイルで利用でき、コードを読み取る人に適していることを確認してください。

形式を選択

印刷、包装、案内表示、デザインツールには SVG、PDF、EPS の元データを保管します。ウェブサイト、メール、文書、デジタル掲載には PNG、JPG、WebP、SVG を使い、完成したコードを意図せず圧縮しないようにしてください。

スキャン

公開前に、ブラウザーのプレビュー、ダウンロードしたファイル、配置済みレイアウト、書き出した PDF、CMS へのアップロード、メールのプレビュー、印刷見本を、実際に近い距離、角度、照明、端末で読み取って確認してください。

会社

長期間使う静的 QR コードの信頼性を保つため、担当者、リンク先、元ファイル、出力形式、掲載場所、公開日、テスト端末、見直し日、差し替えの条件を記録してください。

QRコードAPI

多数の QR ファイルが必要な場合は、デザイン、印刷、コンテンツの各チームへ渡す前に、一貫した命名、マニフェストの確認、OpenAPI または WebMCP のパラメーター、出力形式の検証を行ってください。

静的QRと動的QR

キャンペーン、ブランド、ドメイン、支払い情報、アプリストア、文書移行、分析環境が変わった後は QRコードAPI を見直し、公開済みの QR コードが古い、または安全でないリンク先へ誘導しないようにしてください。

フィードバック

読み取りが業務上重要な場合、アクセシビリティ上配慮が必要な場合、または接続が不安定な環境で使われる場合は、読めるリンク先の説明、短い URL、サポート窓口、印刷用の案内を追加してください。

アクセシビリティ

コードの近くに読み取り操作を説明するテキストを置き、高いコントラストを保ち、極端に小さく配置せず、リンク先がモバイルブラウザー、スクリーンリーダー、視差効果を減らす設定、キーボード操作で利用できることを確認してください。

APIでQRコードを生成する

  1. 1

    単体または一括生成を選ぶ

    1つの資産ならgenerate-qrを使い、複数の静的QRファイルをZIPで受け取る場合はgenerate-qr-bulkを使います。

  2. 2

    最終payloadを準備する

    URL、Wi-Fi文字列、vCard、イベント、決済URI、テキスト、CSV、rowオブジェクトをスキャナーが読む最終形にします。

  3. 3

    出力形式を選ぶ

    印刷とデザインにはSVG、PDF、EPSを、Web掲載と資料プレビューにはPNG、JPG、WebPを選びます。

  4. 4

    レスポンスを検証する

    success、content type、extension、byte length、dimensions、manifestを確認してから保存または次のシステムに渡します。

  5. 5

    再試行と監視を入れる

    Rate-limitヘッダーとRetry-Afterを処理し、失敗rowと生成ファイル数をログに残して、自動化が静かに失敗しないようにします。

よくある質問

QR Code Crafter APIのエンドポイントは何ですか?

単体QRは /.netlify/functions/generate-qr をGETまたはPOSTで呼び出します。最大50ファイルのZIPが必要な場合は /.netlify/functions/generate-qr-bulk にPOST JSONまたはCSV rowsを送ります。

APIでQRコードを一括生成できますか?

はい。generate-qr-bulkはCSVまたはrowオブジェクトを受け取りZIPを生成します。ZIPにはQRファイルとmanifest.csv、manifest.jsonが含まれます。

これはQR code generator APIですか?

はい。静的ファイル向けのQR code generator APIです。payloadを送るとSVG、PNG、JPG、WebP、PDF、EPSのQRコードを生成できます。API QR code generator、qrcode API、QR API、generate QR code APIを探しているチームは同じ公開endpointを使えます。

QRコードAPIは無料で使えますか?

公開生成はアカウントなしで使えます。発行されたキーがある環境ではX-Agent-Api-Keyを含められます。クライアントは401レスポンスも処理してください。

APIはどのファイル形式を返しますか?

SVG、PNG、JPG、WebP、PDF、EPSに対応します。自動化や大量処理にはSVGが軽く、印刷受け渡しにはPDFまたはEPSが適しています。

ブラウザエージェントはWebMCPでQRコードを作れますか?

WebMCP は提案段階の標準であり、対応する表示中のブラウザータブまたは webview でのみ動作します。現在のページに登録された generate_qr と generate_bulk_qr を確認してください。manifest だけではツールを呼び出せません。ヘッドレスおよびサーバー側のクライアントは OpenAPI の HTTP エンドポイントを使用してください。

APIは動的な追跡QRコードを作りますか?

いいえ。このAPIは静的QR資産を作ります。キャンペーン計測が必要な場合は、UTM付きURLや自社管理リダイレクトURLを先に作ってからQR化します。

一括自動化でrate limitはどう扱いますか?

429または503が返ったらRetry-AfterとX-RateLimitヘッダーを読み、backoffします。同じpayloadを即時に繰り返さず、失敗rowだけを再処理してください。

エージェントは生成されたQRファイルをどう検証しますか?

contentType、extension、byteLength、width、height、unitを確認し、一括ZIPではmanifestのファイル数と状態を元rowと比較します。

QR payloadに入れてはいけない情報はありますか?

API key、アクセストークン、内部管理URL、非公開メモ、機微な個人情報を公開QR payloadに直接入れないでください。QRはスキャン可能な公開資産として扱います。

本番導入前に必要なテストは?

代表payloadと全export formatを本番エンドポイントで実際に生成し、ファイル形式、サイズ、manifest、スキャン可能性を確認するライブsmoke testが必要です。

AIエージェントが生成したQRファイルはどう引き継ぐべきですか?

ファイルだけでなく、生成request、response metadata、manifest、対象URL、担当者、テスト端末、スキャン結果を一緒に保存します。後で再生成、監査、削除、差し替えが必要になった時に追跡できます。

API送信前にブロックすべきpayloadはありますか?

内部URL、テスト環境、一次利用トークン、非公開ファイル、管理画面URL、個人情報は公開QRにしないでください。自動化client側で公開可能なpayloadだけをAPIへ送る必要があります。