API Reference
QRコード画像生成 API 仕様
URLにパラメータを渡すだけで、QR・Micro QR・rMQRコードの画像を生成して返すシンプルなHTTP APIです。認証は不要で、<img> タグやスクリプトからそのまま利用できます。
概要
3種類のコードを生成する3つのエンドポイントを提供します。すべて GET リクエストで、レスポンスは画像(PNG または SVG)です。クエリパラメータでエンコードする内容や見た目を指定します。
| エンドポイント | 用途 | 特徴 |
|---|---|---|
GET /qr | 通常のQRコード | URL・長文まで幅広く。バージョン1〜40 |
GET /microqr | Micro QRコード | 小さな面積・少量データ向け。M1〜M4 |
GET /rmqr | rMQR(矩形Micro QR) | 横長・帯状。狭いスペース向け |
共通仕様
- メソッド: すべて
GET。リクエストボディは使いません。 - 認証: 不要です。
- レスポンス: 成功時は画像を直接返します。
Content-Typeは PNG がimage/png、SVG がimage/svg+xml。 - 文字コード:
dataはUTF-8。URLエンコードして渡してください(例: 半角スペースは%20)。 - 色: 前景は黒
#000000、背景は白#ffffff固定です。 - クワイエットゾーン: QRはコード周囲に4モジュール、Micro QR・rMQRは2モジュールの余白を含みます。
🔒
入力した
data は、画像を生成するためにサーバーへ送信されます。機微な情報を含める際はご注意ください。GET/qr
QRコード
最も一般的なQRコードを生成します。バージョン1〜40に対応し、URLや長めのテキストまで扱えます。
# 例: URLを256pxのPNGで生成
GET /qr?data=https://qr.shogo82148.com&size=256
| パラメータ | 値 | 説明 |
|---|---|---|
data必須 |
文字列 | コードにエンコードする内容。 |
size任意 |
整数 1〜4096 | 出力画像の幅・高さ(px、正方形)。PNGではコードの自然な幅(クワイエットゾーン込み)以上が必要で、その最小値はデータとバージョンにより29〜185pxの範囲になります。SVGは全範囲を受け付けます。省略時はモジュール等倍。 |
format任意 |
png / svg |
出力形式。既定は png。 |
level任意 |
L / M / Q / H |
誤り訂正レベル。高いほど汚れや欠けに強くなりますが、その分データ容量は減ります。大文字・小文字どちらも可。 |
version任意 |
整数 1〜40 | QRコードのバージョン(サイズ)。指定した値がデータに必要な最小バージョンより大きい場合のみ適用されます。省略時は自動選択。 |
GET /qr?data=https://qr.shogo82148.com
&size=220&level=H&format=png
GET/microqr
Micro QRコード
少量のデータを小さな面積に収めるMicro QRコードを生成します。パラメータは /qr と共通で、level と version の取りうる値が異なります。
# 例: 数字を256pxのPNGで生成
GET /microqr?data=12345&size=256
| パラメータ | 値 | 説明 |
|---|---|---|
data必須 |
文字列 | コードにエンコードする内容。容量が小さいため短いデータ向けです。 |
size任意 |
整数 1〜4096 | 出力画像の幅・高さ(px)。PNGでは自然な幅(2モジュールのクワイエットゾーン込み、15〜21px)以上が必要です。SVGは全範囲可。 |
format任意 |
png / svg |
出力形式。既定は png。 |
level任意 |
check / L / M / Q |
誤り訂正レベル。利用できる値はバージョン(M1〜M4)によって異なります。check は誤り検出のみ。 |
version任意 |
整数 1〜4 | Micro QRのバージョン(M1〜M4に対応)。指定値がデータに必要な最小バージョンより大きい場合のみ適用。省略時は自動選択。 |
GET /microqr?data=1234567
&size=176&level=M
GET/rmqr
rMQR(矩形Micro QR)コード
横長で高さの低い帯状のrMQRコードを生成します。狭いスペースへの印字に向いています。size は幅を指定し、高さはアスペクト比から自動計算されます。
# 例: URLを256px幅で生成
GET /rmqr?data=https://qr.shogo82148.com&size=256
| パラメータ | 値 | 説明 |
|---|---|---|
data必須 |
文字列 | コードにエンコードする内容。 |
size任意 |
整数 1〜4096 | 出力画像の幅(px)。高さはrMQRのアスペクト比から計算されます。PNGでは自然な幅(2モジュールのクワイエットゾーン込み)以上が必要。SVGは全範囲可。 |
format任意 |
png / svg |
出力形式。既定は png。 |
level任意 |
M / H |
誤り訂正レベル。既定は M。 |
version任意 |
rMQRバージョン名 | 32種類のrMQRバージョン名のいずれか(R7x43 〜 R17x139、例: R11x27)。省略時は自動選択。 |
priority任意 |
area / height / width |
自動選択時にどのバージョンを優先するかの基準。既定は area(面積最小)。height は高さ最小、width は幅最小を優先。 |
GET /rmqr?data=https://qr.shogo82148.com
&size=300
エラー応答
パラメータが不正な場合や、指定内容でコードを生成できない場合は、画像ではなくエラーメッセージ(text/plain)を返します。
| ステータス | 主な原因 |
|---|---|
400 Bad Request |
size が範囲外(1〜4096以外)/PNGの最小サイズ未満、format・level・version・priority が不正な値、データが指定バージョンの容量を超過、など。 |
500 Internal Server Error |
画像エンコード時など、サーバー内部での予期しない失敗。 |
PNGでサイズが小さすぎる場合は、必要な最小サイズを含むメッセージ(例: size must be at least 33 for this QR code)が返ります。