QR 코드 생성기 API

모양, 눈별 색상, 로고 및 프로모션 프레임이 포함된 브랜드 QR 코드(PNG/JPG/SVG)를 생성합니다.

무엇을 할 수 있나요?
맞춤 모양 및 색상

점/사각형 모듈 + 원형/사각형 눈, 눈별 색상 포함.

중앙 로고

중앙에 로고 배치(업로드 또는 "scan-me" 같은 프리셋).

프로모션 프레임

하단 배너, 상단 헤더, 말풍선, 리본 태그, 배지.

저장 및 CDN 지원

디스크에 저장하고 공개 URL을 즉시 받으세요.

라이브 테스트
99.9 % 가동 시간
응답
20 req/s
0.01 크레딧 / 요청

Generate QR Code

POST https://api.yeb.to/v1/qr-code/generate
Parameter Type Req Description
api_keystringyesYour API key.
typestringyespage (Page Builder payload).
actionstringoptgenerate (default).
image_formatstringoptSVG (default) | PNG | JPG
image_widthintoptTarget width in px (default 500 for raster).
foreground_colorhexoptDefault #000000.
background_colorhexoptDefault #FFFFFF.
body_stylestringoptsquare (default) | dot — PNG/JPG only.
eye_stylestringoptsquare (default) | circle — PNG/JPG only.
eye_outer_color / eye_inner_colorhexoptGlobal per-eye colors; can be overridden per eye with eye1_*, eye2_*, eye3_*.
eye1_outer_color / eye1_inner_colorhexoptTop-left eye colors.
eye2_outer_color / eye2_inner_colorhexoptTop-right eye colors.
eye3_outer_color / eye3_inner_colorhexoptBottom-left eye colors.
qr_code_logostringoptno-logo (default) | scan-me | scan-me-square | upload
logo_path / logo_data_base64stringoptProvide when qr_code_logo=upload.
frame_namestringoptno-frame (default) | bottom-banner | top-header | speech-bubble | ribbon-tag | badge
frame_colorhexoptDefault #000000.
frame_text / frame_text_colorstring/hexopt“Scan me”, “Rate us”, etc.; default text color #FFFFFF.
frame_icon_namestringoptIcon file name (resolved via config('qr.icons_path')).
download0|1optIf 1, controller triggers download flow.
save0|1optWhen 1, image is saved and file_url/file_path are returned.
storage_disk / storage_folder / filename / filename_basestringoptApplied when save=1. In UI използваме filename_base.
include_bytes0|1optInclude base64 data URI in response (default 1; if save=1, default 0).
When type=page, pass:
page.versionintyesSchema version (UI използва 1).
page.theme.primary / page.theme.accenthexoptLanding theme colors.
page.layout.cols / page.layout.gapintoptGrid columns (desktop-only) and gap in px.
page.layout.sections.*objectoptenabled, collapsible, default_open, style (card|plain), radius, border, background.
page.blocks[]arrayyesList of blocks: { type, props, children }. Поддържани: hero, gallery, appBadges, video, mp3, pdf, socialLinks, event, coupon, rating, feedback, vcardPlus, text, button, spacer, divider.
curl -X POST https://api.yeb.to/v1/qr-code/generate \
  -H "Content-Type: application/json" \
  -d '{"api_key":"YOUR_KEY","type":"page","action":"generate","image_format":"PNG","image_width":600,"foreground_color":"#111111","background_color":"#FFFFFF","body_style":"dot","eye_style":"circle","eye_outer_color":"#111111","eye_inner_color":"#111111","eye1_inner_color":"#FF4D4D","eye2_inner_color":"#FFB84D","eye3_inner_color":"#4DD2FF","qr_code_logo":"scan-me","frame_name":"bottom-banner","frame_color":"#111111","frame_text":"Scan me","frame_text_color":"#FFFFFF","frame_icon_name":"qr","save":1,"storage_disk":"public","storage_folder":"qr_codes","filename_base":"menu-q1","include_bytes":0,"page":{"version":1,"theme":{"primary":"#0ea5e9","accent":"#111111"},"layout":{"cols":2,"gap":12,"sections":{"enabled":false,"collapsible":false,"default_open":true,"style":"card","radius":12,"border":"1px solid rgba(255,255,255,.12)","background":"rgba(255,255,255,.03)"}},"blocks":[{"type":"hero","props":{"headline":"Winter Lookbook","description":"Short intro…","align":"center","cta":{"label":"SHOP NOW","href":"https://example.com"}}},{"type":"gallery","props":{"scroll":"horizontal","images":[{"url":"https://picsum.photos/seed/a/600/400"},{"url":"https://picsum.photos/seed/b/600/400"}]}},{"type":"button","props":{"label":"Open site","href":"https://yeb.to","variant":"primary","align":"center"}}]}}'
