POST /api/qr/generate
明示的な設定からQRコードを生成します。これがメインのレンダリング用エンドポイントで、エディタのUIもAIエンドポイントも最終的にここを通ります。
リクエスト
Content-Type: application/json または multipart/form-data(ロゴ / 背景のバイナリをアップロードする場合)。
ボディの形式: QrConfig オブジェクト。
最小限の例:
マルチパートのアップロード(ロゴファイル)
curl -X POST https://api.qr-branding.com/api/qr/generate \
-H "X-RapidAPI-Proxy-Secret: <secret>" \
-F 'config={"content":"https://yourbrand.com","logoSizePercent":18,"eccLevel":"H"}' \
-F "logoFile=@./brand-mark.png"
config フィールドはJSONエンコードされた文字列です。logoFile と backgroundFile はバイナリパートです(PNG / JPG / GIF / BMP / WebP、最大10 MB)。
レスポンス(base64モード — デフォルト)
{
"success": true,
"qrBase64": "iVBORw0KGgoAAAANSUhEUgAA…",
"format": "png",
"contentType": "image/png",
"sizeBytes": 38291
}
レスポンス(バイナリモード)
{ "responseType": "binary" }
適切な Content-Type と Content-Disposition: attachment; filename="qrcode.png" を付けて、ファイルの生のバイト列を返します。
検証
エンジンはスキャン保証のパイプライン全体を実行します。よくある拒否理由:
| コード | 意味 | 対処法 |
|---|---|---|
CONTENT_TOO_LONG | エンコードする文字列が4296文字を超えている | 短くする / URL短縮サービスを使う |
LOW_CONTRAST | 前景と背景のコントラストが4:1未満 | 前景を暗く、または背景を明るくする |
LOGO_TOO_LARGE | ECCがH未満で logoSizePercent が25を超えている | Hに上げるか、ロゴを小さくする |
INVALID_HEX | 色の文字列が #RGB、#RRGGBB、#RRGGBBAA ではない | 色を修正する |
INVALID_LLM_MODEL | AIエンドポイントのみ | AIモードを参照 |
関連項目
- QrConfigリファレンス — 受け付けるすべてのパラメータ
- POST /api/qr/ai/generate — 同じエンジンで、AIが設定を作成