[{"data":1,"prerenderedAt":1137},["ShallowReactive",2],{"navigation_docs":3,"-docs-images":114,"-docs-images-surround":1132},[4,8,12,16,20,24,28,32,36,40,44,82,86,90,94,98,102,106,110],{"title":5,"path":6,"stem":7},"Overview","\u002Fdocs","docs\u002Findex",{"title":9,"path":10,"stem":11},"Quickstart","\u002Fdocs\u002Fquickstart","docs\u002F01.quickstart",{"title":13,"path":14,"stem":15},"Authentication and keys","\u002Fdocs\u002Fauthentication","docs\u002F02.authentication",{"title":17,"path":18,"stem":19},"Images","\u002Fdocs\u002Fimages","docs\u002F03.images",{"title":21,"path":22,"stem":23},"Texts","\u002Fdocs\u002Ftexts","docs\u002F04.texts",{"title":25,"path":26,"stem":27},"Migrating from SightEngine","\u002Fdocs\u002Fmigrating-from-sightengine","docs\u002F05.migrating-from-sightengine",{"title":29,"path":30,"stem":31},"Workflows","\u002Fdocs\u002Fworkflows","docs\u002F06.workflows",{"title":33,"path":34,"stem":35},"Responses and errors","\u002Fdocs\u002Fresponses-and-errors","docs\u002F07.responses-and-errors",{"title":37,"path":38,"stem":39},"Limits and quotas","\u002Fdocs\u002Flimits-and-quotas","docs\u002F08.limits-and-quotas",{"title":41,"path":42,"stem":43},"The journal and ref","\u002Fdocs\u002Fjournal-and-ref","docs\u002F09.journal-and-ref",{"title":45,"path":46,"stem":47,"children":48,"page":81},"Integration guides","\u002Fdocs\u002Fintegration-guides","docs\u002F10.integration-guides",[49,53,57,61,65,69,73,77],{"title":50,"path":51,"stem":52},"Node.js and TypeScript","\u002Fdocs\u002Fintegration-guides\u002Fnodejs","docs\u002F10.integration-guides\u002F1.nodejs",{"title":54,"path":55,"stem":56},"Python","\u002Fdocs\u002Fintegration-guides\u002Fpython","docs\u002F10.integration-guides\u002F2.python",{"title":58,"path":59,"stem":60},"PHP","\u002Fdocs\u002Fintegration-guides\u002Fphp","docs\u002F10.integration-guides\u002F3.php",{"title":62,"path":63,"stem":64},"Go","\u002Fdocs\u002Fintegration-guides\u002Fgo","docs\u002F10.integration-guides\u002F4.go",{"title":66,"path":67,"stem":68},"Supabase Edge Functions","\u002Fdocs\u002Fintegration-guides\u002Fsupabase-edge-functions","docs\u002F10.integration-guides\u002F5.supabase-edge-functions",{"title":70,"path":71,"stem":72},"Cloudflare Workers","\u002Fdocs\u002Fintegration-guides\u002Fcloudflare-workers","docs\u002F10.integration-guides\u002F6.cloudflare-workers",{"title":74,"path":75,"stem":76},"Nuxt and Next","\u002Fdocs\u002Fintegration-guides\u002Fnuxt-and-next","docs\u002F10.integration-guides\u002F7.nuxt-and-next",{"title":78,"path":79,"stem":80},"Moderate an AI agent","\u002Fdocs\u002Fintegration-guides\u002Fmoderate-ai-agents","docs\u002F10.integration-guides\u002F8.moderate-ai-agents",false,{"title":83,"path":84,"stem":85},"AI coding agents","\u002Fdocs\u002Fai-agents","docs\u002F11.ai-agents",{"title":87,"path":88,"stem":89},"Best practices","\u002Fdocs\u002Fbest-practices","docs\u002F12.best-practices",{"title":91,"path":92,"stem":93},"Privacy and data","\u002Fdocs\u002Fprivacy-and-data","docs\u002F13.privacy-and-data",{"title":95,"path":96,"stem":97},"API reference","\u002Fdocs\u002Fapi-reference","docs\u002F14.api-reference",{"title":99,"path":100,"stem":101},"Fraud prevention","\u002Fdocs\u002Ffraud-prevention","docs\u002F16.fraud-prevention",{"title":103,"path":104,"stem":105},"Device token and challenges","\u002Fdocs\u002Fdevice-and-challenges","docs\u002F17.device-and-challenges",{"title":107,"path":108,"stem":109},"MCP server","\u002Fdocs\u002Fmcp-server","docs\u002F18.mcp-server",{"title":111,"path":112,"stem":113},"Changelog","\u002Fdocs\u002Fchangelog","docs\u002F99.changelog",{"id":115,"title":17,"body":116,"description":1124,"extension":1125,"links":1126,"meta":1127,"navigation":325,"path":18,"seo":1128,"stem":19,"__hash__":1131},"docs\u002Fdocs\u002F03.images.md",{"type":117,"value":118,"toc":1117},"minimark",[119,127,132,215,218,507,511,514,548,570,574,583,587,594,972,976,1103,1109,1113],[120,121,122,126],"p",{},[123,124,125],"code",{},"POST \u002Fv1\u002Fimage"," checks one image and answers with the decision. One image is one check, whatever the number of categories it is checked against.",[128,129,131],"h2",{"id":130},"request","Request",[133,134,135,151],"table",{},[136,137,138],"thead",{},[139,140,141,145,148],"tr",{},[142,143,144],"th",{},"Part",[142,146,147],{},"Where",[142,149,150],{},"Description",[152,153,154,166,187,203],"tbody",{},[139,155,156,160,163],{},[157,158,159],"td",{},"The image",[157,161,162],{},"Body",[157,164,165],{},"The raw bytes. JPEG, PNG, WebP or GIF (the first frame). The API recognises the format from the bytes.",[139,167,168,173,176],{},[157,169,170],{},[123,171,172],{},"workflow",[157,174,175],{},"Query",[157,177,178,179,182,183,186],{},"The ",[180,181,172],"a",{"href":30}," to check against. ",[123,184,185],{},"default"," when absent.",[139,188,189,194,196],{},[157,190,191],{},[123,192,193],{},"ref",[157,195,175],{},[157,197,198,199,202],{},"Your own id for the image, 1 to 128 characters, no control character. It is echoed in the answer and kept in the ",[180,200,201],{"href":42},"journal",".",[139,204,205,210,212],{},[157,206,207],{},[123,208,209],{},"url",[157,211,175],{},[157,213,214],{},"The address of the image, instead of a body. See below.",[120,216,217],{},"Limits: at most 15 MB, 50 megapixels (12 until your first top-up) and 16,384 pixels on a side.",[219,220,221,287],"code-group",{},[222,223,229],"pre",{"className":224,"code":225,"filename":226,"language":227,"meta":228,"style":228},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","curl -X POST \"https:\u002F\u002Fapi.openshield.dev\u002Fv1\u002Fimage?workflow=default&ref=avatar_4821\" \\\n  -H \"Authorization: Bearer $OPENSHIELD_API_KEY\" \\\n  --data-binary @photo.jpg\n","curl","bash","",[123,230,231,260,278],{"__ignoreMap":228},[232,233,236,239,243,246,250,253,256],"span",{"class":234,"line":235},"line",1,[232,237,226],{"class":238},"sBMFI",[232,240,242],{"class":241},"sfazB"," -X",[232,244,245],{"class":241}," POST",[232,247,249],{"class":248},"sMK4o"," \"",[232,251,252],{"class":241},"https:\u002F\u002Fapi.openshield.dev\u002Fv1\u002Fimage?workflow=default&ref=avatar_4821",[232,254,255],{"class":248},"\"",[232,257,259],{"class":258},"sTEyZ"," \\\n",[232,261,263,266,268,271,274,276],{"class":234,"line":262},2,[232,264,265],{"class":241},"  -H",[232,267,249],{"class":248},[232,269,270],{"class":241},"Authorization: Bearer ",[232,272,273],{"class":258},"$OPENSHIELD_API_KEY",[232,275,255],{"class":248},[232,277,259],{"class":258},[232,279,281,284],{"class":234,"line":280},3,[232,282,283],{"class":241},"  --data-binary",[232,285,286],{"class":241}," @photo.jpg\n",[222,288,293],{"className":289,"code":290,"filename":291,"language":292,"meta":228,"style":228},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import { readFile } from \"node:fs\u002Fpromises\"\n\nconst response = await fetch(\"https:\u002F\u002Fapi.openshield.dev\u002Fv1\u002Fimage?ref=avatar_4821\", {\n  method: \"POST\",\n  headers: { Authorization: `Bearer ${process.env.OPENSHIELD_API_KEY}` },\n  body: await readFile(\"photo.jpg\"),\n})\nconst answer = await response.json()\nconsole.log(answer.summary.action)\n","TypeScript","ts",[123,294,295,321,327,362,382,425,451,460,483],{"__ignoreMap":228},[232,296,297,301,304,307,310,313,315,318],{"class":234,"line":235},[232,298,300],{"class":299},"s7zQu","import",[232,302,303],{"class":248}," {",[232,305,306],{"class":258}," readFile",[232,308,309],{"class":248}," }",[232,311,312],{"class":299}," from",[232,314,249],{"class":248},[232,316,317],{"class":241},"node:fs\u002Fpromises",[232,319,320],{"class":248},"\"\n",[232,322,323],{"class":234,"line":262},[232,324,326],{"emptyLinePlaceholder":325},true,"\n",[232,328,329,333,336,339,342,346,349,351,354,356,359],{"class":234,"line":280},[232,330,332],{"class":331},"spNyl","const",[232,334,335],{"class":258}," response ",[232,337,338],{"class":248},"=",[232,340,341],{"class":299}," await",[232,343,345],{"class":344},"s2Zo4"," fetch",[232,347,348],{"class":258},"(",[232,350,255],{"class":248},[232,352,353],{"class":241},"https:\u002F\u002Fapi.openshield.dev\u002Fv1\u002Fimage?ref=avatar_4821",[232,355,255],{"class":248},[232,357,358],{"class":248},",",[232,360,361],{"class":248}," {\n",[232,363,365,369,372,374,377,379],{"class":234,"line":364},4,[232,366,368],{"class":367},"swJcz","  method",[232,370,371],{"class":248},":",[232,373,249],{"class":248},[232,375,376],{"class":241},"POST",[232,378,255],{"class":248},[232,380,381],{"class":248},",\n",[232,383,385,388,390,392,395,397,400,403,406,409,411,414,416,419,422],{"class":234,"line":384},5,[232,386,387],{"class":367},"  headers",[232,389,371],{"class":248},[232,391,303],{"class":248},[232,393,394],{"class":367}," Authorization",[232,396,371],{"class":248},[232,398,399],{"class":248}," `",[232,401,402],{"class":241},"Bearer ",[232,404,405],{"class":248},"${",[232,407,408],{"class":258},"process",[232,410,202],{"class":248},[232,412,413],{"class":258},"env",[232,415,202],{"class":248},[232,417,418],{"class":258},"OPENSHIELD_API_KEY",[232,420,421],{"class":248},"}`",[232,423,424],{"class":248}," },\n",[232,426,428,431,433,435,437,439,441,444,446,449],{"class":234,"line":427},6,[232,429,430],{"class":367},"  body",[232,432,371],{"class":248},[232,434,341],{"class":299},[232,436,306],{"class":344},[232,438,348],{"class":258},[232,440,255],{"class":248},[232,442,443],{"class":241},"photo.jpg",[232,445,255],{"class":248},[232,447,448],{"class":258},")",[232,450,381],{"class":248},[232,452,454,457],{"class":234,"line":453},7,[232,455,456],{"class":248},"}",[232,458,459],{"class":258},")\n",[232,461,463,465,468,470,472,475,477,480],{"class":234,"line":462},8,[232,464,332],{"class":331},[232,466,467],{"class":258}," answer ",[232,469,338],{"class":248},[232,471,341],{"class":299},[232,473,474],{"class":258}," response",[232,476,202],{"class":248},[232,478,479],{"class":344},"json",[232,481,482],{"class":258},"()\n",[232,484,486,489,491,494,497,499,502,504],{"class":234,"line":485},9,[232,487,488],{"class":258},"console",[232,490,202],{"class":248},[232,492,493],{"class":344},"log",[232,495,496],{"class":258},"(answer",[232,498,202],{"class":248},[232,500,501],{"class":258},"summary",[232,503,202],{"class":248},[232,505,506],{"class":258},"action)\n",[128,508,510],{"id":509},"checking-a-public-url","Checking a public URL",[120,512,513],{},"Instead of sending the bytes, pass the address of the image and an empty body. The service downloads it from the public internet:",[222,515,517],{"className":224,"code":516,"language":227,"meta":228,"style":228},"curl -X POST \"https:\u002F\u002Fapi.openshield.dev\u002Fv1\u002Fimage?url=https%3A%2F%2Fexample.com%2Fphoto.jpg\" \\\n  -H \"Authorization: Bearer $OPENSHIELD_API_KEY\"\n",[123,518,519,536],{"__ignoreMap":228},[232,520,521,523,525,527,529,532,534],{"class":234,"line":235},[232,522,226],{"class":238},[232,524,242],{"class":241},[232,526,245],{"class":241},[232,528,249],{"class":248},[232,530,531],{"class":241},"https:\u002F\u002Fapi.openshield.dev\u002Fv1\u002Fimage?url=https%3A%2F%2Fexample.com%2Fphoto.jpg",[232,533,255],{"class":248},[232,535,259],{"class":258},[232,537,538,540,542,544,546],{"class":234,"line":262},[232,539,265],{"class":241},[232,541,249],{"class":248},[232,543,270],{"class":241},[232,545,273],{"class":258},[232,547,320],{"class":248},[120,549,550,551,554,555,558,559,562,563,566,567,202],{},"The download is guarded: only ",[123,552,553],{},"http"," and ",[123,556,557],{},"https"," addresses of the public internet, at most 15 MB, 3 redirects and 10 seconds, and the answer must have ",[123,560,561],{},"Content-Type: image\u002F*",". A refused address gets ",[123,564,565],{},"400 url_refused",", with the reason in ",[123,568,569],{},"message",[128,571,573],{"id":572},"what-is-checked","What is checked",[120,575,576,577,579,580,582],{},"The categories of the workflow. The ",[123,578,185],{}," workflow checks nudity, gore, weapons, hate symbols and self-harm (rejected at 0.8, sent to review at 0.5), drugs and minors (sent to review at 0.5), and the text and QR codes found in the image: links to adult, unsafe or gambling sites, and extremist text. ",[180,581,29],{"href":30}," explains how to change that.",[128,584,586],{"id":585},"answer","Answer",[120,588,589,590,593],{},"The answer has the ",[180,591,592],{"href":34},"shape described here",". For an image rejected for nudity:",[222,595,598],{"className":596,"code":597,"language":479,"meta":228,"style":228},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  \"status\": \"success\",\n  \"workflow\": \"default\",\n  \"workflow_version\": 1,\n  \"summary\": {\n    \"action\": \"reject\",\n    \"reject_prob\": 0.97,\n    \"reject_reason\": [\n      {\n        \"id\": \"nudity\",\n        \"text\": \"Nudity\",\n        \"message\": \"This content contains nudity or sexual content.\",\n        \"score\": 0.97,\n        \"threshold\": 0.8\n      }\n    ],\n    \"review_reason\": []\n  },\n  \"scores\": { \"nudity\": 0.97, \"gore\": 0.01, \"weapon\": 0.02 },\n  \"time_ms\": 212,\n  \"request_id\": \"0192b7c4-5f3a-7c1e-9a52-3d8f1e6b0a47\",\n  \"ref\": \"avatar_4821\"\n}\n",[123,599,600,605,626,644,661,673,694,710,724,729,751,772,792,808,823,829,835,850,856,910,927,948,966],{"__ignoreMap":228},[232,601,602],{"class":234,"line":235},[232,603,604],{"class":248},"{\n",[232,606,607,610,613,615,617,619,622,624],{"class":234,"line":262},[232,608,609],{"class":248},"  \"",[232,611,612],{"class":331},"status",[232,614,255],{"class":248},[232,616,371],{"class":248},[232,618,249],{"class":248},[232,620,621],{"class":241},"success",[232,623,255],{"class":248},[232,625,381],{"class":248},[232,627,628,630,632,634,636,638,640,642],{"class":234,"line":280},[232,629,609],{"class":248},[232,631,172],{"class":331},[232,633,255],{"class":248},[232,635,371],{"class":248},[232,637,249],{"class":248},[232,639,185],{"class":241},[232,641,255],{"class":248},[232,643,381],{"class":248},[232,645,646,648,651,653,655,659],{"class":234,"line":364},[232,647,609],{"class":248},[232,649,650],{"class":331},"workflow_version",[232,652,255],{"class":248},[232,654,371],{"class":248},[232,656,658],{"class":657},"sbssI"," 1",[232,660,381],{"class":248},[232,662,663,665,667,669,671],{"class":234,"line":384},[232,664,609],{"class":248},[232,666,501],{"class":331},[232,668,255],{"class":248},[232,670,371],{"class":248},[232,672,361],{"class":248},[232,674,675,678,681,683,685,687,690,692],{"class":234,"line":427},[232,676,677],{"class":248},"    \"",[232,679,680],{"class":238},"action",[232,682,255],{"class":248},[232,684,371],{"class":248},[232,686,249],{"class":248},[232,688,689],{"class":241},"reject",[232,691,255],{"class":248},[232,693,381],{"class":248},[232,695,696,698,701,703,705,708],{"class":234,"line":453},[232,697,677],{"class":248},[232,699,700],{"class":238},"reject_prob",[232,702,255],{"class":248},[232,704,371],{"class":248},[232,706,707],{"class":657}," 0.97",[232,709,381],{"class":248},[232,711,712,714,717,719,721],{"class":234,"line":462},[232,713,677],{"class":248},[232,715,716],{"class":238},"reject_reason",[232,718,255],{"class":248},[232,720,371],{"class":248},[232,722,723],{"class":248}," [\n",[232,725,726],{"class":234,"line":485},[232,727,728],{"class":248},"      {\n",[232,730,732,735,738,740,742,744,747,749],{"class":234,"line":731},10,[232,733,734],{"class":248},"        \"",[232,736,737],{"class":657},"id",[232,739,255],{"class":248},[232,741,371],{"class":248},[232,743,249],{"class":248},[232,745,746],{"class":241},"nudity",[232,748,255],{"class":248},[232,750,381],{"class":248},[232,752,754,756,759,761,763,765,768,770],{"class":234,"line":753},11,[232,755,734],{"class":248},[232,757,758],{"class":657},"text",[232,760,255],{"class":248},[232,762,371],{"class":248},[232,764,249],{"class":248},[232,766,767],{"class":241},"Nudity",[232,769,255],{"class":248},[232,771,381],{"class":248},[232,773,775,777,779,781,783,785,788,790],{"class":234,"line":774},12,[232,776,734],{"class":248},[232,778,569],{"class":657},[232,780,255],{"class":248},[232,782,371],{"class":248},[232,784,249],{"class":248},[232,786,787],{"class":241},"This content contains nudity or sexual content.",[232,789,255],{"class":248},[232,791,381],{"class":248},[232,793,795,797,800,802,804,806],{"class":234,"line":794},13,[232,796,734],{"class":248},[232,798,799],{"class":657},"score",[232,801,255],{"class":248},[232,803,371],{"class":248},[232,805,707],{"class":657},[232,807,381],{"class":248},[232,809,811,813,816,818,820],{"class":234,"line":810},14,[232,812,734],{"class":248},[232,814,815],{"class":657},"threshold",[232,817,255],{"class":248},[232,819,371],{"class":248},[232,821,822],{"class":657}," 0.8\n",[232,824,826],{"class":234,"line":825},15,[232,827,828],{"class":248},"      }\n",[232,830,832],{"class":234,"line":831},16,[232,833,834],{"class":248},"    ],\n",[232,836,838,840,843,845,847],{"class":234,"line":837},17,[232,839,677],{"class":248},[232,841,842],{"class":238},"review_reason",[232,844,255],{"class":248},[232,846,371],{"class":248},[232,848,849],{"class":248}," []\n",[232,851,853],{"class":234,"line":852},18,[232,854,855],{"class":248},"  },\n",[232,857,859,861,864,866,868,870,872,874,876,878,880,882,884,887,889,891,894,896,898,901,903,905,908],{"class":234,"line":858},19,[232,860,609],{"class":248},[232,862,863],{"class":331},"scores",[232,865,255],{"class":248},[232,867,371],{"class":248},[232,869,303],{"class":248},[232,871,249],{"class":248},[232,873,746],{"class":238},[232,875,255],{"class":248},[232,877,371],{"class":248},[232,879,707],{"class":657},[232,881,358],{"class":248},[232,883,249],{"class":248},[232,885,886],{"class":238},"gore",[232,888,255],{"class":248},[232,890,371],{"class":248},[232,892,893],{"class":657}," 0.01",[232,895,358],{"class":248},[232,897,249],{"class":248},[232,899,900],{"class":238},"weapon",[232,902,255],{"class":248},[232,904,371],{"class":248},[232,906,907],{"class":657}," 0.02",[232,909,424],{"class":248},[232,911,913,915,918,920,922,925],{"class":234,"line":912},20,[232,914,609],{"class":248},[232,916,917],{"class":331},"time_ms",[232,919,255],{"class":248},[232,921,371],{"class":248},[232,923,924],{"class":657}," 212",[232,926,381],{"class":248},[232,928,930,932,935,937,939,941,944,946],{"class":234,"line":929},21,[232,931,609],{"class":248},[232,933,934],{"class":331},"request_id",[232,936,255],{"class":248},[232,938,371],{"class":248},[232,940,249],{"class":248},[232,942,943],{"class":241},"0192b7c4-5f3a-7c1e-9a52-3d8f1e6b0a47",[232,945,255],{"class":248},[232,947,381],{"class":248},[232,949,951,953,955,957,959,961,964],{"class":234,"line":950},22,[232,952,609],{"class":248},[232,954,193],{"class":331},[232,956,255],{"class":248},[232,958,371],{"class":248},[232,960,249],{"class":248},[232,962,963],{"class":241},"avatar_4821",[232,965,320],{"class":248},[232,967,969],{"class":234,"line":968},23,[232,970,971],{"class":248},"}\n",[128,973,975],{"id":974},"errors","Errors",[133,977,978,993],{},[136,979,980],{},[139,981,982,985,990],{},[142,983,984],{},"Status",[142,986,987],{},[123,988,989],{},"error.type",[142,991,992],{},"When",[152,994,995,1014,1026,1038,1052,1065,1077,1090],{},[139,996,997,1000,1005],{},[157,998,999],{},"400",[157,1001,1002],{},[123,1003,1004],{},"bad_request",[157,1006,1007,1008,1010,1011,1013],{},"The body is empty and there is no ",[123,1009,209],{},", or ",[123,1012,193],{}," is refused.",[139,1015,1016,1018,1023],{},[157,1017,999],{},[157,1019,1020],{},[123,1021,1022],{},"corrupt_media",[157,1024,1025],{},"The file does not decode.",[139,1027,1028,1030,1035],{},[157,1029,999],{},[157,1031,1032],{},[123,1033,1034],{},"unknown_workflow",[157,1036,1037],{},"There is no workflow of that name.",[139,1039,1040,1042,1047],{},[157,1041,999],{},[157,1043,1044],{},[123,1045,1046],{},"url_refused",[157,1048,178,1049,1051],{},[123,1050,209],{}," is not public, too large, too slow or not an image.",[139,1053,1054,1057,1062],{},[157,1055,1056],{},"413",[157,1058,1059],{},[123,1060,1061],{},"body_too_large",[157,1063,1064],{},"The body is over 15 MB.",[139,1066,1067,1069,1074],{},[157,1068,1056],{},[157,1070,1071],{},[123,1072,1073],{},"image_too_large",[157,1075,1076],{},"The image has more than 50 megapixels (12 until your first top-up), or a side over 16,384 pixels.",[139,1078,1079,1082,1087],{},[157,1080,1081],{},"415",[157,1083,1084],{},[123,1085,1086],{},"unsupported_media",[157,1088,1089],{},"The file is not JPEG, PNG, WebP or GIF.",[139,1091,1092,1095,1100],{},[157,1093,1094],{},"503",[157,1096,1097],{},[123,1098,1099],{},"workflow_unavailable",[157,1101,1102],{},"The workflow has no rule for images, or none this server can check.",[120,1104,1105,1106,202],{},"Authentication, rate limit and quota errors are in ",[180,1107,1108],{"href":34},"responses and errors",[1110,1111,1112],"tip",{},"Downscale large photos to about 1,280 pixels on the longer side before sending them: the upload is smaller and faster. Keep the full size of screenshots, where small text or a QR code matters.",[1114,1115,1116],"style",{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}",{"title":228,"searchDepth":262,"depth":262,"links":1118},[1119,1120,1121,1122,1123],{"id":130,"depth":262,"text":131},{"id":509,"depth":262,"text":510},{"id":572,"depth":262,"text":573},{"id":585,"depth":262,"text":586},{"id":974,"depth":262,"text":975},"Check an image with POST \u002Fv1\u002Fimage, sent as bytes or as a public URL.","md",null,{},{"title":1129,"description":1130},"Image moderation API: \u002Fv1\u002Fimage","Check an image with POST \u002Fv1\u002Fimage, as bytes or as a public URL. You get accept, review or reject, with the score and the threshold of each category.","OPchjETQkrWejxQgvquto3B60smYyuH3vhG4T8EEWBY",[1133,1135],{"title":13,"path":14,"stem":15,"description":1134,"children":-1},"How to call the API with a key, what a key may do and how to keep it safe.",{"title":21,"path":22,"stem":23,"description":1136,"children":-1},"Check a text with POST \u002Fv1\u002Ftext, for comments, messages, names and bios.",1792938461647]