$payload = {
    "api_key": "YOUR_KEY",
    "type": "page",
    "action": "generate",
    "image_format": "PNG",
    "image_width": 600,
    "foreground_color": "#111111",
    "background_color": "#FFFFFF",
    "body_style": "dot",
    "eye_style": "circle",
    "eye_outer_color": "#111111",
    "eye_inner_color": "#111111",
    "eye1_inner_color": "#FF4D4D",
    "eye2_inner_color": "#FFB84D",
    "eye3_inner_color": "#4DD2FF",
    "qr_code_logo": "scan-me",
    "frame_name": "bottom-banner",
    "frame_color": "#111111",
    "frame_text": "Scan me",
    "frame_text_color": "#FFFFFF",
    "frame_icon_name": "qr",
    "save": 1,
    "storage_disk": "public",
    "storage_folder": "qr_codes",
    "filename_base": "menu-q1",
    "include_bytes": 0,
    "page": {
        "version": 1,
        "theme": {
            "primary": "#0ea5e9",
            "accent": "#111111"
        },
        "layout": {
            "cols": 2,
            "gap": 12,
            "sections": {
                "enabled": false,
                "collapsible": false,
                "default_open": true,
                "style": "card",
                "radius": 12,
                "border": "1px solid rgba(255,255,255,.12)",
                "background": "rgba(255,255,255,.03)"
            }
        },
        "blocks": [
            {
                "type": "hero",
                "props": {
                    "headline": "Winter Lookbook",
                    "description": "Short intro…",
                    "align": "center",
                    "cta": {
                        "label": "SHOP NOW",
                        "href": "https://example.com"
                    }
                }
            },
            {
                "type": "gallery",
                "props": {
                    "scroll": "horizontal",
                    "images": [
                        {
                            "url": "https://picsum.photos/seed/a/600/400"
                        },
                        {
                            "url": "https://picsum.photos/seed/b/600/400"
                        }
                    ]
                }
            },
            {
                "type": "button",
                "props": {
                    "label": "Open site",
                    "href": "https://yeb.to",
                    "variant": "primary",
                    "align": "center"
                }
            }
        ]
    }
};
$r = Http::post('https://api.yeb.to/v1/qr-code/generate', $payload);
print_r($r->json());
fetch('https://api.yeb.to/v1/qr-code/generate', {
  method: 'POST',
  headers: {'Content-Type':'application/json'},
  body: JSON.stringify({"api_key":"YOUR_KEY","type":"page","action":"generate","image_format":"PNG","image_width":600,"foreground_color":"#111111","background_color":"#FFFFFF","body_style":"dot","eye_style":"circle","eye_outer_color":"#111111","eye_inner_color":"#111111","eye1_inner_color":"#FF4D4D","eye2_inner_color":"#FFB84D","eye3_inner_color":"#4DD2FF","qr_code_logo":"scan-me","frame_name":"bottom-banner","frame_color":"#111111","frame_text":"Scan me","frame_text_color":"#FFFFFF","frame_icon_name":"qr","save":1,"storage_disk":"public","storage_folder":"qr_codes","filename_base":"menu-q1","include_bytes":0,"page":{"version":1,"theme":{"primary":"#0ea5e9","accent":"#111111"},"layout":{"cols":2,"gap":12,"sections":{"enabled":false,"collapsible":false,"default_open":true,"style":"card","radius":12,"border":"1px solid rgba(255,255,255,.12)","background":"rgba(255,255,255,.03)"}},"blocks":[{"type":"hero","props":{"headline":"Winter Lookbook","description":"Short intro…","align":"center","cta":{"label":"SHOP NOW","href":"https://example.com"}}},{"type":"gallery","props":{"scroll":"horizontal","images":[{"url":"https://picsum.photos/seed/a/600/400"},{"url":"https://picsum.photos/seed/b/600/400"}]}},{"type":"button","props":{"label":"Open site","href":"https://yeb.to","variant":"primary","align":"center"}}]}})
}).then(r => r.json()).then(console.log);
import requests, json
payload = {
    "api_key": "YOUR_KEY",
    "type": "page",
    "action": "generate",
    "image_format": "PNG",
    "image_width": 600,
    "foreground_color": "#111111",
    "background_color": "#FFFFFF",
    "body_style": "dot",
    "eye_style": "circle",
    "eye_outer_color": "#111111",
    "eye_inner_color": "#111111",
    "eye1_inner_color": "#FF4D4D",
    "eye2_inner_color": "#FFB84D",
    "eye3_inner_color": "#4DD2FF",
    "qr_code_logo": "scan-me",
    "frame_name": "bottom-banner",
    "frame_color": "#111111",
    "frame_text": "Scan me",
    "frame_text_color": "#FFFFFF",
    "frame_icon_name": "qr",
    "save": 1,
    "storage_disk": "public",
    "storage_folder": "qr_codes",
    "filename_base": "menu-q1",
    "include_bytes": 0,
    "page": {
        "version": 1,
        "theme": {
            "primary": "#0ea5e9",
            "accent": "#111111"
        },
        "layout": {
            "cols": 2,
            "gap": 12,
            "sections": {
                "enabled": false,
                "collapsible": false,
                "default_open": true,
                "style": "card",
                "radius": 12,
                "border": "1px solid rgba(255,255,255,.12)",
                "background": "rgba(255,255,255,.03)"
            }
        },
        "blocks": [
            {
                "type": "hero",
                "props": {
                    "headline": "Winter Lookbook",
                    "description": "Short intro…",
                    "align": "center",
                    "cta": {
                        "label": "SHOP NOW",
                        "href": "https://example.com"
                    }
                }
            },
            {
                "type": "gallery",
                "props": {
                    "scroll": "horizontal",
                    "images": [
                        {
                            "url": "https://picsum.photos/seed/a/600/400"
                        },
                        {
                            "url": "https://picsum.photos/seed/b/600/400"
                        }
                    ]
                }
            },
            {
                "type": "button",
                "props": {
                    "label": "Open site",
                    "href": "https://yeb.to",
                    "variant": "primary",
                    "align": "center"
                }
            }
        ]
    }
}
        r = requests.post('https://api.yeb.to/v1/qr-code/generate', headers={'Content-Type':'application/json'}, data=json.dumps(payload))
