PageSourceSearch

https://iapp.co.th/assets/js/c446613e.582d5186.js

js iapp.co.th collected 2026-10-02 05:27:13 UTC 123,901 bytes, 4 lines download raw bytes

1"use strict";(self.webpackChunkiapp_homepage_2025=self.webpackChunkiapp_homepage_2025||[]).push([["3020"],{60869:function(t,e,a){a.r(e),a.d(e,{metadata:()=>n,default:()=>p,frontMatter:()=>l,contentTitle:()=>y,toc:()=>g,assets:()=>h});var n=JSON.parse('{"id":"image-generation/image-upscaler","title":"iApp Image Upscaler","description":"Enlarge photos, product shots and artwork 2x or 4x with reconstructed detail instead of blur. Up to 4096 x 4096 output, about 1 second per image, 1 IC per image.","source":"@site/docs/image-generation/image-upscaler.md","sourceDirName":"image-generation","slug":"/image-generation/image-upscaler","permalink":"/docs/image-generation/image-upscaler","draft":false,"unlisted":false,"tags":[],"version":"current","sidebarPosition":2,"frontMatter":{"sidebar_label":"iApp Image Upscaler","sidebar_class_name":"sidebar-new-badge","sidebar_position":2,"description":"Enlarge photos, product shots and artwork 2x or 4x with reconstructed detail instead of blur. Up to 4096 x 4096 output, about 1 second per image, 1 IC per image.","keywords":["image upscaler API","AI upscaling","super resolution API","enlarge image 4x","image enhancement API","photo upscaler Thailand","increase image resolution"]},"sidebar":"tutorialSidebar","previous":{"title":"iApp Image Generation","permalink":"/docs/image-generation/iapp-image-generation"},"next":{"title":"Google Nanobanana","permalink":"/docs/image-generation/google-nanobanana"}}'),c=a(74848),d=a(84429),o=a(32661),s=a(62223),r=a(85886),u=a(36833),i=a(97437);let l={sidebar_label:"iApp Image Upscaler",sidebar_class_name:"sidebar-new-badge",sidebar_position:2,description:"Enlarge photos, product shots and artwork 2x or 4x with reconstructed detail instead of blur. Up to 4096 x 4096 output, about 1 second per image, 1 IC per image.",keywords:["image upscaler API","AI upscaling","super resolution API","enlarge image 4x","image enhancement API","photo upscaler Thailand","increase image resolution"]},y="iApp Image Upscaler",h={},g=[{value:"Live Demo",id:"live-demo",level:2},{value:"Examples",id:"examples",level:2},{value:"Quick Start",id:"quick-start",level:2},{value:"Endpoints and Pricing",id:"endpoints-and-pricing",level:2},{value:"Performance",id:"performance",level:2},{value:"Output Quality",id:"output-quality",level:2},{value:"Data Security and Compliance",id:"data-security-and-compliance",level:2},{value:"Technical Reference",id:"technical-reference",level:2},{value:"Request",id:"request",level:3},{value:"Response",id:"response",level:3},{value:"Errors",id:"errors",level:3},{value:"Code Examples",id:"code-examples",level:3},{value:"Changelog",id:"changelog",level:2}];function v(t){let e={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,d.R)(),...t.components};return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(e.header,{children:(0,c.jsx)(e.h1,{id:"iapp-image-upscaler",children:"iApp Image Upscaler"})}),"\n",(0,c.jsxs)("div",{className:"api-info-box",style:{backgroundColor:"#f0f9ff",padding:"16px",borderRadius:"12px",marginBottom:"16px",border:"1px solid #bae6fd"},children:[(0,c.jsx)("div",{className:"api-info-price-row",style:{fontSize:"1.5rem",fontWeight:"bold",color:"#0c4a6e",marginBottom:"8px"},children:(0,c.jsxs)("a",{href:"#endpoints-and-pricing",style:{textDecoration:"none"},children:[(0,c.jsx)("i",{className:"fa-solid fa-coins",style:{marginRight:"8px",color:"#0284c7"}}),(0,c.jsx)("span",{className:"api-info-price",style:{color:"#0284c7"},children:"1 IC"}),(0,c.jsx)("span",{className:"api-info-unit",style:{fontSize:"1rem",fontWeight:"normal",color:"#475569",marginLeft:"8px"},children:"per image, 2x or 4x, any output size up to 16.8 megapixels"})]})}),(0,c.jsxs)("div",{className:"api-info-meta",style:{fontSize:"0.8rem",color:"#64748b",display:"flex",flexWrap:"wrap",gap:"12px",alignItems:"center"},children:[(0,c.jsx)(u.A,{}),(0,c.jsx)("a",{href:"#changelog",style:{color:"inherit",textDecoration:"none"},children:(0,c.jsxs)("strong",{children:[(0,c.jsx)("i",{className:"fa-solid fa-tag",style:{marginRight:"4px"}})," v1.0.0-20260907"]})}),(0,c.jsxs)("a",{href:"https://status.iapp.co.th",target:"_blank",rel:"noopener noreferrer",style:{color:"inherit",textDecoration:"none"},children:[(0,c.jsx)("i",{className:"fa-solid fa-circle-check",style:{marginRight:"4px",color:"#22c55e"}})," Active"]}),(0,c.jsxs)("a",{href:"#changelog",style:{color:"inherit",textDecoration:"none"},children:[(0,c.jsx)("i",{className:"fa-solid fa-calendar",style:{marginRight:"4px"}})," Since Sep 2026"]}
1),(0,c.jsxs)("a",{href:"#performance",style:{color:"inherit",textDecoration:"none"},children:[(0,c.jsx)("i",{className:"fa-solid fa-clock",style:{marginRight:"4px"}})," 1.0 s for 1024 x 1024 to 4096 x 4096"]}),(0,c.jsxs)("a",{href:"#performance",style:{color:"inherit",textDecoration:"none"},children:[(0,c.jsx)("i",{className:"fa-solid fa-gauge-high",style:{marginRight:"4px"}})," about 1,500 images per hour"]}),(0,c.jsxs)("a",{href:"#output-quality",style:{color:"inherit",textDecoration:"none"},children:[(0,c.jsx)("i",{className:"fa-solid fa-bullseye",style:{marginRight:"4px"}})," 29 of 29 reference images sharper than bicubic"]}),(0,c.jsxs)("a",{href:"#technical-reference",style:{color:"inherit",textDecoration:"none"},children:[(0,c.jsx)("i",{className:"fa-solid fa-location-dot",style:{marginRight:"4px"}})," POST ",(0,c.jsx)("code",{children:"/v3/store/image-generation/image-upscaler/upscale"})]})]})]}),"\n",(0,c.jsx)(i.A,{}),"\n",(0,c.jsx)(e.p,{children:"iApp Image Upscaler enlarges an image 2x or 4x and reconstructs the detail that a plain resize cannot: edges stay crisp, textures such as hair, fabric, foliage and lettering are rebuilt instead of blurred, and JPEG artefacts in the source are cleaned up on the way. It is built for e-commerce product photos, print material prepared from web-sized originals, old or low-resolution photographs, thumbnails that must be shown large, and illustrations. A 1024 x 1024 photo becomes 4096 x 4096 in 1.0 second on the production service; the output is limited to 16.8 megapixels (4096 x 4096), which covers A3 print at 300 dpi."}),"\n",(0,c.jsx)(e.h2,{id:"live-demo",children:"Live Demo"}),"\n",(0,c.jsx)(e.p,{children:"Upload a JPEG, PNG or WebP (up to 10 MB), or pick one of the small example images, choose 2x or 4x and press Upscale. The result appears in a before-and-after view: drag the handle to compare."}),"\n",(0,c.jsx)(r.A,{defaultScale:4,examples:[{title:"Night market (256 px)",src:"/img/image-generation/upscaler/street-scene-256.jpg"},{title:"Portrait on stage (256 px)",src:"/img/image-generation/upscaler/portrait-stage-256.jpg"},{title:"Product label (256 px)",src:"/img/image-generation/upscaler/product-label-256.jpg"},{title:"Illustration (256 px)",src:"/img/image-generation/upscaler/illustration-256.jpg"}]}),"\n",(0,c.jsx)(e.h2,{id:"examples",children:"Examples"}),"\n",(0,c.jsxs)(e.p,{children:["Each pair below is a 300 x 300 crop from a 256-pixel source enlarged 4x to 1024 pixels. Left: plain bicubic resize. Right: iApp Image Upscaler, photo model (illustration model for the last pair). Source images are from the ",(0,c.jsx)(e.a,{href:"/docs/image-generation/iapp-image-generation",children:"iApp Image Generation"})," gallery; outputs are unretouched."]}),"\n",(0,c.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(300px, 1fr))",gap:"12px",margin:"12px 0 20px"},children:[(0,c.jsxs)("figure",{style:{margin:0},children:[(0,c.jsx)("img",{src:"/img/image-generation/upscaler/street-scene-compare.webp",alt:"Night market sign: bicubic resize on the left, upscaler output on the right",style:{width:"100%",borderRadius:"8px"}}),(0,c.jsx)("figcaption",{style:{fontSize:"0.8rem",color:"#64748b"},children:"Night market, 4x. Bicubic (left) / upscaler (right)"})]}),(0,c.jsxs)("figure",{style:{margin:0},children:[(0,c.jsx)("img",{src:"/img/image-generation/upscaler/portrait-stage-compare.webp",alt:"Portrait on stage: bicubic resize on the left, upscaler output on the right",style:{width:"100%",borderRadius:"8px"}}),(0,c.jsx)("figcaption",{style:{fontSize:"0.8rem",color:"#64748b"},children:"Portrait on stage, 4x. Bicubic (left) / upscaler (right)"})]}),(0,c.jsxs)("figure",{style:{margin:0},children:[(0,c.jsx)("img",{src:"/img/image-generation/upscaler/product-label-compare.webp",alt:"Product label: bicubic resize on the left, upscaler output on the right",style:{width:"100%",borderRadius:"8px"}}),(0,c.jsx)("figcaption",{style:{fontSize:"0.8rem",color:"#64748b"},children:"Product label, 4x. Bicubic (left) / upscaler (right)"})]}),(0,c.jsxs)("figure",{style:{margin:0},children:[(0,c.jsx)("img",{src:"/img/image-generation/upscaler/illustration-compare.webp",alt:"Illustration: bicubic resize on the left, upscaler output on the right",style:{width:"100%",borderRadius:"8px"}}),(0,c.jsx)("figcaption",{style:{fontSize:"0.8rem",color:"#64748b"},children:"Illustration, 4x, illustration model. Bicubic (left) / upscaler (right)"})]})]}
1),"\n",(0,c.jsx)(e.h2,{id:"quick-start",children:"Quick Start"}),"\n",(0,c.jsxs)(e.p,{children:["You need an API key from the ",(0,c.jsx)(e.a,{href:"https://iapp.co.th/login",children:"iApp AI Portal"}),". Send the image as a multipart form with the ",(0,c.jsx)(e.code,{children:"apikey"})," header:"]}),"\n",(0,c.jsx)(e.pre,{children:(0,c.jsx)(e.code,{className:"language-bash",children:'curl -X POST https://api.iapp.co.th/v3/store/image-generation/image-upscaler/upscale \\\n  -H "apikey: YOUR_API_KEY" \\\n  -F "[email protected]" \\\n  -F "scale=4" \\\n  -F "output_format=png"\n'})}),"\n",(0,c.jsx)(e.pre,{children:(0,c.jsx)(e.code,{className:"language-json",children:'{\n  "status": "success",\n  "model": "photo",\n  "scale": 4,\n  "input": { "width": 800, "height": 800 },\n  "width": 3200,\n  "height": 3200,\n  "mime_type": "image/png",\n  "bytes": 9871234,\n  "image_base64": "iVBORw0KGgoAAAANSUhEUgAADIAAAAyACAIAAAB...",\n  "time": { "model": 0.61, "total": 1.42 },\n  "iapp": { "images": 1, "version": "1.0.0-20260907" }\n}\n'})}),"\n",(0,c.jsxs)(e.p,{children:["Add ",(0,c.jsx)(e.code,{children:'-F "response=image"'})," to receive the image bytes directly instead of JSON. Code examples for Python and JavaScript are in the ",(0,c.jsx)(e.a,{href:"#code-examples",children:"Technical Reference"}),"."]}),"\n",(0,c.jsx)(e.h2,{id:"endpoints-and-pricing",children:"Endpoints and Pricing"}),"\n",(0,c.jsxs)(e.table,{children:[(0,c.jsx)(e.thead,{children:(0,c.jsxs)(e.tr,{children:[(0,c.jsx)(e.th,{children:"Endpoint"}),(0,c.jsx)(e.th,{children:"Description"}),(0,c.jsx)(e.th,{children:"Price"})]})}),(0,c.jsxs)(e.tbody,{children:[(0,c.jsxs)(e.tr,{children:[(0,c.jsx)(e.td,{children:(0,c.jsx)(e.code,{children:"POST /v3/store/image-generation/image-upscaler/upscale"})}),(0,c.jsx)(e.td,{children:"Enlarge one image 2x or 4x"}),(0,c.jsx)(e.td,{children:"1 IC per image"})]}),(0,c.jsxs)(e.tr,{children:[(0,c.jsx)(e.td,{children:(0,c.jsx)(e.code,{children:"GET /v3/store/image-generation/image-upscaler/models"})}),(0,c.jsx)(e.td,{children:"List the available models and limits"}),(0,c.jsx)(e.td,{children:"Free"})]})]})]}),"\n",(0,c.jsx)(e.p,{children:"One image costs 1 IC whatever its size or scale, as long as the output stays within 16.8 megapixels (4096 x 4096). Only successful responses are charged; rejected or failed requests are free."}),"\n",(0,c.jsx)(e.h2,{id:"performance",children:"Performance"}),"\n",(0,c.jsx)(e.p,{children:"Measured on the production GPU on 7 September 2026, one request at a time, photo model, median of 5 runs. Model time is the enlargement itself; encoding is the time to produce the returned file and depends on the format you ask for."}),"\n",(0,c.jsxs)(e.table,{children:[(0,c.jsx)(e.thead,{children:(0,c.jsxs)(e.tr,{children:[(0,c.jsx)(e.th,{children:"Input"}),(0,c.jsx)(e.th,{children:"Scale"}),(0,c.jsx)(e.th,{children:"Output"}),(0,c.jsx)(e.th,{children:"Model time"}),(0,c.jsx)(e.th,{children:"PNG encode"}),(0,c.jsx)(e.th,{children:"JPEG encode"})]})}),(0,c.jsxs)(e.tbody,{children:[(0,c.jsxs)(e.tr,{children:[(0,c.jsx)(e.td,{children:"512 x 512"}),(0,c.jsx)(e.td,{children:"4x"}),(0,c.jsx)(e.td,{children:"2048 x 2048"}),(0,c.jsx)(e.td,{children:"0.23 s"}),(0,c.jsx)(e.td,{children:"0.34 s"}),(0,c.jsx)(e.td,{children:"0.05 s"})]}),(0,c.jsxs)(e.tr,{children:[(0,c.jsx)(e.td,{children:"1024 x 1024"}),(0,c.jsx)(e.td,{children:"4x"}),(0,c.jsx)(e.td,{children:"4096 x 4096"}),(0,c.jsx)(e.td,{children:"0.98 s"}),(0,c.jsx)(e.td,{children:"1.37 s"}),(0,c.jsx)(e.td,{children:"0.18 s"})]}),(0,c.jsxs)(e.tr,{children:[(0,c.jsx)(e.td,{children:"1920 x 1080"}),(0,c.jsx)(e.td,{children:"2x"}),(0,c.jsx)(e.td,{children:"3840 x 2160"}),(0,c.jsx)(e.td,{children:"0.41 s"}),(0,c.jsx)(e.td,{children:"0.61 s"}),(0,c.jsx)(e.td,{children:"0.08 s"})]}),(0,c.jsxs)(e.tr,{children:[(0,c.jsx)(e.td,{children:"2048 x 2048"}),(0,c.jsx)(e.td,{children:"2x"}),(0,c.jsx)(e.td,{children:"4096 x 4096"}),(0,c.jsx)(e.td,{children:"0.78 s"}),(0,c.jsx)(e.td,{children:"1.27 s"}),(0,c.jsx)(e.td,{children:"0.18 s"})]})]})]}),"\n",(0,c.jsxs)(e.table,{children:[(0,c.jsx)(e.thead,{children:(0,c.jsxs)(e.tr,{children:[(0,c.jsx)(e.th,{children:"Metric"}),(0,c.jsx)(e.th,{children:"Value"})]})}),(0,c.jsxs)(e.tbody,{children:[(0,c.jsxs)(e.tr,{children:[(0,c.jsx)(e.td,{children:"Illustration model, 1024 x 1024 to 4096 x 4096"}),(0,c.jsx)(e.td,{children:"0.32 s"})]}),(0,c.jsxs)(e.tr,{children:[(0,c.jsx)(e.td,{children:"Fast model, 1024 x 1024 to 4096 x 4096"}),(0,c.jsx)(e.td,{children:"0.06 s"})]}),(0,c.jsxs)(e.tr,{children:[(0,c.jsx)(e.td,{children:"Serving capacity"}),(0,c.jsx)(e.td,{children:"about 1,500 images per hour at the largest output as PNG, about 3,000 per hour as JPEG, on one GPU; requests beyond that wait in a first-come queue"})]}),(0,c.jsxs)(e.tr,{children:[(0,c.jsx)(e.td,{children:"Input"}),(0,c.jsx)(e.td,{children:"JPEG, PNG or WebP, up to 10 MB and 16.8 megapixels; transparency is preserved"})]}),(0,c.jsxs)(e.tr,{children:[(0,c.jsx)(e.td,{children:"Output"}),(0,c.jsx)(e.td,{children:"PNG (default), JPEG or WebP, up to 16.8 megapixels (4096 x 4096): at 4x the input may be up to 1024 x 1024, at 2x up to 2048 x 2048"})]}),(0,c.jsxs)(e.tr,{children:[(0,c.jsx)(e.td,{children:"Rate limits (per API key)"}),(0,c.jsx)(e.td,{children:"5 per second, 60 per minute, 1,200 per hour"})]})]})]}),"\n",(0,c.jsxs)(e.p,{children:["A 4096 x 4096 PNG of a photograph is typically 10 to 20 MB;
1 the same image as JPEG at the default quality of 92 is 1 to 3 MB. Ask for ",(0,c.jsx)(e.code,{children:"output_format=jpeg"})," or ",(0,c.jsx)(e.code,{children:"webp"})," when file size or transfer time matters more than lossless output."]}),"\n",(0,c.jsx)(e.h2,{id:"output-quality",children:"Output Quality"}),"\n",(0,c.jsx)(e.p,{children:"The upscaler is a learned model that reconstructs plausible detail. It is measured against plain bicubic resizing on the 29 images of the iApp Image Generation gallery (900 x 540), each reduced 4x with a Lanczos filter and enlarged back to the original size (7 September 2026, photo model):"}),"\n",(0,c.jsxs)(e.table,{children:[(0,c.jsx)(e.thead,{children:(0,c.jsxs)(e.tr,{children:[(0,c.jsx)(e.th,{children:"Metric (versus the original)"}),(0,c.jsx)(e.th,{children:"Bicubic resize"}),(0,c.jsx)(e.th,{children:"iApp Image Upscaler"})]})}),(0,c.jsxs)(e.tbody,{children:[(0,c.jsxs)(e.tr,{children:[(0,c.jsx)(e.td,{children:"LPIPS perceptual distance, lower is better"}),(0,c.jsx)(e.td,{children:"0.284"}),(0,c.jsx)(e.td,{children:"0.159"})]}),(0,c.jsxs)(e.tr,{children:[(0,c.jsx)(e.td,{children:"Images where the upscaler is closer to the original (LPIPS)"}),(0,c.jsx)(e.td,{}),(0,c.jsx)(e.td,{children:"29 of 29"})]}),(0,c.jsxs)(e.tr,{children:[(0,c.jsx)(e.td,{children:"PSNR, higher is better"}),(0,c.jsx)(e.td,{children:"27.2 dB"}),(0,c.jsx)(e.td,{children:"25.7 dB"})]})]})]}),"\n",(0,c.jsx)(e.p,{children:"The two rows point in opposite directions on purpose. LPIPS measures how close the result looks to the original to a human observer; PSNR rewards the safe, blurred average that a resize produces. Reconstructing texture always costs a little PSNR; judge the service by the examples above and by your own images in the demo."}),"\n",(0,c.jsx)(e.p,{children:"Two limits apply:"}),"\n",(0,c.jsxs)(e.ul,{children:["\n",(0,c.jsx)(e.li,{children:"Fine detail that is not present in the source is invented, not recovered: a face or a line of small text at 40 pixels will come out sharp but not necessarily identical to the real person or the real text. Do not use the output as evidence of what a low-resolution source showed."}),"\n",(0,c.jsx)(e.li,{children:"Heavily compressed or blurred sources are cleaned up, but motion blur and out-of-focus areas stay soft."}),"\n"]}),"\n",(0,c.jsx)(e.h2,{id:"data-security-and-compliance",children:"Data Security and Compliance"}),"\n",(0,c.jsxs)(e.ul,{children:["\n",(0,c.jsx)(e.li,{children:"The service is GDPR and PDPA compliant."}),"\n",(0,c.jsx)(e.li,{children:"Images are processed in memory and returned in the response; nothing is written to disk and nothing is retained after the response is sent."}),"\n",(0,c.jsx)(e.li,{children:"The model runs on iApp-operated GPU infrastructure in Thailand; no image is sent to a third-party provider."}),"\n"]}),"\n",(0,c.jsx)(e.h2,{id:"technical-reference",children:"Technical Reference"}),"\n",(0,c.jsx)(e.h3,{id:"request",children:"Request"}),"\n",(0,c.jsxs)(e.p,{children:[(0,c.jsx)(e.code,{children:"POST /v3/store/image-generation/image-upscaler/upscale"})," accepts ",(0,c.jsx)(e.code,{children:"multipart/form-data"})," with the ",(0,c.jsx)(e.code,{children:"apikey"})," header."]}),"\n",(0,c.jsxs)(e.table,{children:[(0,c.jsx)(e.thead,{children:(0,c.jsxs)(e.tr,{children:[(0,c.jsx)(e.th,{children:"Field"}),(0,c.jsx)(e.th,{children:"Type"}),(0,c.jsx)(e.th,{children:"Required"}),(0,c.jsx)(e.th,{children:"Description"})]})}),(0,c.jsxs)(e.tbody,{children:[(0,c.jsxs)(e.tr,{children:[(0,c.jsx)(e.td,{children:(0,c.jsx)(e.code,{children:"file"})}),(0,c.jsx)(e.td,{children:"file"}),(0,c.jsxs)(e.td,{children:["Yes, or ",(0,c.jsx)(e.code,{children:"image_base64"})]}),(0,c.jsx)(e.td,{children:"The image: JPEG, PNG or WebP, up to 10 MB and 16.8 megapixels. EXIF orientation is applied; transparency is preserved."})]}),(0,c.jsxs)(e.tr,{children:[(0,c.jsx)(e.td,{children:(0,c.jsx)(e.code,{children:"image_base64"})}),(0,c.jsx)(e.td,{children:"string"}),(0,c.jsx)(e.td,{children:"No"}),(0,c.jsxs)(e.td,{children:["Alternative to ",(0,c.jsx)(e.code,{children:"file"}),": the image as base64 (a ",(0,c.jsx)(e.code,{children:"data:"})," URL prefix is accepted)."]})]}),(0,c.jsxs)(e.tr,{children:[(0,c.jsx)(e.td,{children:(0,c.jsx)(e.code,{children:"scale"})}),(0,c.jsx)(e.td,{children:"integer"}),(0,c.jsx)(e.td,{children:"No"}),(0,c.jsxs)(e.td,{children:[(0,c.jsx)(e.code,{children:"4"})," (default) or ",(0,c.jsx)(e.code,{children:"2"}),"."]})]}),(0,c.jsxs)(e.tr,{children:[(0,c.jsx)(e.td,{children:(0,c.jsx)(e.code,{children:"model"})}),(0,c.jsx)(e.td,{children:"string"}),(0,c.jsx)(e.td,{children:"No"}),(0,c.jsxs)(e.td,{children:[(0,c.jsx)(e.code,{children:"photo"})," (default) for photographs and general images, ",(0,c.jsx)(e.code,{children:"anime"})," for illustrations, anime and flat artwork, ",(0,c.jsx)(e.code,{children:"fast"})," for a lighter model when throughput matters more than detail."]})]}),(0,c.jsxs)(e.tr,{children:[(0,c.jsx)(e.td,{children:(0,c.jsx)(e.code,{children:"output_format"})}),(0,c.jsx)(e.td,{children:"string"}),(0,c.jsx)(e.td,{children:"No"}),(0,c.jsxs)(e.td,{children:[(0,c.jsx)(e.code,{children:"png"})," (default, lossless), ",(0,c.jsx)(e.code,{children:"jpeg"})," or ",(0,c.jsx)(e.code,{children:"webp"}),"."]})]}),(0,c.jsxs)(e.tr,{children:[(0,c.jsx)(e.td,{children:(0,c.jsx)(e.code,{children:"quality"})}),(0,c.jsx)(e.td,{children:"integer"}),(0,c.jsx)(e.td,{children:"No"}),(0,c.jsxs)(e.td,{children:["1 to 100 for ",(0,c.jsx)(e.code,{children:"jpeg"})," and ",(0,c.jsx)(e.code,{children:"webp"}),", default 92."]})]}),(0,c.jsxs)(e.tr,{children:[(0,c.jsx)(e.td,{children:(0,c.jsx)(e.code,{children:"response"})}),(0,c.jsx)(e.td,{children:"string"}),(0,c.jsx)(e.td,{children:"No"}),(0,c.jsxs)(e.td,{children:[(0,c.jsx)(e.code,{children:"json"})," (default) returns the JSON below with the image as base64; ",(0,c.jsx)(e.code,{children:"image"})," returns the image bytes with the matching ",(0,c.jsx)(e.code,{children:"Content-Type"}),"."]})]})]})]}),"\n",(0,c.jsxs)(e.p,{children:["Every successful response carries the headers ",(0,c.jsx)(e.code,{children:"iapp-input-images: 1"})," and ",(0,c.jsx)(e.code,{children:"x-iapp-output-size"})," (for example ",(0,c.jsx)(e.code,{children:"4096x4096"}),")."]}),"\n",(0,c.jsx)(e.h3,{id:"response",children:"Response"}),"\n",(0,c.jsx)(e.pre,{children:(0,c.jsx)(e.code,{className:"language-json",children:'{\n  "status": "success",\n  "model": "photo",\n  "scale": 4,\n  "input": { "width": 1024, "height": 1024 },\n  "width": 4096,\n  "height": 4096,\n  "mime_type": "image/png",\n  "bytes": 16523871,\n  "image_base64": "...",\n  "time": { "model": 0.98, "total": 2.41 },\n  "iapp": { "images": 1, "version": "1.0.0-20260907" }\n}\n'})}),"\n",(0,c.jsxs)(e.p,{children:[(0,c.jsx)(e.code,{children:"time.model"})," is the enlargement; ",(0,c.jsx)(e.code,{children:"time.total"})," includes decoding the upload and encoding the result."]}),"\n",(0,c.jsx)(e.h3,{id:"errors",children:"Errors"}),"\n",(0,c.jsxs)(e.table,{children:[(0,c.jsx)(e.thead,{children:(0,c.jsxs)(e.tr,{children:[(0,c.jsx)(e.th,{children:"HTTP status"}),(0,c.jsx)(e.th,{children:(0,c.jsx)(e.code,{children:"error_code"})}),(0,c.jsx)(e.th,{children:"Meaning"})]})}),(0,c.jsxs)(e.tbody,{children:[(0,c.jsxs)(e.tr,{children:[(0,c.jsx)(e.td,{children:"400"}),(0,c.jsx)(e.td,{children:(0,c.jsx)(e.code,{children:"invalid_image"})}),(0,c.jsx)(e.td,{children:"The file is not a readable JPEG, PNG or WebP"})]}),(0,c.jsxs)(e.tr,{children:[(0,c.jsx)(e.td,{children:"400"}),(0,c.jsx)(e.td,{children:(0,c.jsx)(e.code,{children:"input_too_large"})}),(0,c.jsx)(e.td,{children:"The input exceeds 16.8 megapixels"})]}),(0,c.jsxs)(e.tr,{children:[(0,c.jsx)(e.td,{children:"400"}),(0,c.jsx)(e.td,{children:(0,c.jsx)(e.code,{children:"output_too_large"})}),(0,c.jsxs)(e.td,{children:["Input x scale would exceed 16.8 megapixels; the message states the largest input for that scale. Use ",(0,c.jsx)(e.code,{children:"scale=2"})," or a smaller image"]})]}),(0,c.jsxs)(e.tr,{children:[(0,c.jsx)(e.td,{children:"400"}),(0,c.jsxs)(e.td,{children:[(0,c.jsx)(e.code,{children:"invalid_scale"}),", ",(0,c.jsx)(e.code,{children:"invalid_model"}),", ",(0,c.jsx)(e.code,{children:"invalid_output_format"})]}),(0,c.jsx)(e.td,{children:"A field has a value outside the table above"})]}),(0,c.jsxs)(e.tr,{children:[(0,c.jsx)(e.td,{children:"401"}),(0,c.jsx)(e.td,{}),(0,c.jsxs)(e.td,{children:["Missing or invalid ",(0,c.jsx)(e.code,{children:"apikey"})]})]}),(0,c.jsxs)(e.tr,{children:[(0,c.jsx)(e.td,{children:"402"}),(0,c.jsx)(e.td,{}),(0,c.jsx)(e.td,{children:"Insufficient credits"})]}),(0,c.jsxs)(e.tr,{children:[(0,c.jsx)(e.td,{children:"413"}),(0,c.jsx)(e.td,{children:(0,c.jsx)(e.code,{children:"file_too_large"})}),(0,c.jsx)(e.td,{children:"The upload exceeds 10 MB"})]}),(0,c.jsxs)(e.tr,{children:[(0,c.jsx)(e.td,{children:"429"}),(0,c.jsx)(e.td,{}),(0,c.jsx)(e.td,{children:"Rate limit exceeded for this API key"})]}),(0,c.jsxs)(e.tr,{children:[(0,c.jsx)(e.td,{children:"503"}),(0,c.jsx)(e.td,{children:(0,c.jsx)(e.code,{children:"starting"})}),(0,c.jsx)(e.td,{children:"The service is starting; retry after 30 seconds"})]})]})]}),"\n",(0,c.jsx)(e.p,{children:"Errors are not charged."}),"\n",(0,c.jsx)(e.h3,{id:"code-examples",children:"Code Examples"}),"\n",(0,c.jsxs)(o.A,{children:[(0,c.jsx)(s.A,{value:"curl",label:"cURL",default:!0,children:(0,c.jsx)(e.pre,{children:(0,c.jsx)(e.code,{className:"language-bash",children:'# JSON response, image saved from the base64 field\ncurl -X POST https://api.iapp.co.th/v3/store/image-generation/image-upscaler/upscale \\\n  -H "apikey: YOUR_API_KEY" \\\n  -F "[email protected]" -F "scale=4" -F "output_format=png" \\\n  | python3 -c "import sys, json, base64; r = json.load(sys.stdin);
1 open(\'photo-4x.png\', \'wb\').write(base64.b64decode(r[\'image_base64\'])); print(r[\'width\'], r[\'height\'], r[\'time\'])"\n\n# or the image bytes directly\ncurl -X POST https://api.iapp.co.th/v3/store/image-generation/image-upscaler/upscale \\\n  -H "apikey: YOUR_API_KEY" \\\n  -F "[email protected]" -F "scale=2" -F "output_format=jpeg" -F "response=image" \\\n  -o photo-2x.jpg\n'})})}),(0,c.jsx)(s.A,{value:"python",label:"Python",children:(0,c.jsx)(e.pre,{children:(0,c.jsx)(e.code,{className:"language-python",children:'import base64\nimport requests\n\nurl = "https://api.iapp.co.th/v3/store/image-generation/image-upscaler/upscale"\nwith open("photo.jpg", "rb") as f:\n    response = requests.post(\n        url,\n        headers={"apikey": "YOUR_API_KEY"},\n        files={"file": ("photo.jpg", f, "image/jpeg")},\n        data={"scale": 4, "model": "photo", "output_format": "png"},\n        timeout=120,\n    )\nresponse.raise_for_status()\nresult = response.json()\nwith open("photo-4x.png", "wb") as out:\n    out.write(base64.b64decode(result["image_base64"]))\nprint(result["width"], result["height"], result["time"])\n'})})}),(0,c.jsx)(s.A,{value:"javascript",label:"JavaScript",children:(0,c.jsx)(e.pre,{children:(0,c.jsx)(e.code,{className:"language-javascript",children:'// Browser: fileInput is an <input type="file">\nconst form = new FormData();\nform.append("file", fileInput.files[0]);\nform.append("scale", "4");\nform.append("output_format", "webp");\n\nconst response = await fetch("https://api.iapp.co.th/v3/store/image-generation/image-upscaler/upscale", {\n  method: "POST",\n  headers: { "apikey": "YOUR_API_KEY" },\n  body: form,\n});\nconst result = await response.json();\nconst img = document.createElement("img");\nimg.src = `data:${result.mime_type};base64,${result.image_base64}`;\ndocument.body.appendChild(img);\n'})})})]}),"\n",(0,c.jsx)(e.h2,{id:"changelog",children:"Changelog"}),"\n",(0,c.jsxs)(e.table,{children:[(0,c.jsx)(e.thead,{children:(0,c.jsxs)(e.tr,{children:[(0,c.jsx)(e.th,{children:"Version"}),(0,c.jsx)(e.th,{children:"Date"}),(0,c.jsx)(e.th,{children:"Change"})]})}),(0,c.jsx)(e.tbody,{children:(0,c.jsxs)(e.tr,{children:[(0,c.jsx)(e.td,{children:"v1.0.0-20260907"}),(0,c.jsx)(e.td,{children:"7 Sep 2026"}),(0,c.jsx)(e.td,{children:"First release: 2x and 4x enlargement with photo, illustration and fast models; PNG, JPEG and WebP output; transparency preserved; output up to 16.8 megapixels. 1 IC per image."})]})})]})]})}function p(t={}){let{wrapper:e}={...(0,d.R)(),...t.components};return e?(0,c.jsx)(e,{...t,children:(0,c.jsx)(v,{...t})}):v(t)}},62223:function(t,e,a){a.d(e,{A:()=>d}),a(96540);var n=a(39836),c=a(74848);function d({children:t,hidden:e,className:a}){return(0,c.jsx)("div",{role:"tabpanel",className:(0,n.A)("tabItem_Ymn6",a),hidden:e,children:t})}},32661:function(t,e,a){a.d(e,{A:()=>x});var n=a(96540),c=a(39836),d=a(10740),o=a(65315),s=a(56347),r=a(14892),u=a(43316),i=a(92861),l=a(49022);function y(t){return n.Children.toArray(t).filter(t=>"\n"!==t).map(t=>{if(!t||(0,n.isValidElement)(t)&&function(t){let{props:e}=t;return!!e&&"object"==typeof e&&"value"in e}(t))return t;throw Error(`Docusaurus error: Bad <Tabs> child <${"string"==typeof t.type?t.type:t.type.name}>: all children of the <Tabs> component should be <TabItem>, and every <TabItem> should have a unique "value" prop.`)})?.filter(Boolean)??[]}function h({value:t,tabValues:e}){return e.some(e=>e.value===t)}var g=a(45592),v=a(74848);function p({className:t,block:e,selectedValue:a,selectValue:n,tabValues:d}){let s=[],{blockElementScrollPositionUntilNextRender:r}=(0,o.a_)(),u=t=>{let e=t.currentTarget,c=d[s.indexOf(e)].value;c!==a&&(r(e),n(c))},i=t=>{let e=null;switch(t.key){case"Enter":u(t);break;case"ArrowRight":{let a=s.indexOf(t.currentTarget)+1;e=s[a]??s[0];break}case"ArrowLeft":{let a=s.indexOf(t.currentTarget)-1;e=s[a]??s[s.length-1]}}e?.focus()};return(0,v.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,c.A)("tabs",{"tabs--block":e},t),children:d.map(({value:t,label:e,attributes:n})=>(0,v.jsx)("li",{role:"tab",tabIndex:a===t?0:-1,"aria-selected":a===t,ref:t=>{s.push(t)}
1,onKeyDown:i,onClick:u,...n,className:(0,c.A)("tabs__item","tabItem_LNqP",n?.className,{"tabs__item--active":a===t}),children:e??t},t))})}function L({lazy:t,children:e,selectedValue:a}){let d=(Array.isArray(e)?e:[e]).filter(Boolean);if(t){let t=d.find(t=>t.props.value===a);return t?(0,n.cloneElement)(t,{className:(0,c.A)("margin-top--md",t.props.className)}):null}return(0,v.jsx)("div",{className:"margin-top--md",children:d.map((t,e)=>(0,n.cloneElement)(t,{key:e,hidden:t.props.value!==a}))})}function m(t){let e=function(t){let e,{defaultValue:a,queryString:c=!1,groupId:d}=t,o=function(t){let{values:e,children:a}=t;return(0,n.useMemo)(()=>{let t=e??y(a).map(({props:{value:t,label:e,attributes:a,default:n}})=>({value:t,label:e,attributes:a,default:n})),n=(0,i.XI)(t,(t,e)=>t.value===e.value);if(n.length>0)throw Error(`Docusaurus error: Duplicate values "${n.map(t=>t.value).join(", ")}" found in <Tabs>. Every value needs to be unique.`);return t},[e,a])}(t),[g,v]=(0,n.useState)(()=>(function({defaultValue:t,tabValues:e}){if(0===e.length)throw Error("Docusaurus error: the <Tabs> component requires at least one <TabItem> children component");if(t){if(!h({value:t,tabValues:e}))throw Error(`Docusaurus error: The <Tabs> has a defaultValue "${t}" but none of its children has the corresponding value. Available values are: ${e.map(t=>t.value).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return t}let a=e.find(t=>t.default)??e[0];if(!a)throw Error("Unexpected error: 0 tabValues");return a.value})({defaultValue:a,tabValues:o})),[p,L]=function({queryString:t=!1,groupId:e}){let a=(0,s.W6)(),c=function({queryString:t=!1,groupId:e}){if("string"==typeof t)return t;if(!1===t)return null;if(!0===t&&!e)throw Error('Docusaurus error: The <Tabs> component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return e??null}({queryString:t,groupId:e});return[(0,u.aZ)(c),(0,n.useCallback)(t=>{if(!c)return;let e=new URLSearchParams(a.location.search);e.set(c,t),a.replace({...a.location,search:e.toString()})},[c,a])]}({queryString:c,groupId:d}),[m,x]=function({groupId:t}){let e=t?`docusaurus.tab.${t}`:null,[a,c]=(0,l.Dv)(e);return[a,(0,n.useCallback)(t=>{e&&c.set(t)},[e,c])]}({groupId:d}),f=h({value:e=p??m,tabValues:o})?e:null;return(0,r.A)(()=>{f&&v(f)},[f]),{selectedValue:g,selectValue:(0,n.useCallback)(t=>{if(!h({value:t,tabValues:o}))throw Error(`Can't select invalid tab value=${t}`);v(t),L(t),x(t)},[L,x,o]),tabValues:o}}(t);return(0,v.jsxs)("div",{className:(0,c.A)(d.G.tabs.container,"tabs-container","tabList__CuJ"),children:[(0,v.jsx)(p,{...e,...t}),(0,v.jsx)(L,{...e,...t})]})}function x(t){let e=(0,g.A)();return(0,v.jsx)(m,{...t,children:y(t.children)},String(e))}},36833:function(t,e,a){a.d(e,{A:()=>s});var n=a(96540),c=a(56347),d=a(74848);let o=null;try{o=a(22958)}catch(t){console.warn("API stats file not found")}function s({docPath:t,showIcon:e=!0}){let a=(0,c.zy)(),[s,r]=(0,n.useState)(null),u=t||a.pathname.replace(/\/$/,"");return((0,n.useEffect)(()=>{if(o&&o.stats){let t=o.stats[u];if(!t){let e=u.replace(/^\/(th|zh-CN)/,"");t=o.stats[e]}t&&r({formatted:t.formatted,fullFormatted:t.fullFormatted,count:t.count,updatedAt:o.generatedAtFormatted})}},[u]),s)?(0,d.jsxs)("span",{title:`${s.fullFormatted} total API calls (Updated: ${s.updatedAt})`,style:{cursor:"help",textDecoration:"underline dotted",textDecorationColor:"#94a3b8",textUnderlineOffset:"2px"},children:[e&&(0,d.jsx)("span",{style:{marginRight:"4px"},children:"\u{1F4CA}"}),(0,d.jsx)("strong",{children:s.formatted})," calls"]}):null}},29574:function(t,e,a){a.d(e,{Z:()=>y});var n=a(96540),c=a(96990),d=a(33717),o=a(51003);let s="container_YZJz",r="input_GqCS",u="hint_xP6G",i="link_Sydx";var l=a(74848);let y=({value:t,onChange:e,className:a})=>{let{user:y}=(0,d.A)(),[h,g]=(0,n.useState)([]),[v,p]=(0,n.useState)(!1),[L,m]=(0,n.use
1State)(!1),[x,f]=(0,n.useState)(t),j=(0,c.Ay)("/login"),D=(0,c.Ay)("/register"),b=(0,c.Ay)("/control/api-keys");(0,n.useEffect)(()=>{y&&w()},[y]),(0,n.useEffect)(()=>{f(t)},[t]);let w=async()=>{try{p(!0);let a=await o.FH.getApiKeys();g(a.keys||[]),a.keys&&a.keys.length>0&&!t&&e(a.keys[0].key)}catch(t){console.error("Failed to fetch API keys:",t)}finally{p(!1)}};return y?v?(0,l.jsxs)("div",{className:`${s} ${a||""}`,children:[(0,l.jsx)("label",{children:"API Key"}),(0,l.jsx)("p",{className:"loading_bNBf",children:"Loading your API keys..."})]}):(0,l.jsxs)("div",{className:`${s} ${a||""}`,children:[(0,l.jsx)("label",{children:"API Key"}),0===h.length?(0,l.jsxs)("div",{className:"noKeys_kkUN",children:[(0,l.jsx)("p",{children:"You don't have any API keys yet."}),(0,l.jsx)("a",{href:b,className:"createButton_d6IZ",children:"Create Your First API Key"})]}):(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)("select",{value:L?"custom":t,onChange:t=>{let a=t.target.value;"custom"===a?(m(!0),e(x)):(m(!1),e(a))},className:"select_Aqio",children:[h.map(t=>(0,l.jsxs)("option",{value:t.key,children:[t.name," - ",t.key]},t.id)),(0,l.jsx)("option",{value:"custom",children:"Custom / Other Key"})]}),L&&(0,l.jsx)("div",{className:"customInputContainer_jfjn",children:(0,l.jsx)("input",{type:"text",value:x,onChange:t=>{let a=t.target.value;f(a),e(a)},placeholder:"Enter custom API key",className:r})}),(0,l.jsx)("p",{className:u,children:(0,l.jsx)("a",{href:b,className:i,children:"Manage your API keys"})})]})]}):(0,l.jsxs)("div",{className:`${s} ${a||""}`,children:[(0,l.jsx)("label",{children:"API Key"}),(0,l.jsx)("input",{type:"text",value:t,onChange:t=>e(t.target.value),placeholder:"Enter your API key",className:r}),(0,l.jsxs)("p",{className:u,children:[(0,l.jsx)("a",{href:j,className:i,children:"Log in to use your API keys"})," or ",(0,l.jsx)("a",{href:D,className:i,children:"Create an account"})]})]})}},97437:function(t,e,a){a.d(e,{A:()=>p});var n=a(96540),c=a(56347),d=a(68939),o=a(45721),s=a(69107),r=a(77984),u=a(23495),i=a(43136),l=a(18970),y=a(98207),h=a(39581),g=a(74848);let v=null;try{v=a(22958)}catch(t){console.warn("API stats file not found")}function p({docPath:t,showTitle:e=!0}){let a=(0,c.zy)(),[p,L]=(0,n.useState)(null),m=t||a.pathname.replace(/\/$/,"");return((0,n.useEffect)(()=>{if(v&&v.performance){let t=v.performance[m];if(!t){let e=m.replace(/^\/(th|zh-CN)/,"");t=v.performance[e]}if(t&&t.throughput&&t.throughput.length>0){let e=new Date;e.setUTCHours(0,0,0,0);let a=e.toISOString().split("T")[0],n=t.throughput.filter(t=>t.date<a),c=[];t.latency&&t.latency.length>0&&(c=t.latency.filter(t=>t.date<a).map(t=>{let e=Math.max(0,t.avgLatency-t.stdDevLatency),a=t.avgLatency+t.stdDevLatency;return{date:t.date,avgLatency:t.avgLatency,stdDevLatency:t.stdDevLatency,upperBound:a,lowerBound:e,bandHeight:a-e}})),L({throughput:n,latency:c,avgLatency:t.avgLatency,maxLatency:t.maxLatency,minLatency:t.minLatency})}}},[m]),!p||(p.throughput.length>0?p.throughput.reduce((t,e)=>t+e.count,0)/p.throughput.length:0)<100)?null:(0,g.jsx)("div",{style:{marginTop:"24px",marginBottom:"24px"},children:(0,g.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(400px, 1fr))",gap:"24px"},children:[(0,g.jsxs)("div",{style:{border:"1px solid #e5e7eb",borderRadius:"12px",padding:"16px",backgroundColor:"#f9fafb"},children:[(0,g.jsx)("h4",{style:{marginTop:0,marginBottom:"12px",fontSize:"0.95rem",fontWeight:"600",color:"#374151"},children:"Throughput (Number of Requests)"}),(0,g.jsx)(d.u,{width:"100%",height:250,children:(0,g.jsxs)(o.b,{data:p.throughput,children:[(0,g.jsx)(s.d,{strokeDasharray:"3 3",stroke:"#e5e7eb"}),(0,g.jsx)(r.W,{dataKey:"date",tick:{fontSize:12},interval:Math.floor(p.throughput.length/6),stroke:"#9ca3af"}),(0,g.jsx)(u.h,{tick:{fontSize:12},stroke:"#9ca3af"}),(0,g.jsx)(i.m,{contentStyle:{backgroundColor:"#ffffff",border:"1px solid #e5e7eb",borderRadius:"8px",boxShadow:"0 4px 6px rgba(0, 0, 0, 0.1)"},formatter:t=>[t.toLocaleString(),"Requests"],labelFormatter:t=>`Date: ${t}`}),(0,g.jsx)(l.N,{type:"monotone",dataKey:"count",stroke:"#3b82f6",dot:!1,strokeWidth:2,isAnimationActive:!1})]})}),(0,g.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginTop:"4px"},children:[(0,g.jsx)("p",{style:{margin:0,fontSize:"0.5rem",color:"#9ca3af"},children:"\u{1F4C8} Daily request volume over the last 30 days"}),(0,g.jsxs)("p",{style:{margin:0,fontSize:"0.75rem",color:"#3b82f6",fontWeight:"600"},children:["Avg: ",Math.round(p.throughput.reduce((t,e)=>
1t+e.count,0)/p.throughput.length).toLocaleString(),"/day"]})]})]}),(0,g.jsxs)("div",{style:{border:"1px solid #e5e7eb",borderRadius:"12px",padding:"16px",backgroundColor:"#f9fafb"},children:[(0,g.jsx)("h4",{style:{marginTop:0,marginBottom:"12px",fontSize:"0.95rem",fontWeight:"600",color:"#374151"},children:"Latency (Response time in milliseconds)"}),p.latency&&p.latency.length>0?(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(d.u,{width:"100%",height:250,children:(0,g.jsxs)(y.X,{data:p.latency,children:[(0,g.jsx)(s.d,{strokeDasharray:"3 3",stroke:"#e5e7eb"}),(0,g.jsx)(r.W,{dataKey:"date",tick:{fontSize:12},interval:Math.floor(p.latency.length/6),stroke:"#9ca3af"}),(0,g.jsx)(u.h,{tick:{fontSize:12},stroke:"#9ca3af"}),(0,g.jsx)(i.m,{contentStyle:{backgroundColor:"#ffffff",border:"1px solid #e5e7eb",borderRadius:"8px",boxShadow:"0 4px 6px rgba(0, 0, 0, 0.1)"},content:({active:t,payload:e,label:a})=>{if(t&&e&&e.length){let t=e[0].payload;return(0,g.jsxs)("div",{style:{backgroundColor:"#ffffff",border:"1px solid #e5e7eb",borderRadius:"8px",padding:"8px",boxShadow:"0 4px 6px rgba(0, 0, 0, 0.1)"},children:[(0,g.jsx)("p",{style:{margin:"0 0 4px 0",fontSize:"0.85rem",color:"#374151"},children:(0,g.jsxs)("strong",{children:["Date: ",t.date]})}),(0,g.jsxs)("p",{style:{margin:"2px 0",fontSize:"0.85rem",color:"#f59e0b"},children:["Mean: ",t.avgLatency,"ms"]}),(0,g.jsxs)("p",{style:{margin:"2px 0",fontSize:"0.85rem",color:"#94a3b8"},children:["\xb1Std Dev: ",t.stdDevLatency,"ms"]}),(0,g.jsxs)("p",{style:{margin:"2px 0",fontSize:"0.85rem",color:"#6b7280"},children:["Range: ",t.lowerBound,"ms - ",t.upperBound,"ms"]})]})}return null}}),(0,g.jsx)(h.Gk,{type:"monotone",dataKey:"lowerBound",stackId:"band",stroke:"none",fill:"transparent",isAnimationActive:!1}),(0,g.jsx)(h.Gk,{type:"monotone",dataKey:"bandHeight",stackId:"band",stroke:"none",fill:"#c4b5fd",fillOpacity:.5,isAnimationActive:!1}),(0,g.jsx)(l.N,{type:"monotone",dataKey:"avgLatency",stroke:"#7c3aed",dot:!1,strokeWidth:2,isAnimationActive:!1})]})}),(0,g.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginTop:"4px"},children:[(0,g.jsx)("p",{style:{margin:0,fontSize:"0.5rem",color:"#9ca3af"},children:"\u23F1\uFE0F Mean response time with \xb11 standard deviation band from last 30 days"}),(0,g.jsxs)("p",{style:{margin:0,fontSize:"0.75rem",color:"#7c3aed",fontWeight:"600"},children:["Avg: ",Math.round(p.latency.reduce((t,e)=>t+e.avgLatency,0)/p.latency.length).toLocaleString(),"ms"]})]})]}):(0,g.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:"12px",height:"250px",justifyContent:"center",paddingBottom:"12px"},children:[(0,g.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:"8px"},children:[(0,g.jsx)("div",{style:{width:"12px",height:"12px",backgroundColor:"#10b981",borderRadius:"2px"}}),(0,g.jsx)("span",{style:{fontSize:"0.9rem",color:"#374151"},children:"Minimum:"}),(0,g.jsxs)("strong",{style:{color:"#10b981"},children:[p.minLatency,"ms"]})]}),(0,g.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:"8px"},children:[(0,g.jsx)("div",{style:{width:"12px",height:"12px",backgroundColor:"#f59e0b",borderRadius:"2px"}}),(0,g.jsx)("span",{style:{fontSize:"0.9rem",color:"#374151"},children:"Average:"}),(0,g.jsxs)("strong",{style:{color:"#f59e0b"},children:[p.avgLatency,"ms"]})]}),(0,g.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:"8px"},children:[(0,g.jsx)("div",{style:{width:"12px",height:"12px",backgroundColor:"#ef4444",borderRadius:"2px"}}),(0,g.jsx)("span",{style:{fontSize:"0.9rem",color:"#374151"},children:"Maximum:"}),(0,g.jsxs)("strong",{style:{color:"#ef4444"},children:[p.maxLatency,"ms"]})]}),(0,g.jsx)("p",{style:{margin:"4px 0 0 0",fontSize:"0.5rem",color:"#9ca3af"},children:"\u23F1\uFE0F Response time statistics from last 30 days"})]})]})]})})}},85886:function(t,e,a){a.d(e,{A:()=>p});var n=a(96540),c=a(14597),d=a(96990),o=a(29574),s=a(71989);let r="input_Lsxt",u="label_VgsP",i="error_iJGr",l="cmpImg_HaE_",y="cmpLabel_IyvH";var h=a(74848);let g={en:{apiKey:"API key",image:"Image to upscale (JPEG, PNG or WebP, up to 10 MB)",scale:"Scale",model:"Content",models:{photo:"Photo (default)",anime:"Illustration / anime",fast:"Fast"},format:"Output format",examples:"Examples",run:"Upscale (1 IC)",running:"Upscaling\u2026",placeholder:"Upload an image or pick an example, then press Upscale. Drag the handle to compare before and after.",needKey:"Enter your API key first.",needImage:"Cho
1ose an image first.",before:"Before",after:"After",server:"server",roundTrip:"round trip",charged:"charged",one:"image",download:"Download result",curl:"Request as cURL",tooLarge:(t,e,a)=>`${t} \xd7 ${e} at ${a}x would exceed the 16.8 MP output limit. Use 2x or a smaller image.`,gatewayEmpty:"Empty response from the gateway, please try again.",gatewayErr:t=>`Gateway error HTTP ${t}. The service may be busy or restarting, please try again in a moment.`,original:"original",upscaled:"upscaled",dropHint:"Drop an image here or click to choose"},th:{apiKey:"API key",image:"\u0E20\u0E32\u0E1E\u0E17\u0E35\u0E48\u0E15\u0E49\u0E2D\u0E07\u0E01\u0E32\u0E23\u0E02\u0E22\u0E32\u0E22 (JPEG, PNG \u0E2B\u0E23\u0E37\u0E2D WebP \u0E44\u0E21\u0E48\u0E40\u0E01\u0E34\u0E19 10 MB)",scale:"\u0E2D\u0E31\u0E15\u0E23\u0E32\u0E02\u0E22\u0E32\u0E22",model:"\u0E1B\u0E23\u0E30\u0E40\u0E20\u0E17\u0E20\u0E32\u0E1E",models:{photo:"\u0E20\u0E32\u0E1E\u0E16\u0E48\u0E32\u0E22 (\u0E04\u0E48\u0E32\u0E40\u0E23\u0E34\u0E48\u0E21\u0E15\u0E49\u0E19)",anime:"\u0E20\u0E32\u0E1E\u0E27\u0E32\u0E14 / \u0E2D\u0E19\u0E34\u0E40\u0E21\u0E30",fast:"\u0E42\u0E2B\u0E21\u0E14\u0E40\u0E23\u0E47\u0E27"},format:"\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E44\u0E1F\u0E25\u0E4C\u0E1C\u0E25\u0E25\u0E31\u0E1E\u0E18\u0E4C",examples:"\u0E15\u0E31\u0E27\u0E2D\u0E22\u0E48\u0E32\u0E07",run:"\u0E02\u0E22\u0E32\u0E22\u0E20\u0E32\u0E1E (1 IC)",running:"\u0E01\u0E33\u0E25\u0E31\u0E07\u0E02\u0E22\u0E32\u0E22\u0E20\u0E32\u0E1E\u2026",placeholder:"\u0E2D\u0E31\u0E1B\u0E42\u0E2B\u0E25\u0E14\u0E20\u0E32\u0E1E\u0E2B\u0E23\u0E37\u0E2D\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E15\u0E31\u0E27\u0E2D\u0E22\u0E48\u0E32\u0E07 \u0E41\u0E25\u0E49\u0E27\u0E01\u0E14\u0E02\u0E22\u0E32\u0E22\u0E20\u0E32\u0E1E \u0E25\u0E32\u0E01\u0E41\u0E16\u0E1A\u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E40\u0E1B\u0E23\u0E35\u0E22\u0E1A\u0E40\u0E17\u0E35\u0E22\u0E1A\u0E01\u0E48\u0E2D\u0E19\u0E41\u0E25\u0E30\u0E2B\u0E25\u0E31\u0E07",needKey:"\u0E01\u0E23\u0E38\u0E13\u0E32\u0E43\u0E2A\u0E48 API key \u0E01\u0E48\u0E2D\u0E19",needImage:"\u0E01\u0E23\u0E38\u0E13\u0E32\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E20\u0E32\u0E1E\u0E01\u0E48\u0E2D\u0E19",before:"\u0E01\u0E48\u0E2D\u0E19",after:"\u0E2B\u0E25\u0E31\u0E07",server:"\u0E40\u0E0B\u0E34\u0E23\u0E4C\u0E1F\u0E40\u0E27\u0E2D\u0E23\u0E4C",roundTrip:"\u0E23\u0E27\u0E21\u0E40\u0E27\u0E25\u0E32\u0E23\u0E31\u0E1A\u0E2A\u0E48\u0E07",charged:"\u0E04\u0E34\u0E14\u0E04\u0E48\u0E32\u0E1A\u0E23\u0E34\u0E01\u0E32\u0E23",one:"\u0E20\u0E32\u0E1E",download:"\u0E14\u0E32\u0E27\u0E19\u0E4C\u0E42\u0E2B\u0E25\u0E14\u0E1C\u0E25\u0E25\u0E31\u0E1E\u0E18\u0E4C",curl:"\u0E04\u0E33\u0E02\u0E2D\u0E43\u0E19\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A cURL",tooLarge:(t,e,a)=>`${t} \xd7 ${e} \u{E17}\u{E35}\u{E48} ${a}x \u{E08}\u{E30}\u{E40}\u{E01}\u{E34}\u{E19}\u{E02}\u{E35}\u{E14}\u{E08}\u{E33}\u{E01}\u{E31}\u{E14}\u{E1C}\u{E25}\u{E25}\u{E31}\u{E1E}\u{E18}\u{E4C} 16.8 \u{E25}\u{E49}\u{E32}\u{E19}\u{E1E}\u{E34}\u{E01}\u{E40}\u{E0B}\u{E25} \u{E01}\u{E23}\u{E38}\u{E13}\u{E32}\u{E43}\u{E0A}\u{E49} 2x \u{E2B}\u{E23}\u{E37}\u{E2D}\u{E20}\u{E32}\u{E1E}\u{E17}\u{E35}\u{E48}\u{E40}\u{E25}\u{E47}\u{E01}\u{E25}\u{E07}`,gatewayEmpty:"\u0E44\u0E21\u0E48\u0E44\u0E14\u0E49\u0E23\u0E31\u0E1A\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E08\u0E32\u0E01\u0E40\u0E01\u0E15\u0E40\u0E27\u0E22\u0E4C \u0E01\u0E23\u0E38\u0E13\u0E32\u0E25\u0E2D\u0E07\u0E43\u0E2B\u0E21\u0E48\u0E2D\u0E35\u0E01\u0E04\u0E23\u0E31\u0E49\u0E07",gatewayErr:t=>`\u{E40}\u{E01}\u{E15}\u{E40}\u{E27}\u{E22}\u{E4C}\u{E15}\u{E2D}\u{E1A}\u{E01}\u{E25}\u{E31}\u{E1A} HTTP ${t} \u{E23}\u{E30}\u{E1A}\u{E1A}\u{E2D}\u{E32}\u{E08}\u{E21}\u{E35}\u{E1C}\u{E39}\u{E49}\u{E43}\u{E0A}\u{E49}\u{E08}\u{E33}\u{E19}\u{E27}\u{E19}\u{E21}\u{E32}\u{E01}\u{E2B}\u{E23}\u{E37}\u{E2D}\u{E01}\u{E33}\u{E25}\u{E31}\u{E07}\u{E23}\u{E35}\u{E2A}\u{E15}\u{E32}\u{E23}\u{E4C}\u{E15} \u{E01}\u{E23}\u{E38}\u{E13}\u{E32}\u{E25}\u{E2D}\u{E07}\u{E43}\u{E2B}\u{E21}\u{E48}\u{E43}\u{E19}\u{E2D}\u{E35}\u{E01}\u{E2A}\u{E31}\u{E01}\u{E04}\u{E23}\u{E39}\u{E48}`,original:"\u0E15\u0E49\u0E19\u0E09\u0E1A\u0E31\u0E1A",upscaled:"\u0E02\u0E22\u0E32\u0E22\u0E41\u0E25\u0E49\u0E27",dropHint:"\u0E27\u0E32\u0E07\u0E44\u0E1F\u0E25\u0E4C\u0E20\u0E32\u0E1E\u0E17\u0E35\u0E48\u0E19\u0E35\u0E48 \u0E2B\u0E23\u0E37\u0E2D\u0E04\u0E25\u0E34\u0E01\u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E44\u0E1F\u0E25\u0E4C"},"zh-CN":{apiKey:"API key",image:"\u8981\u653E\u5927\u7684\u56FE\u7247\uFF08JPEG\u3001PNG \u6216 WebP\uFF0C\u6700\u5927 10 MB\uFF09",scale:"\u653E\u5927\u500D\u6570",model:"\u56FE\u7247\u7C7B\u578B",models:{photo:"\u7167\u7247\uFF08\u9ED8\u8BA4\uFF09",anime:"\u63D2\u753B / \u52A8\u6F2B",fast:"\u5FEB\u901F"},format:"\u8F93\u51FA\u683C\u5F0F",examples:"\u793A\u4F8B",run:"\u653E\u5927\uFF081 IC\uFF09",running:"\u653E\u5927\u4E2D\u2026",placeholder:"\u4E0A\u4F20\u56FE\u7247\u6216\u9009\u62E9\u793A\u4F8B\uFF0C\u7136\u540E\u70B9\u51FB\u653E\u5927\u3002\u62D6\u52A8\u6ED1\u5757\u6BD4\u8F83\u524D\u540E\u6548\u679C\u3002",needKey:"\u8BF7\u5148\u8F93\u5165 API key\u3002",needImage:"\u8BF7\u5148\u9009\u62E9\u56FE\u7247\u3002",before:"\u653E\u5927\u524D",after:"\u653E\u5927\u540E",server:"\u670D\u52A1\u5668",roundTrip:"\u5F80\u8FD4",charged:"\u8BA1\u8D39",one:"\u5F20\u56FE\u7247",download:"\u4E0B\u8F7D\u7ED3\u679C",curl:"cURL \u8BF7\u6C42",tooLarge:(t,e,a)=>`${t} \xd7 ${e} \u{4EE5} ${a} \u{500D}\u{653E}\u{5927}\u{5C06}\u{8D85}\u{8FC7} 1680 \u{4E07}\u{50CF}\u{7D20}\u{7684}\u{8F93}\u{51FA}\u{4E0A}\u{9650}\u{3002}\u{8BF7}\u{4F7F}\u{7528} 2 \u{500D}\u{6216}\u{66F4}\u{5C0F}\u{7684}\u{56FE}\u{7247}\u{3002}`,gatewayEmpty:"\u7F51\u5173\u8FD4\u56DE\u7A7A\u54CD\u5E94\uFF0C\u8BF7\u91CD\u8BD5\u3002",gatewayErr:t=>`\u{7F51}\u{5173}\u{9519}\u{8BEF} HTTP ${t}\u{3002}\u{670D}\u{52A1}\u{53EF}\u{80FD}\u{7E41}\u{5FD9}\u{6216}\u{6B63}\u{5728}\u{91CD}\u{542F}\u{FF0C}\u{8BF7}\u{7A0D}\u{540E}\u{91CD}\u{8BD5}\u{3002}`,original:"\u539F\u56FE",upscaled:"\u653E\u5927\u540E",dropHint:"\u5C06\u56FE\u7247\u62D6\u5230\u6B64\u5904\uFF0C\u6216\u70B9\u51FB\u9009\u62E9\u6587\u4EF6"}},v=({before:t,after:e,labelBefore:a,labelAfter:c})=>
1{let[d,o]=(0,n.useState)(50),s=(0,n.useRef)(null),r=(0,n.useRef)(!1),u=t=>{let e=s.current?.getBoundingClientRect();e&&o(Math.max(0,Math.min(100,(t-e.left)/e.width*100)))};return(0,n.useEffect)(()=>{let t=()=>{r.current=!1},e=t=>{r.current&&u(t.clientX)},a=t=>{r.current&&t.touches[0]&&u(t.touches[0].clientX)};return window.addEventListener("mouseup",t),window.addEventListener("touchend",t),window.addEventListener("mousemove",e),window.addEventListener("touchmove",a,{passive:!0}),()=>{window.removeEventListener("mouseup",t),window.removeEventListener("touchend",t),window.removeEventListener("mousemove",e),window.removeEventListener("touchmove",a)}},[]),(0,h.jsxs)("div",{ref:s,className:"compare_LUfj",onMouseDown:t=>{r.current=!0,u(t.clientX)},onTouchStart:t=>{r.current=!0,t.touches[0]&&u(t.touches[0].clientX)},children:[(0,h.jsx)("img",{src:e,alt:c,className:l,draggable:!1}),(0,h.jsx)("img",{src:t,alt:a,className:`${l} cmpBefore__Tdk`,style:{clipPath:`inset(0 ${100-d}% 0 0)`},draggable:!1}),(0,h.jsx)("div",{className:"cmpHandle__zc5",style:{left:`${d}%`},children:(0,h.jsx)("span",{})}),(0,h.jsx)("span",{className:`${y} cmpLabelL_HUJm`,children:a}),(0,h.jsx)("span",{className:`${y} cmpLabelR_wtIY`,children:c})]})},p=({examples:t=[],defaultScale:e=4})=>{let{i18n:a}=(0,c.A)(),l=g[a.currentLocale]||g.en,[y,p]=(0,n.useState)(""),[L,m]=(0,n.use
1State)(null),[x,f]=(0,n.useState)(null),[j,D]=(0,n.useState)(null),[b,w]=(0,n.useState)(e),[C,k]=(0,n.useState)("photo"),[A,P]=(0,n.useState)("png"),[N,_]=(0,n.useState)(!1),[I,S]=(0,n.useState)(0),[E,T]=(0,n.useState)(null),[F,R]=(0,n.useState)(null),K=(0,n.useRef)(null),$=(0,s.h)("https://api.iapp.co.th/v3/store/image-generation/image-upscaler/upscale"),z=t.map(t=>(0,d.Ay)(t.src));(0,n.useEffect)(()=>{if(!N)return;let t=Date.now();S(0);let e=window.setInterval(()=>S(Math.round((Date.now()-t)/100)/10),100);return()=>window.clearInterval(e)},[N]);let G=t=>{if(R(null),T(null),m(t),!t){f(null),D(null);return}let e=URL.createObjectURL(t),a=new Image;a.onload=()=>D({w:a.naturalWidth,h:a.naturalHeight}),a.src=e,f(e)},B=async e=>{let a=await fetch(z[e]),n=await a.blob();G(new File([n],t[e].src.split("/").pop()||"example.jpg",{type:n.type||"image/jpeg"}))},M=!!j&&j.w*j.h*b*b>0x1000000,U=async()=>{if(!y)return void T(l.needKey);if(!L)return void T(l.needImage);if(j&&M)return void T(l.tooLarge(j.w,j.h,b));_(!0),T(null),R(null);let t=Date.now();try{let e=new FormData;e.append("file",L),e.append("scale",String(b)),e.append("model",C),e.append("output_format",A);let a=await fetch($,{method:"POST",headers:{apikey:y},body:e}),n=await a.text(),c=null;try{c=JSON.parse(n)}catch{}if(!c)throw Error(a.ok?l.gatewayEmpty:l.gatewayErr(a.status));if(!a.ok||"success"!==c.status)throw Error(c?.message||c?.detail?.message||c?.detail||`HTTP ${a.status}`);R({...c,elapsed:((Date.now()-t)/1e3).toFixed(1),url:`data:${c.mime_type};base64,${c.image_base64}`})}catch(t){T(String(t.message||t))}finally{_(!1)}},O=`curl -X POST '${$}' \\
2  -H 'apikey: ${y||"YOUR_API_KEY"}' \\
3  -F 'file=@${L?L.name:"photo.jpg"}' \\
4  -F 'scale=${b}' -F 'model=${C}' -F 'output_format=${A}'`;return(0,h.jsxs)("div",{className:"wrap_k0T7",id:"image-upscaler-demo",children:[(0,h.jsxs)("div",{className:"grid_zoGI",children:[(0,h.jsxs)("div",{className:"form_R8Sd",children:[(0,h.jsx)("label",{className:u,children:l.apiKey}),(0,h.jsx)(o.Z,{value:y,onChange:p}),(0,h.jsx)("label",{className:u,children:l.image}),(0,h.jsxs)("div",{className:"drop_3AGR",onClick:()=>K.current?.click(),onDragOver:t=>t.preventDefault(),onDrop:t=>{t.preventDefault();let e=t.dataTransfer.files&&t.dataTransfer.files[0];e&&G(e)},children:[x?(0,h.jsx)("img",{src:x,alt:"",className:"thumb_bwLK"}):(0,h.jsx)("span",{className:"dropHint_pWea",children:l.dropHint}),j?(0,h.jsxs)("span",{className:"dims_g7TL",children:[j.w," \xd7 ",j.h," \u2192 ",j.w*b," \xd7 ",j.h*b]}):null]}),(0,h.jsx)("input",{ref:K,type:"file",accept:"image/jpeg,image/png,image/webp",style:{display:"none"},onChange:t=>G(t.target.files&&t.target.files[0]?t.target.files[0]:null)}),(0,h.jsxs)("div",{className:"row_BXxl",children:[(0,h.jsxs)("div",{children:[(0,h.jsx)("label",{className:u,children:l.scale}),(0,h.jsxs)("select",{className:r,value:b,onChange:t=>w(Number(t.target.value)),children:[(0,h.jsx)("option",{value:2,children:"2x"}),(0,h.jsx)("option",{value:4,children:"4x"})]})]}),(0,h.jsxs)("div",{children:[(0,h.jsx)("label",{className:u,children:l.model}),(0,h.jsx)("select",{className:r,value:C,onChange:t=>k(t.target.value),children:Object.keys(l.models).map(t=>(0,h.jsx)("option",{value:t,children:l.models[t]},t))})]}),(0,h.jsxs)("div",{children:[(0,h.jsx)("label",{className:u,children:l.format}),(0,h.jsxs)("select",{className:r,value:A,onChange:t=>P(t.target.value),children:[(0,h.jsx)("option",{value:"png",children:"PNG"}),(0,h.jsx)("option",{value:"jpeg",children:"JPEG"}),(0,h.jsx)("option",{value:"webp",children:"WebP"})]})]})]}),t.length>0&&(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)("label",{className:u,children:l.examples}),(0,h.jsx)("div",{className:"chips_wowt",children:t.map((t,e)=>(0,h.jsxs)("button",{type:"button",className:"chip_OYKB",onClick:()=>B(e),children:[(0,h.jsx)("img",{src:z[e],alt:"",className:"chipImg_Y_iX"}),t.title]},t.title))})]}),(0,h.jsx)("button",{type:"button",className:"submit_HSWV",onClick:U,disabled:N,children:N?l.running:l.run}),M&&j?(0,h.jsx)("div",{className:i,children:l.tooLarge(j.w,j.h,b)}):null,E&&(0,h.jsx)("div",{className:i,children:E})]}),(0,h.jsx)("div",{className:"output_a3rv",children:F&&x?(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)(v,{before:x,after:F.url,labelBefore:`${l.before} ${F.input.width} \xd7 ${F.input.height}`,labelAfter:`${l.after} ${F.width} \xd7 ${F.height}`}),(0,h.jsxs)("div",{className:"meta_BBiW",children:[(0,h.jsxs)("span",{children:[b,"x \xb7 ",C]}),(0,h.jsxs)("span",{children:[l.server," ",F.time?.total," s \xb7 ",l.roundTrip," ",F.elapsed," s"]}),(0,h.jsxs)("span",{children:[(F.bytes/1e6).toFixed(1)," MB ",A.toUpperCase()]}),(0,h.jsxs)("span",{children:[l.charged," ",F.iapp?.images," ",l.one]})]}),(0,h.jsx)("div",{className:"resultActions_BecK",children:(0,h.jsxs)("button",{type:"button",className:"download_hkJe",onClick:()=>
4{if(!F)return;let t=document.createElement("a");t.href=F.url,t.download=`upscaled-${F.width}x${F.height}.${"jpeg"===A?"jpg":A}`,document.body.appendChild(t),t.click(),t.remove()},children:[(0,h.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[(0,h.jsx)("path",{d:"M12 3v12"}),(0,h.jsx)("path",{d:"m7 10 5 5 5-5"}),(0,h.jsx)("path",{d:"M5 21h14"})]}),l.download]})})]}):(0,h.jsx)("div",{className:"placeholder_dbrX",children:N?(0,h.jsxs)("div",{className:"loadingBox_jYAG",children:[(0,h.jsx)("div",{className:"spinner_AIGh"}),(0,h.jsx)("div",{children:l.running}),(0,h.jsxs)("div",{className:"elapsed_TtMF",children:[I," s"]})]}):l.placeholder})})]}),(0,h.jsxs)("details",{className:"details_T2dD",children:[(0,h.jsx)("summary",{children:l.curl}),(0,h.jsx)("pre",{className:"pre_xQd_",children:O})]})]})}},71989:function(t,e,a){a.d(e,{h:()=>n});let n=t=>{if("undefined"==typeof window)return t;let e=window.location.hostname,a="api.iapp.co.th";return"uat.iapp.co.th"===e?a="uat-api.iapp.co.th":"staging.iapp.co.th"===e&&(a="prod-api.iapp.co.th"),t.replace(/(https?:\/\/)([^\/]+)(\/.*)?/,(t,e,n,c)=>n.includes("api.iapp.co.th")||"api.iapp.co.th"===n?`${e}${a}${c||"/"}`:t)}},98207:function(t,e,a){a.d(e,{X:()=>s});var n=a(96540),c=a(26960),d=a(60868),o=["axis"],s=(0,n.forwardRef)((t,e)=>
4n.createElement(d.P,{chartName:"ComposedChart",defaultTooltipEventType:"axis",validateTooltipEventTypes:o,tooltipPayloadSearcher:c.uN,categoricalChartProps:t,ref:e}))},45721:function(t,e,a){a.d(e,{b:()=>s});var n=a(96540),c=a(26960),d=a(60868),o=["axis"],s=(0,n.forwardRef)((t,e)=>n.createElement(d.P,{chartName:"LineChart",defaultTooltipEventType:"axis",validateTooltipEventTypes:o,tooltipPayloadSearcher:c.uN,categoricalChartProps:t,ref:e}))},84429:function(t,e,a){a.d(e,{R:()=>o,x:()=>s});var n=a(96540);let c={},d=n.createContext(c);function o(t){let e=n.useContext(d);return n.useMemo(function(){return"function"==typeof t?t(e):{...e,...t}},[e,t])}function s(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(c):t.components||c:o(t.components),n.createElement(d.Provider,{value:e},t.children)}},22958:function(t){t.exports=JSON.parse('{"generatedAt":"2026-09-12T00:57:53.785Z","generatedAtFormatted":"September 12, 2026 at 07:57 AM","totalApiCalls":84861072,"stats":{"/docs/ekyc/face-verification":{"count":12276447,"formatted":"12.3M","fullFormatted":"12,276,447","esCount":12276447,"subscriptionCount":0},"/docs/ekyc/face-passive-liveness":{"count":5859958,"formatted":"5.9M","fullFormatted":"5,859,958","esCount":5859958,"subscriptionCount":0},"/docs/ekyc/thai-national-id-card":{"count":23663006,"formatted":"23.7M","fullFormatted":"23,663,006","esCount":3580117,"subscriptionCount":20082889},"/docs/nlp/translation/multilingual":{"count":3987412,"formatted":"4M","fullFormatted":"3,987,412","esCount":3987412,"subscriptionCount":0},"/docs/smart-city/license-plate":{"count":20085423,"formatted":"20.1M","fullFormatted":"20,085,423","esCount":1226492,"subscriptionCount":18858931},"/docs/image-generation/remove-background":{"count":623974,"formatted":"624K","fullFormatted":"623,974","esCount":623974,"subscriptionCount":0},"/docs/speech/text-to-speech/text-to-speech-v1":{"count":1312580,"formatted":"1.3M","fullFormatted":"1,312,580","esCount":1312580,"subscriptionCount":0},"/docs/nlp/sentiment-analysis":{"count":622779,"formatted":"622.8K","fullFormatted":"622,779","esCount":622779,"subscriptionCount":0},"/docs/ekyc/face-detection":{"count":546997,"formatted":"547K","fullFormatted":"546,997","esCount":546997,"subscriptionCount":0},"/docs/nlp/question/answer":{"count":294904,"formatted":"294.9K","fullFormatted":"294,904","esCount":294904,"subscriptionCount":0},"/docs/ocr/document":{"count":337086,"formatted":"337.1K","fullFormatted":"337,086","esCount":337086,"subscriptionCount":0},"/docs/ekyc/thai-driver-license":{"count":13657024,"formatted":"13.7M","fullFormatted":"13,657,024","esCount":209061,"subscriptionCount":13447963},"/docs/smart-city/automatic-route-optimization":{"count":164274,"formatted":"164.3K","fullFormatted":"164,274","esCount":164274,"subscriptionCount":0},"/docs/speech/speech-to-text/base":{"count":166260,"formatted":"166.3K","fullFormatted":"166,260","esCount":166260,"subscriptionCount":0},"/docs/ekyc/book-bank":{"count":215287,"formatted":"215.3K","fullFormatted":"215,287","esCount":215287,"subscriptionCount":0},"/docs/llm/thanoy-legal":{"count":108342,"formatted":"108.3K","fullFormatted":"108,342","esCount":108342,"subscriptionCount":0},"/docs/ekyc/passport":{"count":293563,"formatted":"293.6K","fullFormatted":"293,563","esCount":121860,"subscriptionCount":171703}
4,"/docs/speech/speech-to-text/realtime":{"count":91522,"formatted":"91.5K","fullFormatted":"91,522","esCount":91522,"subscriptionCount":0},"/docs/smart-city/power-meter-and-water-meter":{"count":74132,"formatted":"74.1K","fullFormatted":"74,132","esCount":74132,"subscriptionCount":0},"/docs/ocr/receipt":{"count":96586,"formatted":"96.6K","fullFormatted":"96,586","esCount":96586,"subscriptionCount":0},"/docs/ekyc/face-and-id-card-verification":{"count":43740,"formatted":"43.7K","fullFormatted":"43,740","esCount":43740,"subscriptionCount":0},"/docs/nlp/toxicity-classification":{"count":37263,"formatted":"37.3K","fullFormatted":"37,263","esCount":37263,"subscriptionCount":0},"/docs/ekyc/thai-national-id-card-with-signature":{"count":23165,"formatted":"23.2K","fullFormatted":"23,165","esCount":23165,"subscriptionCount":0},"/docs/llm/openthai2p0-legal":{"count":22953,"formatted":"23K","fullFormatted":"22,953","esCount":22953,"subscriptionCount":0},"/docs/llm/deepseek-v3p2":{"count":22065,"formatted":"22.1K","fullFormatted":"22,065","esCount":22065,"subscriptionCount":0},"/docs/data/holiday/thai":{"count":47846,"formatted":"47.8K","fullFormatted":"47,846","esCount":47846,"subscriptionCount":0},"/docs/speech/text-to-speech/text-to-speech-v2":{"count":18676,"formatted":"18.7K","fullFormatted":"18,676","esCount":18676,"subscriptionCount":0},"/docs/data/legal/thai-legal":{"count":17666,"formatted":"17.7K","fullFormatted":"17,666","esCount":17666,"subscriptionCount":0},"/docs/speech/speech-to-text/chinese/base":{"count":13834,"formatted":"13.8K","fullFormatted":"13,834","esCount":13834,"subscriptionCount":0},"/docs/speech/speech-to-text/english/base":{"count":13194,"formatted":"13.2K","fullFormatted":"13,194","esCount":13194,"subscriptionCount":0},"/docs/llm/deepseek-v4":{"count":12543,"formatted":"12.5K","fullFormatted":"12,543","esCount":12543,"subscriptionCount":0},"/docs/ocr/bank-statement":{"count":12306,"formatted":"12.3K","fullFormatted":"12,306","esCount":12306,"subscriptionCount":0},"/docs/ocr/electricity-bill":{"count":12306,"formatted":"12.3K","fullFormatted":"12,306","esCount":12306,"subscriptionCount":0},"/docs/ocr/water-bill":{"count":12295,"formatted":"12.3K","fullFormatted":"12,295","esCount":12295,"subscriptionCount":0},"/docs/ocr/vehicle-registration":{"count":12292,"formatted":"12.3K","fullFormatted":"12,292","esCount":12292,"subscriptionCount":0},"/docs/ocr/ncb-credit-report":{"count":12286,"formatted":"12.3K","fullFormatted":"12,286","esCount":12286,"subscriptionCount":0},"/docs/ocr/company-certificate":{"count":12276,"formatted":"12.3K","fullFormatted":"12,276","esCount":12276,"subscriptionCount":0},"/docs/speech/speech-to-text/english/pro":{"count":12270,"formatted":"12.3K","fullFormatted":"12,270","esCount":12270,"subscriptionCount":0},"/docs/speech/speech-to-text/pro":{"count":12270,"formatted":"12.3K","fullFormatted":"12,270","esCount":12270,"subscriptionCount":0},"/docs/speech/speech-to-text/chinese/pro":{"count":12270,"formatted":"12.3K","fullFormatted":"12,270","esCount":12270,"subscriptionCount":0},"/docs/core-api":{"count":0,"formatted":"0","fullFormatted":"0","esCount":0,"subscriptionCount":0}},"performance":{"/docs/ekyc/face-verification":{"throughput":[{"date":"2026-08-13","count":12136},{"date":"2026-08-14","count":11905},{"date":"2026-08-15","count":12819},{"date":"2026-08-16","count":14064},{"date":"2026-08-17","count":13179},{"date":"2026-08-18","count":12142},{"date":"2026-08-19","count":11941},{"date":"2026-08-20","count":12414},{"date":"2026-08-21","count":12094},{"date":"2026-08-22","count":14680},{"date":"2026-08-23","count":13527},{"date":"2026-08-24","count":11270},{"date":"2026-08-25","count":11803},{"date":"2026-08-26","count":11565},{"date":"2026-08-27","count":11782},{"date":"2026-08-28","count":12516},{"date":"2026-08-29","count":12698},{"date":"2026-08-30","count":14306},{"date":"2026-08-31","count":16277},{"date":"2026-09-01","count":14383},{"date":"2026-09-02","count":13601},{"date":"2026-09-03","count":12370},{"date":"2026-09-04","count":12191},{"date":"2026-09-05","count":13442},{"date":"2026-09-06","count":15238},{"date":"2026-09-07","count":13559},{"date":"2026-09-08","count":11189},{"date":"2026-09-09","count":11341},{"date":"2026-09-10","count":11856},{"date":"2026-09-11","count":11388}],"latency":[{"date":"2026-08-13","avgLatency":862,"stdDevLatency":213}
4,{"date":"2026-08-14","avgLatency":859,"stdDevLatency":209},{"date":"2026-08-15","avgLatency":844,"stdDevLatency":208},{"date":"2026-08-16","avgLatency":839,"stdDevLatency":204},{"date":"2026-08-17","avgLatency":856,"stdDevLatency":207},{"date":"2026-08-18","avgLatency":850,"stdDevLatency":203},{"date":"2026-08-19","avgLatency":868,"stdDevLatency":210},{"date":"2026-08-20","avgLatency":858,"stdDevLatency":208},{"date":"2026-08-21","avgLatency":849,"stdDevLatency":204},{"date":"2026-08-22","avgLatency":860,"stdDevLatency":243},{"date":"2026-08-23","avgLatency":832,"stdDevLatency":204},{"date":"2026-08-24","avgLatency":863,"stdDevLatency":212},{"date":"2026-08-25","avgLatency":851,"stdDevLatency":209},{"date":"2026-08-26","avgLatency":885,"stdDevLatency":310},{"date":"2026-08-27","avgLatency":865,"stdDevLatency":230},{"date":"2026-08-28","avgLatency":851,"stdDevLatency":211},{"date":"2026-08-29","avgLatency":852,"stdDevLatency":210},{"date":"2026-08-30","avgLatency":853,"stdDevLatency":211},{"date":"2026-08-31","avgLatency":873,"stdDevLatency":229},{"date":"2026-09-01","avgLatency":872,"stdDevLatency":221},{"date":"2026-09-02","avgLatency":876,"stdDevLatency":217},{"date":"2026-09-03","avgLatency":866,"stdDevLatency":219},{"date":"2026-09-04","avgLatency":857,"stdDevLatency":219},{"date":"2026-09-05","avgLatency":873,"stdDevLatency":240},{"date":"2026-09-06","avgLatency":877,"stdDevLatency":223},{"date":"2026-09-07","avgLatency":893,"stdDevLatency":218},{"date":"2026-09-08","avgLatency":888,"stdDevLatency":425},{"date":"2026-09-09","avgLatency":1017,"stdDevLatency":1087},{"date":"2026-09-10","avgLatency":894,"stdDevLatency":370},{"date":"2026-09-11","avgLatency":895,"stdDevLatency":266}],"avgLatency":444,"maxLatency":21548,"minLatency":0},"/docs/ekyc/face-passive-liveness":{"throughput":[{"date":"2026-08-13","count":10372},{"date":"2026-08-14","count":10255},{"date":"2026-08-15","count":11024},{"date":"2026-08-16","count":12027},{"date":"2026-08-17","count":11255},{"date":"2026-08-18","count":10337},{"date":"2026-08-19","count":10277},{"date":"2026-08-20","count":10706},{"date":"2026-08-21","count":10336},{"date":"2026-08-22","count":12563},{"date":"2026-08-23","count":11550},{"date":"2026-08-24","count":9680},{"date":"2026-08-25","count":10029},{"date":"2026-08-26","count":10013},{"date":"2026-08-27","count":10109},{"date":"2026-08-28","count":10645},{"date":"2026-08-29","count":10873},{"date":"2026-08-30","count":12267},{"date":"2026-08-31","count":13888},{"date":"2026-09-01","count":12420},{"date":"2026-09-02","count":11679},{"date":"2026-09-03","count":10387},{"date":"2026-09-04","count":10282},{"date":"2026-09-05","count":11374},{"date":"2026-09-06","count":12875},{"date":"2026-09-07","count":11530},{"date":"2026-09-08","count":8240},{"date":"2026-09-09","count":9632},{"date":"2026-09-10","count":10123},{"date":"2026-09-11","count":9640}],"latency":[{"date":"2026-08-13","avgLatency":229,"stdDevLatency":62},{"date":"2026-08-14","avgLatency":230,"stdDevLatency":48},{"date":"2026-08-15","avgLatency":229,"stdDevLatency":50},{"date":"2026-08-16","avgLatency":228,"stdDevLatency":40},{"date":"2026-08-17","avgLatency":229,"stdDevLatency":39},{"date":"2026-08-18","avgLatency":229,"stdDevLatency":44},{"date":"2026-08-19","avgLatency":229,"stdDevLatency":47},{"date":"2026-08-20","avgLatency":229,"stdDevLatency":44},{"date":"2026-08-21","avgLatency":231,"stdDevLatency":44},{"date":"2026-08-22","avgLatency":233,"stdDevLatency":50},{"date":"2026-08-23","avgLatency":231,"stdDevLatency":50},{"date":"2026-08-24","avgLatency":237,"stdDevLatency":66},{"date":"2026-08-25","avgLatency":231,"stdDevLatency":46},{"date":"2026-08-26","avgLatency":243,"stdDevLatency":186},{"date":"2026-08-27","avgLatency":238,"stdDevLatency":82},{"date":"2026-08-28","avgLatency":236,"stdDevLatency":47},{"date":"2026-08-29","avgLatency":235,"stdDevLatency":45},{"date":"2026-08-30","avgLatency":234,"stdDevLatency":45},{"date":"2026-08-31","avgLatency":236,"stdDevLatency":50},{"date":"2026-09-01","avgLatency":243,"stdDevLatency":68},{"date":"2026-09-02","avgLatency":240,"stdDevLatency":41},{"date":"2026-09-03","avgLatency":237,"stdDevLatency":40}
4,{"date":"2026-09-04","avgLatency":239,"stdDevLatency":72},{"date":"2026-09-05","avgLatency":240,"stdDevLatency":109},{"date":"2026-09-06","avgLatency":238,"stdDevLatency":52},{"date":"2026-09-07","avgLatency":238,"stdDevLatency":55},{"date":"2026-09-08","avgLatency":238,"stdDevLatency":208},{"date":"2026-09-09","avgLatency":344,"stdDevLatency":689},{"date":"2026-09-10","avgLatency":241,"stdDevLatency":144},{"date":"2026-09-11","avgLatency":240,"stdDevLatency":62}],"avgLatency":122,"maxLatency":10676,"minLatency":2},"/docs/ekyc/thai-national-id-card":{"throughput":[{"date":"2026-08-13","count":16820},{"date":"2026-08-14","count":17674},{"date":"2026-08-15","count":16887},{"date":"2026-08-16","count":15159},{"date":"2026-08-17","count":16160},{"date":"2026-08-18","count":16688},{"date":"2026-08-19","count":16498},{"date":"2026-08-20","count":16347},{"date":"2026-08-21","count":17554},{"date":"2026-08-22","count":16948},{"date":"2026-08-23","count":14609},{"date":"2026-08-24","count":16591},{"date":"2026-08-25","count":16939},{"date":"2026-08-26","count":17270},{"date":"2026-08-27","count":17059},{"date":"2026-08-28","count":16813},{"date":"2026-08-29","count":16898},{"date":"2026-08-30","count":14240},{"date":"2026-08-31","count":13154},{"date":"2026-09-01","count":15213},{"date":"2026-09-02","count":10792},{"date":"2026-09-03","count":10777},{"date":"2026-09-04","count":17728},{"date":"2026-09-05","count":17224},{"date":"2026-09-06","count":14858},{"date":"2026-09-07","count":17257},{"date":"2026-09-08","count":16753},{"date":"2026-09-09","count":17745},{"date":"2026-09-10","count":17053},{"date":"2026-09-11","count":17280}],"latency":[{"date":"2026-08-13","avgLatency":1398,"stdDevLatency":1399},{"date":"2026-08-15","avgLatency":608,"stdDevLatency":970},{"date":"2026-08-16","avgLatency":1135,"stdDevLatency":224},{"date":"2026-08-17","avgLatency":2582,"stdDevLatency":399},{"date":"2026-08-18","avgLatency":1728,"stdDevLatency":135},{"date":"2026-08-19","avgLatency":1314,"stdDevLatency":445},{"date":"2026-08-20","avgLatency":1837,"stdDevLatency":221},{"date":"2026-08-21","avgLatency":2017,"stdDevLatency":606},{"date":"2026-08-22","avgLatency":1972,"stdDevLatency":0},{"date":"2026-08-23","avgLatency":258,"stdDevLatency":1129},{"date":"2026-08-24","avgLatency":1877,"stdDevLatency":474},{"date":"2026-08-25","avgLatency":768,"stdDevLatency":970},{"date":"2026-08-26","avgLatency":452,"stdDevLatency":32},{"date":"2026-08-27","avgLatency":1185,"stdDevLatency":1593},{"date":"2026-08-28","avgLatency":562,"stdDevLatency":28},{"date":"2026-08-29","avgLatency":1625,"stdDevLatency":360},{"date":"2026-08-30","avgLatency":1319,"stdDevLatency":0},{"date":"2026-08-31","avgLatency":3004,"stdDevLatency":347},{"date":"2026-09-03","avgLatency":1452,"stdDevLatency":612},{"date":"2026-09-04","avgLatency":1535,"stdDevLatency":228},{"date":"2026-09-05","avgLatency":1083,"stdDevLatency":370},{"date":"2026-09-07","avgLatency":1114,"stdDevLatency":646},{"date":"2026-09-08","avgLatency":2309,"stdDevLatency":262},{"date":"2026-09-09","avgLatency":4081,"stdDevLatency":805},{"date":"2026-09-10","avgLatency":890,"stdDevLatency":231},{"date":"2026-09-11","avgLatency":3151,"stdDevLatency":355}],"avgLatency":1335,"maxLatency":6288,"minLatency":512},"/docs/nlp/translation/multilingual":{"throughput":[{"date":"2026-08-13","count":7838},{"date":"2026-08-14","count":2758},{"date":"2026-08-15","count":1836},{"date":"2026-08-16","count":1224},{"date":"2026-08-17","count":1737},{"date":"2026-08-18","count":2520},{"date":"2026-08-19","count":2781},{"date":"2026-08-20","count":2334},{"date":"2026-08-21","count":1656},{"date":"2026-08-22","count":1876},{"date":"2026-08-23","count":1980},{"date":"2026-08-24","count":2707},{"date":"2026-08-25","count":2224},{"date":"2026-08-26","count":2334},{"date":"2026-08-27","count":2076},{"date":"2026-08-28","count":2196},{"date":"2026-08-29","count":1878},{"date":"2026-08-30","count":1194},{"date":"2026-08-31","count":1444},{"date":"2026-09-01","count":1758},{"date":"2026-09-02","count":2395},{"date":"2026-09-03","count":3148},{"date":"2026-09-04","count":2434},{"date":"2026-09-05","count":2097},{"date":"2026-09-06","count":1296},{"date":"2026-09-07","count":1118},{"date":"2026-09-08","count":2623},{"date":"2026-09-09","count":2629},{"date":"2026-09-10","count":1657},{"date":"2026-09-11","count":1668}],"latency":[{"date":"2026-09-07","avgLatency":8,"stdDevLatency":48}],"avgLatency":0,"maxLatency":1416,"minLatency":0},"/docs/smart-city/license-plate":{"throughput":[{"date":"2026-08-13","count":22022},{"date":"2026-08-14","count":22580},{"date":"2026-08-15","count":23769},{"date":"2026-08-16","count":21834},{"date":"2026-08-17","count":20127},{"date":"2026-08-18","count":21402},{"date":"2026-08-19","count":21172},{"date":"2026-08-20","count":21129},{"date":"2026-08-21","count":22635},{"date":"2026-08-22","count":23696},{"date":"2026-08-23","count":20719},{"date":"2026-08-24","count":21085},{"date":"2026-08-25","count":21608},{"date":"2026-08-26","count":22519},{"date":"2026-08-27","count":21888},{"date":"2026-08-28","count":21749},{"date":"2026-08-29","count":24029},{"date":"2026-08-30","count":20386}
4,{"date":"2026-08-31","count":17001},{"date":"2026-09-01","count":18897},{"date":"2026-09-02","count":12937},{"date":"2026-09-03","count":13353},{"date":"2026-09-04","count":22591},{"date":"2026-09-05","count":24115},{"date":"2026-09-06","count":21213},{"date":"2026-09-07","count":21648},{"date":"2026-09-08","count":21149},{"date":"2026-09-09","count":22414},{"date":"2026-09-10","count":22177},{"date":"2026-09-11","count":22581}],"latency":[{"date":"2026-08-13","avgLatency":184,"stdDevLatency":43},{"date":"2026-08-14","avgLatency":174,"stdDevLatency":47},{"date":"2026-08-15","avgLatency":173,"stdDevLatency":73},{"date":"2026-08-16","avgLatency":158,"stdDevLatency":36},{"date":"2026-08-17","avgLatency":185,"stdDevLatency":54},{"date":"2026-08-18","avgLatency":178,"stdDevLatency":37},{"date":"2026-08-19","avgLatency":192,"stdDevLatency":55},{"date":"2026-08-20","avgLatency":179,"stdDevLatency":55},{"date":"2026-08-21","avgLatency":183,"stdDevLatency":41},{"date":"2026-08-22","avgLatency":150,"stdDevLatency":53},{"date":"2026-08-23","avgLatency":167,"stdDevLatency":26},{"date":"2026-08-24","avgLatency":192,"stdDevLatency":37},{"date":"2026-08-25","avgLatency":189,"stdDevLatency":43},{"date":"2026-08-26","avgLatency":177,"stdDevLatency":38},{"date":"2026-08-27","avgLatency":185,"stdDevLatency":40},{"date":"2026-08-28","avgLatency":176,"stdDevLatency":55},{"date":"2026-08-29","avgLatency":183,"stdDevLatency":45},{"date":"2026-08-30","avgLatency":193,"stdDevLatency":19},{"date":"2026-08-31","avgLatency":177,"stdDevLatency":49},{"date":"2026-09-01","avgLatency":181,"stdDevLatency":55},{"date":"2026-09-02","avgLatency":182,"stdDevLatency":45},{"date":"2026-09-03","avgLatency":180,"stdDevLatency":32},{"date":"2026-09-04","avgLatency":182,"stdDevLatency":35},{"date":"2026-09-05","avgLatency":173,"stdDevLatency":23},{"date":"2026-09-06","avgLatency":170,"stdDevLatency":25},{"date":"2026-09-07","avgLatency":186,"stdDevLatency":51},{"date":"2026-09-08","avgLatency":186,"stdDevLatency":26},{"date":"2026-09-09","avgLatency":185,"stdDevLatency":43},{"date":"2026-09-10","avgLatency":185,"stdDevLatency":45},{"date":"2026-09-11","avgLatency":180,"stdDevLatency":30}],"avgLatency":174,"maxLatency":635,"minLatency":0},"/docs/speech/text-to-speech/text-to-speech-v1":{"throughput":[{"date":"2026-08-13","count":577},{"date":"2026-08-14","count":576},{"date":"2026-08-15","count":576},{"date":"2026-08-16","count":576},{"date":"2026-08-17","count":576},{"date":"2026-08-18","count":576},{"date":"2026-08-19","count":576},{"date":"2026-08-20","count":576},{"date":"2026-08-21","count":579},{"date":"2026-08-22","count":576},{"date":"2026-08-23","count":576},{"date":"2026-08-24","count":576},{"date":"2026-08-25","count":576},{"date":"2026-08-26","count":576},{"date":"2026-08-27","count":575},{"date":"2026-08-28","count":576},{"date":"2026-08-29","count":576},{"date":"2026-08-30","count":576},{"date":"2026-08-31","count":576},{"date":"2026-09-01","count":576},{"date":"2026-09-02","count":577},{"date":"2026-09-03","count":576},{"date":"2026-09-04","count":575},{"date":"2026-09-05","count":576},{"date":"2026-09-06","count":576},{"date":"2026-09-07","count":578},{"date":"2026-09-08","count":806},{"date":"2026-09-09","count":980},{"date":"2026-09-10","count":576},{"date":"2026-09-11","count":576}],"latency":[],"avgLatency":-1,"maxLatency":135,"minLatency":0},"/docs/ekyc/face-detection":{"throughput":[{"date":"2026-08-13","count":313},{"date":"2026-08-14","count":317},{"date":"2026-08-15","count":306},{"date":"2026-08-16","count":341},{"date":"2026-08-17","count":342},{"date":"2026-08-18","count":334},{"date":"2026-08-19","count":333},{"date":"2026-08-20","count":345},{"date":"2026-08-21","count":327},{"date":"2026-08-22","count":319},{"date":"2026-08-23","count":305},{"date":"2026-08-24","count":316},{"date":"2026-08-25","count":341},{"date":"2026-08-26","count":334},{"date":"2026-08-27","count":338},{"date":"2026-08-28","count":318},{"date":"2026-08-29","count":325},{"date":"2026-08-30","count":303},{"date":"2026-08-31","count":305},{"date":"2026-09-01","count":306},{"date":"2026-09-02","count":304},{"date":"2026-09-03","count":325},{"date":"2026-09-04","count":310},{"date":"2026-09-05","count":311},{"date":"2026-09-06","count":309},{"date":"2026-09-07","count":316},{"date":"2026-09-08","count":427},{"date":"2026-09-09","count":533},{"date":"2026-09-10","count":312},{"date":"2026-09-11","count":320}],"latency":[{"date":"2026-08-13","avgLatency":20,"stdDevLatency":5}
4,{"date":"2026-08-14","avgLatency":22,"stdDevLatency":2},{"date":"2026-08-15","avgLatency":15,"stdDevLatency":1},{"date":"2026-08-16","avgLatency":43,"stdDevLatency":5},{"date":"2026-08-17","avgLatency":45,"stdDevLatency":4},{"date":"2026-08-18","avgLatency":44,"stdDevLatency":10},{"date":"2026-08-19","avgLatency":44,"stdDevLatency":4},{"date":"2026-08-20","avgLatency":53,"stdDevLatency":4},{"date":"2026-08-21","avgLatency":40,"stdDevLatency":4},{"date":"2026-08-22","avgLatency":35,"stdDevLatency":5},{"date":"2026-08-23","avgLatency":21,"stdDevLatency":2},{"date":"2026-08-24","avgLatency":33,"stdDevLatency":5},{"date":"2026-08-25","avgLatency":62,"stdDevLatency":9},{"date":"2026-08-26","avgLatency":61,"stdDevLatency":9},{"date":"2026-08-27","avgLatency":68,"stdDevLatency":13},{"date":"2026-08-28","avgLatency":40,"stdDevLatency":5},{"date":"2026-08-29","avgLatency":46,"stdDevLatency":5},{"date":"2026-08-30","avgLatency":24,"stdDevLatency":4},{"date":"2026-08-31","avgLatency":24,"stdDevLatency":3},{"date":"2026-09-01","avgLatency":25,"stdDevLatency":4},{"date":"2026-09-02","avgLatency":27,"stdDevLatency":8},{"date":"2026-09-03","avgLatency":104,"stdDevLatency":88},{"date":"2026-09-04","avgLatency":33,"stdDevLatency":7},{"date":"2026-09-05","avgLatency":34,"stdDevLatency":12},{"date":"2026-09-06","avgLatency":42,"stdDevLatency":10},{"date":"2026-09-07","avgLatency":51,"stdDevLatency":11},{"date":"2026-09-08","avgLatency":46,"stdDevLatency":8},{"date":"2026-09-09","avgLatency":165,"stdDevLatency":154},{"date":"2026-09-10","avgLatency":55,"stdDevLatency":14},{"date":"2026-09-11","avgLatency":85,"stdDevLatency":25}],"avgLatency":257,"maxLatency":9103,"minLatency":0},"/docs/nlp/question/answer":{"throughput":[{"date":"2026-08-13","count":288},{"date":"2026-08-14","count":288},{"date":"2026-08-15","count":288},{"date":"2026-08-16","count":295},{"date":"2026-08-17","count":313},{"date":"2026-08-18","count":288},{"date":"2026-08-19","count":288},{"date":"2026-08-20","count":288},{"date":"2026-08-21","count":288},{"date":"2026-08-22","count":289},{"date":"2026-08-23","count":288},{"date":"2026-08-24","count":308},{"date":"2026-08-25","count":292},{"date":"2026-08-26","count":288},{"date":"2026-08-27","count":288},{"date":"2026-08-28","count":288},{"date":"2026-08-29","count":294},{"date":"2026-08-30","count":298},{"date":"2026-08-31","count":288},{"date":"2026-09-01","count":288},{"date":"2026-09-02","count":288},{"date":"2026-09-03","count":288},{"date":"2026-09-04","count":287},{"date":"2026-09-05","count":288},{"date":"2026-09-06","count":288},{"date":"2026-09-07","count":289},{"date":"2026-09-08","count":404},{"date":"2026-09-09","count":490},{"date":"2026-09-10","count":288},{"date":"2026-09-11","count":288}],"latency":[],"avgLatency":-1,"maxLatency":-1,"minLatency":0},"/docs/ocr/document":{"throughput":[{"date":"2026-08-13","count":591},{"date":"2026-08-14","count":588},{"date":"2026-08-15","count":578},{"date":"2026-08-16","count":579},{"date":"2026-08-17","count":602},{"date":"2026-08-18","count":590},{"date":"2026-08-19","count":592},{"date":"2026-08-20","count":595},{"date":"2026-08-21","count":604},{"date":"2026-08-22","count":597},{"date":"2026-08-23","count":594},{"date":"2026-08-24","count":617},{"date":"2026-08-25","count":590},{"date":"2026-08-26","count":586},{"date":"2026-08-27","count":579},{"date":"2026-08-28","count":585},{"date":"2026-08-29","count":578},{"date":"2026-08-30","count":578},{"date":"2026-08-31","count":638},{"date":"2026-09-01","count":592},{"date":"2026-09-02","count":595},{"date":"2026-09-03","count":582},{"date":"2026-09-04","count":584},{"date":"2026-09-05","count":588},{"date":"2026-09-06","count":607},{"date":"2026-09-07","count":658},{"date":"2026-09-08","count":968},{"date":"2026-09-09","count":1003},{"date":"2026-09-10","count":593},{"date":"2026-09-11","count":599}],"latency":[{"date":"2026-08-13","avgLatency":37,"stdDevLatency":31},{"date":"2026-08-14","avgLatency":70,"stdDevLatency":85},{"date":"2026-08-15","avgLatency":18,"stdDevLatency":14},{"date":"2026-08-16","avgLatency":8,"stdDevLatency":5},{"date":"2026-08-17","avgLatency":93,"stdDevLatency":107},{"date":"2026-08-18","avgLatency":34,"stdDevLatency":21},{"date":"2026-08-19","avgLatency":40,"stdDevLatency":29},{"date":"2026-08-20","avgLatency":77,"stdDevLatency":79},{"date":"2026-08-21","avgLatency":174,"stdDevLatency":121},{"date":"2026-08-22","avgLatency":41,"stdDevLatency":277},{"date":"2026-08-23","avgLatency":21,"stdDevLatency":10},{"date":"2026-08-24","avgLatency":25,"stdDevLatency":13},{"date":"2026-08-25","avgLatency":8,"stdDevLatency":4},{"date":"2026-08-26","avgLatency":11,"stdDevLatency":6},{"date":"2026-08-27","avgLatency":5,"stdDevLatency":4},{"date":"2026-08-28","avgLatency":17,"stdDevLatency":23},{"date":"2026-08-31","avgLatency":64,"stdDevLatency":30},{"date":"2026-09-01","avgLatency":14,"stdDevLatency":10},{"date":"2026-09-02","avgLatency":13,"stdDevLatency":8},{"date":"2026-09-03","avgLatency":21,"stdDevLatency":26}
4,{"date":"2026-09-04","avgLatency":12,"stdDevLatency":14},{"date":"2026-09-05","avgLatency":20,"stdDevLatency":28},{"date":"2026-09-06","avgLatency":40,"stdDevLatency":36},{"date":"2026-09-07","avgLatency":116,"stdDevLatency":97},{"date":"2026-09-08","avgLatency":1096,"stdDevLatency":2281},{"date":"2026-09-09","avgLatency":20,"stdDevLatency":20},{"date":"2026-09-10","avgLatency":20,"stdDevLatency":27},{"date":"2026-09-11","avgLatency":14,"stdDevLatency":10}],"avgLatency":794,"maxLatency":99801,"minLatency":0},"/docs/ekyc/thai-driver-license":{"throughput":[{"date":"2026-08-13","count":13349},{"date":"2026-08-14","count":13985},{"date":"2026-08-15","count":14246},{"date":"2026-08-16","count":13011},{"date":"2026-08-17","count":12711},{"date":"2026-08-18","count":13284},{"date":"2026-08-19","count":13472},{"date":"2026-08-20","count":13460},{"date":"2026-08-21","count":14222},{"date":"2026-08-22","count":14258},{"date":"2026-08-23","count":12512},{"date":"2026-08-24","count":13514},{"date":"2026-08-25","count":13446},{"date":"2026-08-26","count":13938},{"date":"2026-08-27","count":13396},{"date":"2026-08-28","count":13311},{"date":"2026-08-29","count":14009},{"date":"2026-08-30","count":12267},{"date":"2026-08-31","count":10762},{"date":"2026-09-01","count":11853},{"date":"2026-09-02","count":8335},{"date":"2026-09-03","count":8226},{"date":"2026-09-04","count":14274},{"date":"2026-09-05","count":14050},{"date":"2026-09-06","count":12927},{"date":"2026-09-07","count":13524},{"date":"2026-09-08","count":13271},{"date":"2026-09-09","count":14111},{"date":"2026-09-10","count":13663},{"date":"2026-09-11","count":13857}],"latency":[{"date":"2026-08-22","avgLatency":1,"stdDevLatency":38}],"avgLatency":-1,"maxLatency":647,"minLatency":0},"/docs/smart-city/automatic-route-optimization":{"throughput":[{"date":"2026-08-13","count":288},{"date":"2026-08-14","count":288},{"date":"2026-08-15","count":288},{"date":"2026-08-16","count":288},{"date":"2026-08-17","count":288},{"date":"2026-08-18","count":288},{"date":"2026-08-19","count":288},{"date":"2026-08-20","count":288},{"date":"2026-08-21","count":288},{"date":"2026-08-22","count":288},{"date":"2026-08-23","count":288},{"date":"2026-08-24","count":288},{"date":"2026-08-25","count":288},{"date":"2026-08-26","count":288},{"date":"2026-08-27","count":288},{"date":"2026-08-28","count":288},{"date":"2026-08-29","count":288},{"date":"2026-08-30","count":288},{"date":"2026-08-31","count":288},{"date":"2026-09-01","count":288},{"date":"2026-09-02","count":289},{"date":"2026-09-03","count":288},{"date":"2026-09-04","count":287},{"date":"2026-09-05","count":288},{"date":"2026-09-06","count":288},{"date":"2026-09-07","count":293},{"date":"2026-09-08","count":404},{"date":"2026-09-09","count":490},{"date":"2026-09-10","count":289},{"date":"2026-09-11","count":288}],"latency":[{"date":"2026-09-07","avgLatency":7,"stdDevLatency":101}],"avgLatency":-1,"maxLatency":1285,"minLatency":0},"/docs/speech/speech-to-text/base":{"throughput":[{"date":"2026-08-13","count":294},{"date":"2026-08-14","count":289},{"date":"2026-08-15","count":293},{"date":"2026-08-16","count":291},{"date":"2026-08-17","count":294},{"date":"2026-08-18","count":288},{"date":"2026-08-19","count":289},{"date":"2026-08-20","count":288},{"date":"2026-08-21","count":288},{"date":"2026-08-22","count":288},{"date":"2026-08-23","count":291},{"date":"2026-08-24","count":292},{"date":"2026-08-25","count":288},{"date":"2026-08-26","count":288},{"date":"2026-08-27","count":287},{"date":"2026-08-28","count":291},{"date":"2026-08-29","count":339},{"date":"2026-08-30","count":288},{"date":"2026-08-31","count":288},{"date":"2026-09-01","count":288},{"date":"2026-09-02","count":290},{"date":"2026-09-03","count":288},{"date":"2026-09-04","count":289},{"date":"2026-09-05","count":288},{"date":"2026-09-06","count":288},{"date":"2026-09-07","count":289},{"date":"2026-09-08","count":403},{"date":"2026-09-09","count":490},{"date":"2026-09-10","count":288},{"date":"2026-09-11","count":289}],"latency":[{"date":"2026-08-13","avgLatency":17,"stdDevLatency":139}
4,{"date":"2026-08-14","avgLatency":3,"stdDevLatency":69},{"date":"2026-08-15","avgLatency":9,"stdDevLatency":81},{"date":"2026-08-16","avgLatency":4,"stdDevLatency":48},{"date":"2026-08-17","avgLatency":54,"stdDevLatency":798},{"date":"2026-08-23","avgLatency":4,"stdDevLatency":45},{"date":"2026-08-24","avgLatency":59,"stdDevLatency":513},{"date":"2026-08-28","avgLatency":317,"stdDevLatency":3695},{"date":"2026-08-29","avgLatency":367,"stdDevLatency":1204},{"date":"2026-09-02","avgLatency":4,"stdDevLatency":64},{"date":"2026-09-04","avgLatency":45,"stdDevLatency":586},{"date":"2026-09-11","avgLatency":2,"stdDevLatency":45}],"avgLatency":30,"maxLatency":58471,"minLatency":0},"/docs/ekyc/book-bank":{"throughput":[{"date":"2026-08-13","count":11},{"date":"2026-08-14","count":17},{"date":"2026-08-15","count":21},{"date":"2026-08-16","count":13},{"date":"2026-08-17","count":17},{"date":"2026-08-18","count":12},{"date":"2026-08-19","count":23},{"date":"2026-08-20","count":16},{"date":"2026-08-21","count":8},{"date":"2026-08-22","count":49},{"date":"2026-08-23","count":27},{"date":"2026-08-24","count":32},{"date":"2026-08-25","count":15},{"date":"2026-08-26","count":18},{"date":"2026-08-27","count":30},{"date":"2026-08-28","count":57},{"date":"2026-08-29","count":7},{"date":"2026-08-30","count":11},{"date":"2026-08-31","count":22},{"date":"2026-09-01","count":31},{"date":"2026-09-02","count":59},{"date":"2026-09-03","count":12},{"date":"2026-09-04","count":40},{"date":"2026-09-05","count":8},{"date":"2026-09-06","count":51},{"date":"2026-09-07","count":12},{"date":"2026-09-08","count":29},{"date":"2026-09-09","count":22},{"date":"2026-09-10","count":28},{"date":"2026-09-11","count":12}],"latency":[{"date":"2026-08-13","avgLatency":530,"stdDevLatency":600},{"date":"2026-08-14","avgLatency":450,"stdDevLatency":407},{"date":"2026-08-15","avgLatency":721,"stdDevLatency":790},{"date":"2026-08-16","avgLatency":492,"stdDevLatency":599},{"date":"2026-08-17","avgLatency":903,"stdDevLatency":1245},{"date":"2026-08-18","avgLatency":584,"stdDevLatency":622},{"date":"2026-08-19","avgLatency":847,"stdDevLatency":579},{"date":"2026-08-20","avgLatency":753,"stdDevLatency":1029},{"date":"2026-08-21","avgLatency":2357,"stdDevLatency":3500},{"date":"2026-08-22","avgLatency":676,"stdDevLatency":1377},{"date":"2026-08-23","avgLatency":136,"stdDevLatency":166},{"date":"2026-08-24","avgLatency":136,"stdDevLatency":211},{"date":"2026-08-25","avgLatency":111,"stdDevLatency":126},{"date":"2026-08-26","avgLatency":122,"stdDevLatency":162},{"date":"2026-08-27","avgLatency":156,"stdDevLatency":195},{"date":"2026-08-28","avgLatency":214,"stdDevLatency":275},{"date":"2026-08-29","avgLatency":180,"stdDevLatency":288},{"date":"2026-08-30","avgLatency":108,"stdDevLatency":206},{"date":"2026-08-31","avgLatency":217,"stdDevLatency":279},{"date":"2026-09-01","avgLatency":256,"stdDevLatency":345},{"date":"2026-09-02","avgLatency":342,"stdDevLatency":381},{"date":"2026-09-03","avgLatency":156,"stdDevLatency":166},{"date":"2026-09-04","avgLatency":204,"stdDevLatency":243},{"date":"2026-09-05","avgLatency":408,"stdDevLatency":510},{"date":"2026-09-06","avgLatency":559,"stdDevLatency":848},{"date":"2026-09-07","avgLatency":291,"stdDevLatency":374},{"date":"2026-09-08","avgLatency":269,"stdDevLatency":425},{"date":"2026-09-09","avgLatency":826,"stdDevLatency":1091},{"date":"2026-09-10","avgLatency":606,"stdDevLatency":1034},{"date":"2026-09-11","avgLatency":177,"stdDevLatency":225}],"avgLatency":540,"maxLatency":10251,"minLatency":163},"/docs/llm/thanoy-legal":{"throughput":[{"date":"2026-08-13","count":289},{"date":"2026-08-14","count":289},{"date":"2026-08-15","count":290},{"date":"2026-08-16","count":289},{"date":"2026-08-17","count":288},{"date":"2026-08-18","count":294},{"date":"2026-08-19","count":288},{"date":"2026-08-20","count":288},{"date":"2026-08-21","count":289},{"date":"2026-08-22","count":288},{"date":"2026-08-23","count":288},{"date":"2026-08-24","count":288},{"date":"2026-08-25","count":293},{"date":"2026-08-26","count":288},{"date":"2026-08-27","count":293},{"date":"2026-08-28","count":288},{"date":"2026-08-29","count":288},{"date":"2026-08-30","count":288},{"date":"2026-08-31","count":288},{"date":"2026-09-01","count":288},{"date":"2026-09-02","count":288},{"date":"2026-09-03","count":288},{"date":"2026-09-04","count":287},{"date":"2026-09-05","count":288},{"date":"2026-09-06","count":288},{"date":"2026-09-07","count":290},{"date":"2026-09-08","count":403},{"date":"2026-09-09","count":492},{"date":"2026-09-10","count":288},{"date":"2026-09-11","count":290}
4],"latency":[{"date":"2026-08-14","avgLatency":40,"stdDevLatency":689},{"date":"2026-08-15","avgLatency":17,"stdDevLatency":300},{"date":"2026-08-16","avgLatency":18,"stdDevLatency":315},{"date":"2026-08-27","avgLatency":46,"stdDevLatency":569},{"date":"2026-09-07","avgLatency":21,"stdDevLatency":376},{"date":"2026-09-09","avgLatency":40,"stdDevLatency":698}],"avgLatency":6,"maxLatency":14295,"minLatency":0},"/docs/ekyc/passport":{"throughput":[{"date":"2026-08-13","count":69},{"date":"2026-08-14","count":68},{"date":"2026-08-15","count":73},{"date":"2026-08-16","count":62},{"date":"2026-08-17","count":104},{"date":"2026-08-18","count":71},{"date":"2026-08-19","count":97},{"date":"2026-08-20","count":99},{"date":"2026-08-21","count":68},{"date":"2026-08-22","count":54},{"date":"2026-08-23","count":58},{"date":"2026-08-24","count":64},{"date":"2026-08-25","count":85},{"date":"2026-08-26","count":121},{"date":"2026-08-27","count":59},{"date":"2026-08-28","count":71},{"date":"2026-08-29","count":74},{"date":"2026-08-30","count":83},{"date":"2026-08-31","count":51},{"date":"2026-09-01","count":80},{"date":"2026-09-02","count":94},{"date":"2026-09-03","count":75},{"date":"2026-09-04","count":95},{"date":"2026-09-05","count":87},{"date":"2026-09-06","count":63},{"date":"2026-09-07","count":99},{"date":"2026-09-08","count":148},{"date":"2026-09-09","count":80},{"date":"2026-09-10","count":95},{"date":"2026-09-11","count":104}],"latency":[{"date":"2026-08-13","avgLatency":1652,"stdDevLatency":1115},{"date":"2026-08-14","avgLatency":1993,"stdDevLatency":1715},{"date":"2026-08-15","avgLatency":1185,"stdDevLatency":725},{"date":"2026-08-16","avgLatency":2133,"stdDevLatency":1521},{"date":"2026-08-17","avgLatency":1159,"stdDevLatency":1239},{"date":"2026-08-18","avgLatency":1873,"stdDevLatency":1684},{"date":"2026-08-19","avgLatency":1777,"stdDevLatency":1265},{"date":"2026-08-20","avgLatency":1438,"stdDevLatency":2124},{"date":"2026-08-21","avgLatency":1895,"stdDevLatency":1288},{"date":"2026-08-22","avgLatency":1517,"stdDevLatency":676},{"date":"2026-08-23","avgLatency":2014,"stdDevLatency":3128},{"date":"2026-08-24","avgLatency":266,"stdDevLatency":527},{"date":"2026-08-25","avgLatency":465,"stdDevLatency":160},{"date":"2026-08-26","avgLatency":541,"stdDevLatency":291},{"date":"2026-08-27","avgLatency":466,"stdDevLatency":136},{"date":"2026-08-28","avgLatency":424,"stdDevLatency":120},{"date":"2026-08-29","avgLatency":430,"stdDevLatency":62},{"date":"2026-08-30","avgLatency":413,"stdDevLatency":104},{"date":"2026-09-01","avgLatency":303,"stdDevLatency":112},{"date":"2026-09-02","avgLatency":382,"stdDevLatency":181},{"date":"2026-09-03","avgLatency":439,"stdDevLatency":100},{"date":"2026-09-04","avgLatency":485,"stdDevLatency":64},{"date":"2026-09-05","avgLatency":448,"stdDevLatency":130},{"date":"2026-09-06","avgLatency":466,"stdDevLatency":148},{"date":"2026-09-07","avgLatency":514,"stdDevLatency":200},{"date":"2026-09-08","avgLatency":569,"stdDevLatency":235},{"date":"2026-09-09","avgLatency":410,"stdDevLatency":92},{"date":"2026-09-10","avgLatency":486,"stdDevLatency":182},{"date":"2026-09-11","avgLatency":485,"stdDevLatency":181}],"avgLatency":824,"maxLatency":13428,"minLatency":0}
4,"/docs/speech/speech-to-text/realtime":{"throughput":[{"date":"2026-09-02","count":6},{"date":"2026-09-03","count":3},{"date":"2026-09-04","count":2},{"date":"2026-09-05","count":2}],"latency":[{"date":"2026-09-02","avgLatency":29,"stdDevLatency":3},{"date":"2026-09-03","avgLatency":11,"stdDevLatency":0},{"date":"2026-09-04","avgLatency":11,"stdDevLatency":2},{"date":"2026-09-05","avgLatency":12,"stdDevLatency":1}],"avgLatency":19,"maxLatency":32,"minLatency":9},"/docs/smart-city/power-meter-and-water-meter":{"throughput":[{"date":"2026-08-13","count":2},{"date":"2026-08-14","count":0},{"date":"2026-08-15","count":0},{"date":"2026-08-16","count":0},{"date":"2026-08-17","count":0},{"date":"2026-08-18","count":1},{"date":"2026-08-19","count":0},{"date":"2026-08-20","count":0},{"date":"2026-08-21","count":0},{"date":"2026-08-22","count":0},{"date":"2026-08-23","count":0},{"date":"2026-08-24","count":0},{"date":"2026-08-25","count":5},{"date":"2026-08-26","count":0},{"date":"2026-08-27","count":0},{"date":"2026-08-28","count":0},{"date":"2026-08-29","count":0},{"date":"2026-08-30","count":0},{"date":"2026-08-31","count":0},{"date":"2026-09-01","count":0},{"date":"2026-09-02","count":0},{"date":"2026-09-03","count":0},{"date":"2026-09-04","count":8},{"date":"2026-09-05","count":5},{"date":"2026-09-06","count":0},{"date":"2026-09-07","count":0},{"date":"2026-09-08","count":1},{"date":"2026-09-09","count":1}],"latency":[{"date":"2026-09-04","avgLatency":1234,"stdDevLatency":1135},{"date":"2026-09-05","avgLatency":533,"stdDevLatency":645}],"avgLatency":545,"maxLatency":3716,"minLatency":0},"/docs/ocr/receipt":{"throughput":[{"date":"2026-08-13","count":300},{"date":"2026-08-14","count":299},{"date":"2026-08-15","count":288},{"date":"2026-08-16","count":288},{"date":"2026-08-17","count":309},{"date":"2026-08-18","count":290},{"date":"2026-08-19","count":292},{"date":"2026-08-20","count":298},{"date":"2026-08-21","count":307},{"date":"2026-08-22","count":288},{"date":"2026-08-23","count":288},{"date":"2026-08-24","count":292},{"date":"2026-08-25","count":292},{"date":"2026-08-26","count":290},{"date":"2026-08-27","count":288},{"date":"2026-08-28","count":288},{"date":"2026-08-29","count":288},{"date":"2026-08-30","count":288},{"date":"2026-08-31","count":300},{"date":"2026-09-01","count":290},{"date":"2026-09-02","count":291},{"date":"2026-09-03","count":292},{"date":"2026-09-04","count":290},{"date":"2026-09-05","count":288},{"date":"2026-09-06","count":289},{"date":"2026-09-07","count":292},{"date":"2026-09-08","count":517},{"date":"2026-09-09","count":498},{"date":"2026-09-10","count":297},{"date":"2026-09-11","count":303}],"latency":[{"date":"2026-08-13","avgLatency":383,"stdDevLatency":2338},{"date":"2026-08-14","avgLatency":224,"stdDevLatency":1803},{"date":"2026-08-17","avgLatency":576,"stdDevLatency":3693},{"date":"2026-08-18","avgLatency":99,"stdDevLatency":1209},{"date":"2026-08-19","avgLatency":240,"stdDevLatency":2068},{"date":"2026-08-20","avgLatency":671,"stdDevLatency":3899},{"date":"2026-08-21","avgLatency":1209,"stdDevLatency":6005},{"date":"2026-08-24","avgLatency":130,"stdDevLatency":1118},{"date":"2026-08-26","avgLatency":72,"stdDevLatency":872},{"date":"2026-08-27","avgLatency":29,"stdDevLatency":506},{"date":"2026-08-31","avgLatency":492,"stdDevLatency":2448},{"date":"2026-09-01","avgLatency":57,"stdDevLatency":703},{"date":"2026-09-02","avgLatency":115,"stdDevLatency":1150},{"date":"2026-09-03","avgLatency":137,"stdDevLatency":1175},{"date":"2026-09-04","avgLatency":76,"stdDevLatency":924},{"date":"2026-09-07","avgLatency":102,"stdDevLatency":1014},{"date":"2026-09-08","avgLatency":3223,"stdDevLatency":6147},{"date":"2026-09-09","avgLatency":235,"stdDevLatency":4229},{"date":"2026-09-10","avgLatency":326,"stdDevLatency":1912},{"date":"2026-09-11","avgLatency":336,"stdDevLatency":1768}],"avgLatency":367,"maxLatency":92858,"minLatency":0},"/docs/nlp/toxicity-classification":{"throughput":[{"date":"2026-08-13","count":288},{"date":"2026-08-14","count":288},{"date":"2026-08-15","count":288},{"date":"2026-08-16","count":288},{"date":"2026-08-17","count":288},{"date":"2026-08-18","count":288},{"date":"2026-08-19","count":288},{"date":"2026-08-20","count":288},{"date":"2026-08-21","count":288},{"date":"2026-08-22","count":288},{"date":"2026-08-23","count":288},{"date":"2026-08-24","count":288},{"date":"2026-08-25","count":288},{"date":"2026-08-26","count":288},{"date":"2026-08-27","count":288},{"date":"2026-08-28","count":288},{"date":"2026-08-29","count":288},{"date":"2026-08-30","count":288},{"date":"2026-08-31","count":288},{"date":"2026-09-01","count":288},{"date":"2026-09-02","count":288},{"date":"2026-09-03","count":288},{"date":"2026-09-04","count":287},{"date":"2026-09-05","count":288},{"date":"2026-09-06","count":288},{"date":"2026-09-07","count":289},{"date":"2026-09-08","count":403},{"date":"2026-09-09","count":490},{"date":"2026-09-10","count":288},{"date":"2026-09-11","count":288}],"latency":[],"avgLatency":-1,"maxLatency":-1,"minLatency":0},"/docs/llm/openthai2p0-legal":{"throughput":[{"date":"2026-08-13","count":299},{"date":"2026-08-14","count":291},{"date":"2026-08-15","count":304},{"date":"2026-08-16","count":292},{"date":"2026-08-17","count":292},{"date":"2026-08-18","count":328},{"date":"2026-08-19","count":381},{"date":"2026-08-20","count":299},{"date":"2026-08-21","count":320},{"date":"2026-08-22","count":308},{"date":"2026-08-23","count":291},{"date":"2026-08-24","count":301},{"date":"2026-08-25","count":542},{"date":"2026-08-26","count":371},{"date":"2026-08-27","count":411},{"date":"2026-08-28","count":375},{"date":"2026-08-29","count":303},{"date":"2026-08-30","count":393},{"date":"2026-08-31","count":316},{"date":"2026-09-01","count":1406},{"date":"2026-09-02","count":307},{"date":"2026-09-03","count":398},{"date":"2026-09-04","count":4491},{"date":"2026-09-05","count":446},{"date":"2026-09-06","count":291},{"date":"2026-09-07","count":322},{"date":"2026-09-08","count":458},{"date":"2026-09-09","count":1022},{"date":"2026-09-10","count":426}
4,{"date":"2026-09-11","count":1783}],"latency":[{"date":"2026-08-13","avgLatency":16,"stdDevLatency":106},{"date":"2026-08-14","avgLatency":19,"stdDevLatency":314},{"date":"2026-08-15","avgLatency":56,"stdDevLatency":648},{"date":"2026-08-16","avgLatency":2,"stdDevLatency":36},{"date":"2026-08-17","avgLatency":4,"stdDevLatency":65},{"date":"2026-08-18","avgLatency":31,"stdDevLatency":126},{"date":"2026-08-19","avgLatency":385,"stdDevLatency":937},{"date":"2026-08-20","avgLatency":24,"stdDevLatency":151},{"date":"2026-08-21","avgLatency":71,"stdDevLatency":241},{"date":"2026-08-22","avgLatency":476,"stdDevLatency":6497},{"date":"2026-08-23","avgLatency":6,"stdDevLatency":88},{"date":"2026-08-24","avgLatency":75,"stdDevLatency":535},{"date":"2026-08-25","avgLatency":493,"stdDevLatency":878},{"date":"2026-08-26","avgLatency":405,"stdDevLatency":1212},{"date":"2026-08-27","avgLatency":232,"stdDevLatency":443},{"date":"2026-08-28","avgLatency":346,"stdDevLatency":1248},{"date":"2026-08-29","avgLatency":36,"stdDevLatency":189},{"date":"2026-08-30","avgLatency":198,"stdDevLatency":839},{"date":"2026-08-31","avgLatency":150,"stdDevLatency":634},{"date":"2026-09-01","avgLatency":1232,"stdDevLatency":2596},{"date":"2026-09-02","avgLatency":47,"stdDevLatency":223},{"date":"2026-09-03","avgLatency":313,"stdDevLatency":970},{"date":"2026-09-04","avgLatency":1143,"stdDevLatency":865},{"date":"2026-09-05","avgLatency":1970,"stdDevLatency":4207},{"date":"2026-09-06","avgLatency":7,"stdDevLatency":98},{"date":"2026-09-07","avgLatency":146,"stdDevLatency":627},{"date":"2026-09-08","avgLatency":136,"stdDevLatency":390},{"date":"2026-09-09","avgLatency":3639,"stdDevLatency":7593},{"date":"2026-09-10","avgLatency":751,"stdDevLatency":1901},{"date":"2026-09-11","avgLatency":3115,"stdDevLatency":4146}],"avgLatency":1050,"maxLatency":113887,"minLatency":0},"/docs/llm/deepseek-v3p2":{"throughput":[{"date":"2026-08-13","count":291},{"date":"2026-08-14","count":288},{"date":"2026-08-15","count":288},{"date":"2026-08-16","count":288},{"date":"2026-08-17","count":288},{"date":"2026-08-18","count":288},{"date":"2026-08-19","count":289},{"date":"2026-08-20","count":288},{"date":"2026-08-21","count":288},{"date":"2026-08-22","count":288},{"date":"2026-08-23","count":288},{"date":"2026-08-24","count":288},{"date":"2026-08-25","count":288},{"date":"2026-08-26","count":288},{"date":"2026-08-27","count":288},{"date":"2026-08-28","count":288},{"date":"2026-08-29","count":288},{"date":"2026-08-30","count":288},{"date":"2026-08-31","count":288},{"date":"2026-09-01","count":288},{"date":"2026-09-02","count":288},{"date":"2026-09-03","count":288},{"date":"2026-09-04","count":287},{"date":"2026-09-05","count":288},{"date":"2026-09-06","count":290},{"date":"2026-09-07","count":293},{"date":"2026-09-08","count":403},{"date":"2026-09-09","count":491},{"date":"2026-09-10","count":288},{"date":"2026-09-11","count":288}],"latency":[{"date":"2026-08-13","avgLatency":1,"stdDevLatency":16}],"avgLatency":-1,"maxLatency":199,"minLatency":0},"/docs/data/holiday/thai":{"throughput":[{"date":"2026-08-13","count":1},{"date":"2026-08-14","count":1},{"date":"2026-08-15","count":1},{"date":"2026-08-16","count":1},{"date":"2026-08-17","count":3},{"date":"2026-08-18","count":1},{"date":"2026-08-19","count":1},{"date":"2026-08-20","count":1},{"date":"2026-08-21","count":1},{"date":"2026-08-22","count":1},{"date":"2026-08-23","count":1},{"date":"2026-08-24","count":1},{"date":"2026-08-25","count":1},{"date":"2026-08-26","count":1},{"date":"2026-08-27","count":7},{"date":"2026-08-28","count":1},{"date":"2026-08-29","count":1},{"date":"2026-08-30","count":1},{"date":"2026-08-31","count":1},{"date":"2026-09-01","count":1},{"date":"2026-09-02","count":1},{"date":"2026-09-03","count":5},{"date":"2026-09-04","count":1},{"date":"2026-09-05","count":3},{"date":"2026-09-06","count":1},{"date":"2026-09-07","count":1},{"date":"2026-09-08","count":2},{"date":"2026-09-09","count":1},{"date":"2026-09-10","count":1},{"date":"2026-09-11","count":1}],"latency":[{"date":"2026-08-13","avgLatency":101,"stdDevLatency":0}
4,{"date":"2026-08-14","avgLatency":74,"stdDevLatency":0},{"date":"2026-08-15","avgLatency":93,"stdDevLatency":0},{"date":"2026-08-16","avgLatency":84,"stdDevLatency":0},{"date":"2026-08-17","avgLatency":278,"stdDevLatency":0},{"date":"2026-08-18","avgLatency":140,"stdDevLatency":0},{"date":"2026-08-19","avgLatency":871,"stdDevLatency":0},{"date":"2026-08-20","avgLatency":888,"stdDevLatency":0},{"date":"2026-08-21","avgLatency":88,"stdDevLatency":0},{"date":"2026-08-22","avgLatency":269,"stdDevLatency":0},{"date":"2026-08-23","avgLatency":124,"stdDevLatency":0},{"date":"2026-08-24","avgLatency":468,"stdDevLatency":0},{"date":"2026-08-25","avgLatency":1162,"stdDevLatency":0},{"date":"2026-08-26","avgLatency":157,"stdDevLatency":0},{"date":"2026-08-27","avgLatency":35,"stdDevLatency":26},{"date":"2026-08-28","avgLatency":117,"stdDevLatency":0},{"date":"2026-08-29","avgLatency":309,"stdDevLatency":0},{"date":"2026-08-30","avgLatency":269,"stdDevLatency":0},{"date":"2026-08-31","avgLatency":130,"stdDevLatency":0},{"date":"2026-09-01","avgLatency":93,"stdDevLatency":0},{"date":"2026-09-02","avgLatency":151,"stdDevLatency":0},{"date":"2026-09-03","avgLatency":32,"stdDevLatency":0},{"date":"2026-09-04","avgLatency":185,"stdDevLatency":0},{"date":"2026-09-05","avgLatency":95,"stdDevLatency":0},{"date":"2026-09-06","avgLatency":192,"stdDevLatency":0},{"date":"2026-09-07","avgLatency":282,"stdDevLatency":0},{"date":"2026-09-08","avgLatency":271,"stdDevLatency":263},{"date":"2026-09-09","avgLatency":537,"stdDevLatency":0},{"date":"2026-09-10","avgLatency":534,"stdDevLatency":0},{"date":"2026-09-11","avgLatency":549,"stdDevLatency":0}],"avgLatency":159,"maxLatency":1162,"minLatency":8},"/docs/data/legal/thai-legal":{"throughput":[{"date":"2026-08-13","count":389},{"date":"2026-08-14","count":455},{"date":"2026-08-15","count":334},{"date":"2026-08-16","count":354},{"date":"2026-08-17","count":345},{"date":"2026-08-18","count":317},{"date":"2026-08-19","count":323},{"date":"2026-08-20","count":382},{"date":"2026-08-21","count":348},{"date":"2026-08-22","count":371},{"date":"2026-08-23","count":354},{"date":"2026-08-24","count":358},{"date":"2026-08-25","count":383},{"date":"2026-08-26","count":354},{"date":"2026-08-27","count":428},{"date":"2026-08-28","count":509},{"date":"2026-08-29","count":411},{"date":"2026-08-30","count":370},{"date":"2026-08-31","count":397},{"date":"2026-09-01","count":432},{"date":"2026-09-02","count":379},{"date":"2026-09-03","count":386},{"date":"2026-09-04","count":380},{"date":"2026-09-05","count":371},{"date":"2026-09-06","count":383},{"date":"2026-09-07","count":444},{"date":"2026-09-08","count":728},{"date":"2026-09-09","count":1090},{"date":"2026-09-10","count":877},{"date":"2026-09-11","count":872}],"latency":[{"date":"2026-08-13","avgLatency":142,"stdDevLatency":177},{"date":"2026-08-14","avgLatency":528,"stdDevLatency":302},{"date":"2026-08-15","avgLatency":159,"stdDevLatency":72},{"date":"2026-08-16","avgLatency":210,"stdDevLatency":93},{"date":"2026-08-17","avgLatency":103,"stdDevLatency":64},{"date":"2026-08-18","avgLatency":154,"stdDevLatency":123},{"date":"2026-08-19","avgLatency":54,"stdDevLatency":65},{"date":"2026-08-20","avgLatency":130,"stdDevLatency":99},{"date":"2026-08-21","avgLatency":74,"stdDevLatency":86},{"date":"2026-08-22","avgLatency":139,"stdDevLatency":245},{"date":"2026-08-23","avgLatency":115,"stdDevLatency":254},{"date":"2026-08-24","avgLatency":52,"stdDevLatency":76},{"date":"2026-08-25","avgLatency":20,"stdDevLatency":44},{"date":"2026-08-26","avgLatency":66,"stdDevLatency":108},{"date":"2026-08-27","avgLatency":149,"stdDevLatency":142},{"date":"2026-08-28","avgLatency":586,"stdDevLatency":1467},{"date":"2026-08-29","avgLatency":225,"stdDevLatency":142},{"date":"2026-08-30","avgLatency":80,"stdDevLatency":53},{"date":"2026-08-31","avgLatency":132,"stdDevLatency":99},{"date":"2026-09-01","avgLatency":376,"stdDevLatency":267},{"date":"2026-09-02","avgLatency":154,"stdDevLatency":77},{"date":"2026-09-03","avgLatency":76,"stdDevLatency":52},{"date":"2026-09-04","avgLatency":135,"stdDevLatency":63},{"date":"2026-09-05","avgLatency":85,"stdDevLatency":50},{"date":"2026-09-06","avgLatency":39,"stdDevLatency":48},{"date":"2026-09-07","avgLatency":341,"stdDevLatency":313},{"date":"2026-09-08","avgLatency":135,"stdDevLatency":87},{"date":"2026-09-09","avgLatency":119,"stdDevLatency":69},{"date":"2026-09-10","avgLatency":147,"stdDevLatency":106},{"date":"2026-09-11","avgLatency":135,"stdDevLatency":282}],"avgLatency":1010,"maxLatency":23067,"minLatency":18}
4,"/docs/speech/speech-to-text/chinese/base":{"throughput":[{"date":"2026-08-13","count":288},{"date":"2026-08-14","count":288},{"date":"2026-08-15","count":288},{"date":"2026-08-16","count":288},{"date":"2026-08-17","count":288},{"date":"2026-08-18","count":288},{"date":"2026-08-19","count":288},{"date":"2026-08-20","count":288},{"date":"2026-08-21","count":288},{"date":"2026-08-22","count":288},{"date":"2026-08-23","count":288},{"date":"2026-08-24","count":288},{"date":"2026-08-25","count":288},{"date":"2026-08-26","count":288},{"date":"2026-08-27","count":288},{"date":"2026-08-28","count":288},{"date":"2026-08-29","count":288},{"date":"2026-08-30","count":288},{"date":"2026-08-31","count":288},{"date":"2026-09-01","count":288},{"date":"2026-09-02","count":288},{"date":"2026-09-03","count":288},{"date":"2026-09-04","count":287},{"date":"2026-09-05","count":288},{"date":"2026-09-06","count":288},{"date":"2026-09-07","count":289},{"date":"2026-09-08","count":403},{"date":"2026-09-09","count":490},{"date":"2026-09-10","count":288},{"date":"2026-09-11","count":288}],"latency":[],"avgLatency":-1,"maxLatency":-1,"minLatency":0},"/docs/speech/speech-to-text/english/base":{"throughput":[{"date":"2026-08-13","count":288},{"date":"2026-08-14","count":288},{"date":"2026-08-15","count":288},{"date":"2026-08-16","count":288},{"date":"2026-08-17","count":288},{"date":"2026-08-18","count":288},{"date":"2026-08-19","count":288},{"date":"2026-08-20","count":288},{"date":"2026-08-21","count":288},{"date":"2026-08-22","count":288},{"date":"2026-08-23","count":288},{"date":"2026-08-24","count":288},{"date":"2026-08-25","count":288},{"date":"2026-08-26","count":288},{"date":"2026-08-27","count":288},{"date":"2026-08-28","count":288},{"date":"2026-08-29","count":288},{"date":"2026-08-30","count":288},{"date":"2026-08-31","count":288},{"date":"2026-09-01","count":288},{"date":"2026-09-02","count":288},{"date":"2026-09-03","count":288},{"date":"2026-09-04","count":287},{"date":"2026-09-05","count":288},{"date":"2026-09-06","count":288},{"date":"2026-09-07","count":289},{"date":"2026-09-08","count":403},{"date":"2026-09-09","count":490},{"date":"2026-09-10","count":288},{"date":"2026-09-11","count":288}],"latency":[],"avgLatency":-1,"maxLatency":-1,"minLatency":0},"/docs/llm/deepseek-v4":{"throughput":[{"date":"2026-08-13","count":293},{"date":"2026-08-14","count":288},{"date":"2026-08-15","count":288},{"date":"2026-08-16","count":288},{"date":"2026-08-17","count":289},{"date":"2026-08-18","count":288},{"date":"2026-08-19","count":288},{"date":"2026-08-20","count":289},{"date":"2026-08-21","count":290},{"date":"2026-08-22","count":289},{"date":"2026-08-23","count":288},{"date":"2026-08-24","count":288},{"date":"2026-08-25","count":288},{"date":"2026-08-26","count":289},{"date":"2026-08-27","count":290},{"date":"2026-08-28","count":288},{"date":"2026-08-29","count":288},{"date":"2026-08-30","count":288},{"date":"2026-08-31","count":288},{"date":"2026-09-01","count":288},{"date":"2026-09-02","count":290},{"date":"2026-09-03","count":288},{"date":"2026-09-04","count":289},{"date":"2026-09-05","count":288},{"date":"2026-09-06","count":288},{"date":"2026-09-07","count":294},{"date":"2026-09-08","count":403},{"date":"2026-09-09","count":491},{"date":"2026-09-10","count":288},{"date":"2026-09-11","count":289}],"latency":[{"date":"2026-08-13","avgLatency":1,"stdDevLatency":18}],"avgLatency":-1,"maxLatency":153,"minLatency":0},"/docs/ocr/bank-statement":{"throughput":[{"date":"2026-08-13","count":288},{"date":"2026-08-14","count":288},{"date":"2026-08-15","count":288},{"date":"2026-08-16","count":288},{"date":"2026-08-17","count":288},{"date":"2026-08-18","count":288},{"date":"2026-08-19","count":288},{"date":"2026-08-20","count":288},{"date":"2026-08-21","count":288},{"date":"2026-08-22","count":288},{"date":"2026-08-23","count":292},{"date":"2026-08-24","count":288},{"date":"2026-08-25","count":288},{"date":"2026-08-26","count":288},{"date":"2026-08-27","count":287},{"date":"2026-08-28","count":288},{"date":"2026-08-29","count":288},{"date":"2026-08-30","count":288},{"date":"2026-08-31","count":288},{"date":"2026-09-01","count":288},{"date":"2026-09-02","count":289},{"date":"2026-09-03","count":288},{"date":"2026-09-04","count":287},{"date":"2026-09-05","count":288},{"date":"2026-09-06","count":288},{"date":"2026-09-07","count":289},{"date":"2026-09-08","count":412},{"date":"2026-09-09","count":492},{"date":"2026-09-10","count":288},{"date":"2026-09-11","count":288}],"latency":[{"date":"2026-08-23","avgLatency":207,"stdDevLatency":2507},{"date":"2026-09-08","avgLatency":1968,"stdDevLatency":14928}],"avgLatency":95,"maxLatency":179842,"minLatency":0},"/docs/ocr/electricity-bill":{"throughput":[{"date":"2026-08-13","count":288},{"date":"2026-08-14","count":288},{"date":"2026-08-15","count":288},{"date":"2026-08-16","count":288},{"date":"2026-08-17","count":288},{"date":"2026-08-18","count":288},{"date":"2026-08-19","count":288},{"date":"2026-08-20","count":288},{"date":"2026-08-21","count":288},{"date":"2026-08-22","count":288},{"date":"2026-08-23","count":289},{"date":"2026-08-24","count":288},{"date":"2026-08-25","count":288},{"date":"2026-08-26","count":288},{"date":"2026-08-27","count":287},{"date":"2026-08-28","count":288},{"date":"2026-08-29","count":288},{"date":"2026-08-30","count":289},{"date":"2026-08-31","count":288},{"date":"2026-09-01","count":288},{"date":"2026-09-02","count":288},{"date":"2026-09-03","count":288},{"date":"2026-09-04","count":287},{"date":"2026-09-05","count":292},{"date":"2026-09-06","count":288},{"date":"2026-09-07","count":289},{"date":"2026-09-08","count":407},{"date":"2026-09-09","count":491},{"date":"2026-09-10","count":288},{"date":"2026-09-11","count":289}],"latency":[{"date":"2026-09-05","avgLatency":182,"stdDevLatency":2201},{"date":"2026-09-08","avgLatency":147,"stdDevLatency":2109}],"avgLatency":12,"maxLatency":32547,"minLatency":0},"/docs/ocr/water-bill":{"throughput":[{"date":"2026-08-13","count":288},{"date":"2026-08-14","count":288},{"date":"2026-08-15","count":288},{"date":"2026-08-16","count":288},{"date":"2026-08-17","count":288},{"date":"2026-08-18","count":288},{"date":"2026-08-19","count":288},{"date":"2026-08-20","count":288},{"date":"2026-08-21","count":288},{"date":"2026-08-22","count":288},{"date":"2026-08-23","count":291},{"date":"2026-08-24","count":288},{"date":"2026-08-25","count":288},{"date":"2026-08-26","count":288},{"date":"2026-08-27","count":287},{"date":"2026-08-28","count":288},{"date":"2026-08-29","count":288},{"date":"2026-08-30","count":288},{"date":"2026-08-31","count":288},{"date":"2026-09-01","count":289},{"date":"2026-09-02","count":288},{"date":"2026-09-03","count":289},{"date":"2026-09-04","count":287},{"date":"2026-09-05","count":292},{"date":"2026-09-06","count":288},{"date":"2026-09-07","count":289},{"date":"2026-09-08","count":403},{"date":"2026-09-09","count":491},{"date":"2026-09-10","count":288},{"date":"2026-09-11","count":288}],"latency":[{"date":"2026-08-23","avgLatency":29,"stdDevLatency":512},{"date":"2026-09-05","avgLatency":53,"stdDevLatency":652}],"avgLatency":2,"maxLatency":8748,"minLatency":0},"/docs/ocr/vehicle-registration":{"throughput":[{"date":"2026-08-13","count":288},{"date":"2026-08-14","count":288},{"date":"2026-08-15","count":288},{"date":"2026-08-16","count":288},{"date":"2026-08-17","count":288},{"date":"2026-08-18","count":288},{"date":"2026-08-19","count":289},{"date":"2026-08-20","count":288},{"date":"2026-08-21","count":288},{"date":"2026-08-22","count":290},{"date":"2026-08-23","count":303},{"date":"2026-08-24","count":289},{"date":"2026-08-25","count":288},{"date":"2026-08-26","count":288},{"date":"2026-08-27","count":287},{"date":"2026-08-28","count":288},{"date":"2026-08-29","count":288},{"date":"2026-08-30","count":288},{"date":"2026-08-31","count":288},{"date":"2026-09-01","count":288},{"date":"2026-09-02","count":289},{"date":"2026-09-03","count":288},{"date":"2026-09-04","count":287},{"date":"2026-09-05","count":288},{"date":"2026-09-06","count":288},{"date":"2026-09-07","count":289},{"date":"2026-09-08","count":403},{"date":"2026-09-09","count":491},{"date":"2026-09-10","count":288},{"date":"2026-09-11","count":288}],"latency":[{"date":"2026-08-22","avgLatency":43,"stdDevLatency":744},{"date":"2026-08-23","avgLatency":702,"stdDevLatency":3781},{"date":"2026-08-24","avgLatency":123,"stdDevLatency":2097}],"avgLatency":28,"maxLatency":35703,"minLatency":0},"/docs/ocr/ncb-credit-report":{"throughput":[{"date":"2026-08-13","count":288},{"date":"2026-08-14","count":288},{"date":"2026-08-15","count":288},{"date":"2026-08-16","count":288},{"date":"2026-08-17","count":288},{"date":"2026-08-18","count":288},{"date":"2026-08-19","count":288},{"date":"2026-08-20","count":288},{"date":"2026-08-21","count":288},{"date":"2026-08-22","count":288},{"date":"2026-08-23","count":288},{"date":"2026-08-24","count":288},{"date":"2026-08-25","count":288},{"date":"2026-08-26","count":288},{"date":"2026-08-27","count":287},{"date":"2026-08-28","count":288},{"date":"2026-08-29","count":288},{"date":"2026-08-30","count":288},{"date":"2026-08-31","count":288},{"date":"2026-09-01","count":288},{"date":"2026-09-02","count":289},{"date":"2026-09-03","count":288},{"date":"2026-09-04","count":287},{"date":"2026-09-05","count":290},{"date":"2026-09-06","count":288},{"date":"2026-09-07","count":289},{"date":"2026-09-08","count":403},{"date":"2026-09-09","count":491},{"date":"2026-09-10","count":288},{"date":"2026-09-11","count":288}],"latency":[{"date":"2026-09-05","avgLatency":29,"stdDevLatency":512}],"avgLatency":0,"maxLatency":8740,"minLatency":0},"/docs/ocr/company-certificate":{"throughput":[{"date":"2026-08-13","count":288},{"date":"2026-08-14","count":288},{"date":"2026-08-15","count":288},{"date":"2026-08-16","count":288},{"date":"2026-08-17","count":288},{"date":"2026-08-18","count":288},{"date":"2026-08-19","count":288},{"date":"2026-08-20","count":288},{"date":"2026-08-21","count":288},{"date":"2026-08-22","count":288},{"date":"2026-08-23","count":288},{"date":"2026-08-24","count":288},{"date":"2026-08-25","count":288},{"date":"2026-08-26","count":288},{"date":"2026-08-27","count":287},{"date":"2026-08-28","count":288},{"date":"2026-08-29","count":288},{"date":"2026-08-30","count":288},{"date":"2026-08-31","count":288},{"date":"2026-09-01","count":288},{"date":"2026-09-02","count":288},{"date":"2026-09-03","count":289},{"date":"2026-09-04","count":287},{"date":"2026-09-05","count":288},{"date":"2026-09-06","count":288},{"date":"2026-09-07","count":289},{"date":"2026-09-08","count":403},{"date":"2026-09-09","count":491},{"date":"2026-09-10","count":288},{"date":"2026-09-11","count":289}],"latency":[],"avgLatency":-1,"maxLatency":15,"minLatency":0}
4,"/docs/speech/speech-to-text/english/pro":{"throughput":[{"date":"2026-08-13","count":288},{"date":"2026-08-14","count":288},{"date":"2026-08-15","count":288},{"date":"2026-08-16","count":288},{"date":"2026-08-17","count":288},{"date":"2026-08-18","count":288},{"date":"2026-08-19","count":288},{"date":"2026-08-20","count":288},{"date":"2026-08-21","count":288},{"date":"2026-08-22","count":288},{"date":"2026-08-23","count":288},{"date":"2026-08-24","count":288},{"date":"2026-08-25","count":288},{"date":"2026-08-26","count":288},{"date":"2026-08-27","count":288},{"date":"2026-08-28","count":288},{"date":"2026-08-29","count":288},{"date":"2026-08-30","count":288},{"date":"2026-08-31","count":288},{"date":"2026-09-01","count":288},{"date":"2026-09-02","count":288},{"date":"2026-09-03","count":288},{"date":"2026-09-04","count":287},{"date":"2026-09-05","count":288},{"date":"2026-09-06","count":288},{"date":"2026-09-07","count":289},{"date":"2026-09-08","count":403},{"date":"2026-09-09","count":490},{"date":"2026-09-10","count":288},{"date":"2026-09-11","count":288}],"latency":[],"avgLatency":-1,"maxLatency":-1,"minLatency":0},"/docs/speech/speech-to-text/pro":{"throughput":[{"date":"2026-08-13","count":288},{"date":"2026-08-14","count":288},{"date":"2026-08-15","count":288},{"date":"2026-08-16","count":288},{"date":"2026-08-17","count":288},{"date":"2026-08-18","count":288},{"date":"2026-08-19","count":288},{"date":"2026-08-20","count":288},{"date":"2026-08-21","count":288},{"date":"2026-08-22","count":288},{"date":"2026-08-23","count":288},{"date":"2026-08-24","count":288},{"date":"2026-08-25","count":288},{"date":"2026-08-26","count":288},{"date":"2026-08-27","count":288},{"date":"2026-08-28","count":288},{"date":"2026-08-29","count":288},{"date":"2026-08-30","count":288},{"date":"2026-08-31","count":288},{"date":"2026-09-01","count":288},{"date":"2026-09-02","count":288},{"date":"2026-09-03","count":288},{"date":"2026-09-04","count":287},{"date":"2026-09-05","count":288},{"date":"2026-09-06","count":288},{"date":"2026-09-07","count":289},{"date":"2026-09-08","count":403},{"date":"2026-09-09","count":490},{"date":"2026-09-10","count":288},{"date":"2026-09-11","count":288}],"latency":[],"avgLatency":-1,"maxLatency":-1,"minLatency":0},"/docs/speech/speech-to-text/chinese/pro":{"throughput":[{"date":"2026-08-13","count":288},{"date":"2026-08-14","count":288},{"date":"2026-08-15","count":288},{"date":"2026-08-16","count":288},{"date":"2026-08-17","count":288},{"date":"2026-08-18","count":288},{"date":"2026-08-19","count":288},{"date":"2026-08-20","count":288},{"date":"2026-08-21","count":288},{"date":"2026-08-22","count":288},{"date":"2026-08-23","count":288},{"date":"2026-08-24","count":288},{"date":"2026-08-25","count":288},{"date":"2026-08-26","count":288},{"date":"2026-08-27","count":288},{"date":"2026-08-28","count":288},{"date":"2026-08-29","count":288},{"date":"2026-08-30","count":288},{"date":"2026-08-31","count":288},{"date":"2026-09-01","count":288},{"date":"2026-09-02","count":288},{"date":"2026-09-03","count":288},{"date":"2026-09-04","count":287},{"date":"2026-09-05","count":288},{"date":"2026-09-06","count":288},{"date":"2026-09-07","count":289},{"date":"2026-09-08","count":403},{"date":"2026-09-09","count":490},{"date":"2026-09-10","count":288},{"date":"2026-09-11","count":288}],"latency":[],"avgLatency":-1,"maxLatency":-1,"minLatency":0}},"overallThroughput":[{"date":"2026-08-13","count":90288},{"date":"2026-08-14","count":86955},{"date":"2026-08-15","count":88253},{"date":"2026-08-16","count":85020},{"date":"2026-08-17","count":82975},{"date":"2026-08-18","count":84083},{"date":"2026-08-19","count":83946},{"date":"2026-08-20","count":84186},{"date":"2026-08-21","count":86246},{"date":"2026-08-22","count":91772},{"date":"2026-08-23","count":82601},{"date":"2026-08-24","count":82613},{"date":"2026-08-25","count":84072},{"date":"2026-08-26","count":85475},{"date":"2026-08-27","count":84209},{"date":"2026-08-28","count":85197},{"date":"2026-08-29","count":88189},{"date":"2026-08-30","count":82458},{"date":"2026-08-31","count":80316},{"date":"2026-09-01","count":83423},{"date":"2026-09-02","count":67544},{"date":"2026-09-03","count":66101},{"date":"2026-09-04","count":91446},{"date":"2026-09-05","count":90181},{"date":"2026-09-06","count":86163},{"date":"2026-09-07","count":86574},{"date":"2026-09-08","count":84578},{"date":"2026-09-09","count":91933},{"date":"2026-09-10","count":84919},{"date":"2026-09-11","count":86174}]}')}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.