print(r.json())

Response Example

{
  "mime": "image/png",
  "ext": "png",
  "width": 720,
  "height": 880,
  "saved": true,
  "file_url": "https://cdn.your-site/qr_codes/2025/08/21/qr-...png",
  "file_path": "qr_codes/2025/08/21/qr-...png",
  "scan_url": "https://yeb.to/s/abc123",
  "meta": {
    "format": "PNG",
    "logo": "scan-me",
    "shape": { "body":"dot", "eye":"circle" },
    "colors": {
      "foreground":"#111111","background":"#FFFFFF",
      "eye_outer":"#111111","eye_inner":"#111111",
      "eye1_inner":"#FF4D4D","eye2_inner":"#FFB84D","eye3_inner":"#4DD2FF"
    },
    "frame": { "name":"bottom-banner","color":"#111111","text":"Scan me","textColor":"#FFFFFF","icon":"qr" },
    "download": false,
    "saved": true,
    "type": "page",
    "page": { "version": 1 }
  },
  "data_base64": null
}
{
  "error": "Validation failed: page.blocks is required for type=page",
  "code": 422
}

응답 코드

코드설명
200 Success요청 처리 완료.
400 Bad Request입력 유효성 검사 실패.
401 UnauthorizedAPI 키 누락 또는 오류.
403 Forbidden키 비활성 또는 허용되지 않음.
429 Rate Limit요청이 너무 많습니다.
500 Server Error예기치 않은 오류.

qr-code/generate

qr-code/generate 0.0100 credits

Parameters

API Key
body · string · required
Type
body · string · required
Action
body · string
Image Format
body · string
Image Width
body · string
Foreground Color
body · string
Background Color
body · string
Body Style
body · string
Eye Style
body · string
Eye Outer Color
body · string
Eye Inner Color
body · string
Eye1 Outer Color
body · string
Eye1 Inner Color
body · string
Eye2 Outer Color
body · string
Eye2 Inner Color
body · string
Eye3 Outer Color
body · string
Eye3 Inner Color
body · string
Logo Mode
body · string
Logo Path
body · string
Logo Data (base64)
body · string
Frame
body · string
Frame Color
body · string
Frame Text
body · string
Frame Text Color
body · string
Frame Icon
body · string
Download
body · string
Save
body · string
Storage Disk
body · string
Storage Folder
body · string
Filename
body · string
Filename Base
body · string
Include Base64
body · string
Page Version
body · string · required
Theme Primary
body · string
Theme Accent
body · string
Layout Cols
body · string
Layout Gap
body · string
Sections Enabled
body · string
Sections Collapsible
body · string
Sections Default Open
body · string
Sections Style
body · string
Sections Radius
body · string
Sections Border
body · string
Sections Background
body · string
Blocks
body · string · required

Code Samples


                
                
                
            

Response

Status:
Headers

                
Body

                

QR 코드 생성기 API — Practical Guide

Create branded QR codes, auto-build mobile pages (“experiences”), and track scans & custom events. Use this guide to ship working QR flows fast — with the right format, styling, storage, and analytics.

#What this API solves

Most QR projects fail on the details: wrong format for print, unreadable colors, no landing, zero tracking. Our suite covers the full funnel: image generationmobile page (“experience”)scan/event logging.

#Endpoints & when to use them

#POST /v1/qr-code/generate — Render a QR image

  • Best for: You already have a target URL/text and only need an image (SVG/PNG/JPG).
  • Inputs: qr_code_text + styling (colors, eye/body styles, logo, frame), output controls (save, download, include_bytes).
  • Output: mime, ext, width/height, file_url/file_path (when saved), optional data_base64, plus a meta map describing styling.
  • Format tip: Use SVG for print (infinite scale). Use PNG with frames/logos for digital flyers.

#POST /v1/qr-experience/generate — Create a mobile “experience” + QR

  • Best for: No website? Need a campaign page? Pass type and content; we build the page and generate the QR pointing to it.
  • Types: page (Page Builder JSON), url, text, rating, mp3, pdf, social, images, app, videos, event (with calendar), coupon, feedback, vcard_plus.
  • Output: scan_url (public), experience (id/code/type/title), and the same QR image payload as the generator.
  • Why it matters: You control the full UX post-scan, can update content later, and track scans + custom actions.

#POST /v1/qr-scan/scan — Log a scan

  • Best for: Server-side logging when your scan route is hit (we also auto-log from our hosted routes).
  • Identify experience via: experience_id or pair type + code.
  • Output: ok, experience_id, code, type.

#POST /v1/qr-scan/event — Log a custom event

  • Best for: Button clicks (cta_click), ratings submitted, downloads, etc., tied back to an experience.
  • Inputs: experience (id or type+code), event (string), optional value, optional meta.
  • Output: ok.

#Quick start

# 1) Plain QR image (SVG; best for print)
curl -sX POST "https://api.yeb.to/v1/qr-code/generate" \
 -H "Accept: application/json" -H "Content-Type: application/json" \
 -d '{ "api_key":"<YOUR_KEY>", "qr_code_text":"https://example.com/summer-menu", "image_format":"SVG" }'
# 2) Experience page + QR (gallery landing with CTA)
curl -sX POST "https://api.yeb.to/v1/qr-experience/generate" \
 -H "Accept: application/json" -H "Content-Type: application/json" \
 -d '{ "api_key":"<YOUR_KEY>", "type":"page",
       "page":{ "version":1, "theme":{"primary":"#0ea5e9","accent":"#111111"},
         "layout":{"cols":2,"gap":12},
         "blocks":[
           {"type":"hero","props":{"headline":"Winter Lookbook","description":"Short intro…","align":"center",
              "cta":{"label":"SHOP NOW","href":"https://example.com"}}},
           {"type":"gallery","props":{"scroll":"horizontal","images":[
              {"url":"https://picsum.photos/seed/a/600/400"},{"url":"https://picsum.photos/seed/b/600/400"}]}},
           {"type":"button","props":{"label":"Open site","href":"https://yeb.to","variant":"primary","align":"center"}}
         ]},
       "image_format":"PNG","image_width":600,
       "qr_code_logo":"scan-me","frame_name":"bottom-banner","frame_text":"Scan me",
       "save":1,"storage_disk":"public","storage_folder":"qr_codes","filename_base":"winter-lookbook" }'
# 3) Log a custom event (CTA click)
curl -sX POST "https://api.yeb.to/v1/qr-scan/event" \
 -H "Accept: application/json" -H "Content-Type: application/json" \
 -d '{ "api_key":"<YOUR_KEY>", "type":"page", "code":"<experience_code>",
       "event":"cta_click", "value":"shop_now", "meta":{"source":"landing"}}'

#Full “everything on” request (covers most options)

Use this to see how fields combine. Trim what you don’t need.

POST /v1/qr-experience/generate
{
  "api_key": "YOUR_KEY",
  "type": "page",

  "image_format": "PNG",
  "image_width": 720,
  "foreground_color": "#111111",
  "background_color": "#FFFFFF",

  "body_style": "dot",
  "eye_style":  "circle",
  "eye_outer_color": "#111111",
  "eye_inner_color": "#111111",
  "eye1_outer_color": "#111111",
  "eye1_inner_color": "#FF4D4D",
  "eye2_outer_color": "#111111",
  "eye2_inner_color": "#FFB84D",
  "eye3_outer_color": "#111111",
  "eye3_inner_color": "#4DD2FF",

  "qr_code_logo": "scan-me",
  "frame_name": "bottom-banner",
  "frame_color": "#111111",
  "frame_text": "Scan me",
  "frame_text_color": "#FFFFFF",
  "frame_icon_name": "qr",

  "save": 1,
  "download": 0,
  "include_bytes": 0,
  "storage_disk": "public",
  "storage_folder": "qr_codes",
  "filename_base": "campaign-q1",

  "page": {
    "version": 1,
    "theme": { "primary": "#0ea5e9", "accent": "#111111" },
    "layout": {
      "cols": 2, "gap": 12,
      "sections": { "enabled": false, "collapsible": false, "default_open": true,
        "style": "card", "radius": 12, "border": "1px solid rgba(255,255,255,.12)", "background": "rgba(255,255,255,.03)" }
    },
    "blocks": [
      { "type": "hero", "props": { "headline": "Winter Lookbook", "description": "Short intro…", "align": "center",
          "cta": { "label": "SHOP NOW", "href": "https://example.com?utm_source=qr&utm_campaign=winter" } } },
      { "type": "gallery", "props": { "scroll": "horizontal", "images": [
          { "url": "https://picsum.photos/seed/a/600/400" }, { "url": "https://picsum.photos/seed/b/600/400" } ] } },
      { "type": "video", "props": { "url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ" } },
      { "type": "pdf",   "props": { "url": "https://example.com/catalog.pdf", "title": "Catalog" } },
      { "type": "appBadges", "props": { "ios":"https://apps.apple.com/app/id000000", "android":"https://play.google.com/store/apps/details?id=app" } },
      { "type": "socialLinks", "props": { "items":[
          {"name":"Instagram","url":"https://instagram.com/brand"},{"name":"TikTok","url":"https://tiktok.com/@brand"} ] } },
      { "type": "button", "props": { "label":"Open site", "href":"https://yeb.to", "variant":"primary", "align":"center" } }
    ]
  }
}

#Parameters that actually matter

Image generation

ParamTypeRequiredWhy it matters
qr_code_textstringYes (generator)The content to encode. For experiences we auto-use scan_url.
image_formatSVG|PNG|JPGNoSVG for print; PNG for most branded/all-color cases; JPG is smallest but lossy.
foreground_color/background_color#RRGGBBNoEnsure 40%+ contrast. Avoid light-on-light; scanners fail.
body_style/eye_stylestringNo“dot” body + “circle” eyes feels modern; keep eyes visible for reliability.
qr_code_logoenumNo“scan-me” boosts intent. For uploads, ensure 15–20% center area only.
frame_name + text/iconenumNoFrames add CTA without redesigning posters; great for flyers/menus.
save/download/include_bytes0|1Nosave=1 returns file_url. download=1 triggers file response; we auto-force bytes. Default bytes: 1, but 0 if save=1 to keep payloads light.

Experience generation

ParamTypeRequiredPractical guidance
typeenumYesPick the smallest that solves your flow. page is the most flexible.
page.versionintYes (page)Schema version; current UI uses 1.
page.blocks[]arrayYes (page)Hero, gallery, video, mp3, pdf, socialLinks, event, coupon, rating, feedback, vcardPlus, text, button, spacer, divider.
event.*mixedYes (event)Automatically generates an .ics file; perfect for meetups/concerts.
vcard_plus.*mixedYes (vcard_plus)Generates a downloadable .vcf and optional photo avatar.

Scan & events

ParamTypeRequiredNotes
experience_id OR type+codeint / stringYesEither pass the numeric id or the pair; avoid both.
eventstringYes (for /event)Example: cta_click, rating_submitted, download.
valuestring|numberNoOptional payload (e.g., rating value, button id).
metaobjectNoExtra attribution (campaign, placement). IP/UA/referrer are auto-recorded server-side.

#Reading & acting on responses

QR image (generator)

{
  "mime":"image/png","ext":"png","width":720,"height":880,
  "saved":true,"file_url":"https://cdn.your-site/qr_codes/2025/08/21/qr-...png",
  "file_path":"qr_codes/2025/08/21/qr-...png",
  "meta":{"format":"PNG","logo":"scan-me","shape":{"body":"dot","eye":"circle"}},
  "data_base64": null
}
  • Store file_url for reuse. Keep meta if you render previews.
  • Large payloads? Set include_bytes=0 and rely on CDN URLs.

Experience + QR

{
  "scan_url":"https://yeb.to/s/abc123",
  "experience":{"id":1902,"code":"abc123","type":"page","title":"Winter Lookbook"},
  "mime":"image/png","ext":"png","width":720,"height":880,
  "saved":true,"file_url":"https://.../qr_codes/.../campaign-q1.png",
  "meta":{ "...": "..." }, "data_base64": null
}
  • scan_url is the URL to print/embed into any QR.
  • Use qr-scan/event to track CTA clicks (e.g., “Get tickets”).

#Practical recipes

  • Print-ready assets: Prefer SVG. Keep a 4-module quiet zone; test from 30–50 cm.
  • Brand triad: Per-eye inner colors (eye1/2/3_inner_color) for brand palettes without hurting readability.
  • Events/RSVP: type=event auto-generates .ics; add a CTA to a ticketing URL.
  • vCard at conferences: type=vcard_plus produces a downloadable contact card + avatar.
  • Attribution: Append ?utm_source=qr to external links inside page blocks; also log /event on click.

#Errors & safeguards

  • 422 — Validation (e.g., page.blocks missing for type=page).
  • 404 — Experience not found (wrong type/code pair).
  • 410 — Experience inactive/expired.
  • download=1 forces raw bytes; prefer save=1 + CDN for production.

#API Changelog (QR Suite)

2025-11-05
Kitchen-sink request sample. Added full example covering most qr-experience/generate and QR styling options.
2025-11-03
Event & Feedback upgrades. event now supports cover images; feedback adds display=wizard and cover support.
2025-11-02
Scan logging API. Exposed /v1/qr-scan/scan and /v1/qr-scan/event for server-side tracking with IP/UA/referrer capture.
2025-10-28
Output payload hardening. include_bytes defaults to 0 when save=1; frames and logos documented in meta.
2025-10-20
Experiences v1. Added Page Builder (type=page) with blocks (hero, gallery, video, mp3, pdf, socialLinks, event, coupon, rating, feedback, vcardPlus, text, button, spacer, divider).

Use the endpoint playgrounds on this page to test payloads and lock in your defaults (format, logo/frame, storage path).

자주 묻는 질문

SVG는 인쇄 및 고해상도 화면에 이상적입니다(벡터). PNG/JPG는 래스터입니다; 맞춤 모양, 눈별 색상 또는 프레임이 필요할 때 사용하세요.

밝은 배경에 어두운 모듈을 사용하고, 좋은 대비를 유지하며, 코드 뒤에 복잡한 이미지를 피하고, 로고 크기를 ~25-30%를 초과하지 마세요.

높음(H)을 사용하며, 이상적인 조건에서 약 ~30% 손상 허용도를 제공합니다.

네, QR 주위에 4모듈 마진이 적용됩니다.

프레임은 래스터 출력(PNG/JPG)에 적용됩니다. SVG는 기본 QR만 사용합니다.

Hex #RRGGBB. 유효하지 않은 값은 #000000으로 대체됩니다.

구성된 Laravel 디스크(기본값 public)의 {folder}/YYYY/MM/DD 아래에 저장됩니다. API는 file_url과 file_path를 반환합니다.

include_bytes=1일 때, 직접 삽입을 위한 Data URI 문자열(예: data:image/png;base64,...)을 반환합니다.

예. 오류가 발생한 요청을 포함하여 모든 요청은 크레딧을 소비합니다. 크레딧은 성공 또는 실패와 관계없이 요청 수에 연결됩니다. 오류가 당사 플랫폼 문제로 인한 것이 분명한 경우 영향을 받은 크레딧을 복원합니다(현금 환불 없음).

[email protected]로 문의하세요. 피드백을 진지하게 받아들입니다—버그 리포트나 기능 요청이 의미 있는 경우 API를 빠르게 수정하거나 개선하고 감사의 표시로 50 무료 크레딧을 제공합니다.

API와 때로는 엔드포인트에 따라 다릅니다. 일부 엔드포인트는 외부 소스의 데이터를 사용하며 더 엄격한 제한이 있을 수 있습니다. 남용을 방지하고 플랫폼 안정성을 유지하기 위해 제한도 적용합니다. 각 엔드포인트의 구체적인 제한은 문서를 확인하세요.

크레딧 시스템으로 운영됩니다. 크레딧은 API 호출과 도구에 사용하는 선불, 환불 불가 단위입니다. 크레딧은 FIFO(오래된 것부터) 방식으로 소비되며 구매일로부터 12개월간 유효합니다. 대시보드에 각 구매 날짜와 만료일이 표시됩니다.

예. 구매한 모든 크레딧(소수 잔액 포함)은 구매일로부터 12개월간 유효합니다. 미사용 크레딧은 유효 기간 종료 시 자동으로 만료되어 영구 삭제됩니다. 만료된 크레딧은 복원하거나 현금 또는 기타 가치로 전환할 수 없습니다. 경과 규칙: 2025년 9월 22일 이전에 구매한 크레딧은 2025년 9월 22일에 구매한 것으로 처리되어 2026년 9월 22일에 만료됩니다(구매 시 더 이른 만료일이 명시되지 않은 한).

예—유효 기간 내에서 이월됩니다. 미사용 크레딧은 계속 사용 가능하며 구매 후 12개월 만료까지 매월 이월됩니다.

크레딧은 환불 불가입니다. 필요한 만큼만 구매하세요—나중에 언제든 충전할 수 있습니다. 플랫폼 오류로 인해 청구가 실패한 경우 조사 후 영향을 받은 크레딧을 복원할 수 있습니다. 현금 환불 없음.

가격은 달러가 아닌 크레딧으로 설정됩니다. 각 엔드포인트에는 자체 비용이 있습니다—위의 "크레딧 / 요청" 배지를 참조하세요. 항상 정확한 지출 금액을 알 수 있습니다.
← API로 돌아가기