[{"data":1,"prerenderedAt":1103},["ShallowReactive",2],{"navigation":3,"\u002Freference\u002Foptimize-api":80,"\u002Freference\u002Foptimize-api-surround":1098},[4,30,60,75],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":6},"Getting Started",false,"\u002Fgetting-started","1.getting-started",[10,15,20,25],{"title":11,"path":12,"stem":13,"icon":14},"Introduction","\u002Fgetting-started\u002Fintroduction","1.getting-started\u002F1.introduction","i-lucide-house",{"title":16,"path":17,"stem":18,"icon":19},"WordPress plugin","\u002Fgetting-started\u002Fwordpress-plugin","1.getting-started\u002F2.wordpress-plugin","i-lucide-download",{"title":21,"path":22,"stem":23,"icon":24},"API quickstart","\u002Fgetting-started\u002Fapi-quickstart","1.getting-started\u002F3.api-quickstart","i-lucide-terminal",{"title":26,"path":27,"stem":28,"icon":29},"FAQ","\u002Fgetting-started\u002Ffaq","1.getting-started\u002F4.faq","i-lucide-circle-help",{"title":31,"path":32,"stem":33,"children":34,"page":6},"Reference","\u002Freference","2.reference",[35,40,45,50,55],{"title":36,"path":37,"stem":38,"icon":39},"Optimize API","\u002Freference\u002Foptimize-api","2.reference\u002F1.optimize-api","i-lucide-image",{"title":41,"path":42,"stem":43,"icon":44},"Smart crop","\u002Freference\u002Fsmartcrop","2.reference\u002F2.smartcrop","i-lucide-crop",{"title":46,"path":47,"stem":48,"icon":49},"Job polling","\u002Freference\u002Fjobs","2.reference\u002F3.jobs","i-lucide-list-checks",{"title":51,"path":52,"stem":53,"icon":54},"Plans & limits","\u002Freference\u002Fplans-and-limits","2.reference\u002F4.plans-and-limits","i-lucide-credit-card",{"title":56,"path":57,"stem":58,"icon":59},"Account usage","\u002Freference\u002Faccount","2.reference\u002F5.account","i-lucide-gauge",{"title":61,"path":62,"stem":63,"children":64,"page":6},"AI","\u002Fai","3.ai",[65,70],{"title":66,"path":67,"stem":68,"icon":69},"AI alt text & SEO","\u002Fai\u002Falt-text-and-seo","3.ai\u002F1.alt-text-and-seo","i-lucide-sparkles",{"title":71,"path":72,"stem":73,"icon":74},"AI background removal","\u002Fai\u002Fbackground-removal","3.ai\u002F2.background-removal","i-lucide-scissors",{"title":76,"path":77,"stem":78,"icon":79},"Account API","\u002Faccount-api","4.account-api","i-lucide-key-round",{"id":81,"title":36,"body":82,"description":1091,"extension":1092,"links":1093,"meta":1094,"navigation":1095,"path":37,"seo":1096,"stem":38,"__hash__":1097},"docs\u002F2.reference\u002F1.optimize-api.md",{"type":83,"value":84,"toc":1079},"minimark",[85,90,114,121,170,244,251,412,420,424,502,521,525,559,572,650,662,666,687,744,760,779,814,818,827,932,936,1075],[86,87,89],"h2",{"id":88},"request","Request",[91,92,97],"pre",{"className":93,"code":94,"language":95,"meta":96,"style":96},"language-http shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","POST \u002Fv1\u002Foptimize\nPOST \u002Fv1\u002Foptimize?async=true\n","http","",[98,99,100,108],"code",{"__ignoreMap":96},[101,102,105],"span",{"class":103,"line":104},"line",1,[101,106,107],{},"POST \u002Fv1\u002Foptimize\n",[101,109,111],{"class":103,"line":110},2,[101,112,113],{},"POST \u002Fv1\u002Foptimize?async=true\n",[115,116,117,120],"p",{},[98,118,119],{},"multipart\u002Fform-data"," with two fields:",[122,123,124,140],"table",{},[125,126,127],"thead",{},[128,129,130,134,137],"tr",{},[131,132,133],"th",{},"Field",[131,135,136],{},"Required",[131,138,139],{},"Description",[141,142,143,157],"tbody",{},[128,144,145,151,154],{},[146,147,148],"td",{},[98,149,150],{},"image",[146,152,153],{},"yes",[146,155,156],{},"The image file.",[128,158,159,164,167],{},[146,160,161],{},[98,162,163],{},"data",[146,165,166],{},"no",[146,168,169],{},"A JSON string with the options below.",[91,171,176],{"className":172,"code":173,"filename":174,"language":175,"meta":96,"style":96},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","curl -X POST https:\u002F\u002Fapi.helloimg.io\u002Fv1\u002Foptimize \\\n  -H \"Authorization: Bearer \u003Cyour API key>\" \\\n  -F \"image=@photo.jpg\" \\\n  -F 'data={\"level\":\"ultra\",\"convert\":\"avif\",\"resize\":{\"width\":1600}}'\n","Terminal","bash",[98,177,178,198,215,230],{"__ignoreMap":96},[101,179,180,184,188,191,194],{"class":103,"line":104},[101,181,183],{"class":182},"sBMFI","curl",[101,185,187],{"class":186},"sfazB"," -X",[101,189,190],{"class":186}," POST",[101,192,193],{"class":186}," https:\u002F\u002Fapi.helloimg.io\u002Fv1\u002Foptimize",[101,195,197],{"class":196},"sTEyZ"," \\\n",[101,199,200,203,207,210,213],{"class":103,"line":110},[101,201,202],{"class":186},"  -H",[101,204,206],{"class":205},"sMK4o"," \"",[101,208,209],{"class":186},"Authorization: Bearer \u003Cyour API key>",[101,211,212],{"class":205},"\"",[101,214,197],{"class":196},[101,216,218,221,223,226,228],{"class":103,"line":217},3,[101,219,220],{"class":186},"  -F",[101,222,206],{"class":205},[101,224,225],{"class":186},"image=@photo.jpg",[101,227,212],{"class":205},[101,229,197],{"class":196},[101,231,233,235,238,241],{"class":103,"line":232},4,[101,234,220],{"class":186},[101,236,237],{"class":205}," '",[101,239,240],{"class":186},"data={\"level\":\"ultra\",\"convert\":\"avif\",\"resize\":{\"width\":1600}}",[101,242,243],{"class":205},"'\n",[245,246,248,250],"h3",{"id":247},"data-fields",[98,249,163],{}," fields",[122,252,253,267],{},[125,254,255],{},[128,256,257,259,262,265],{},[131,258,133],{},[131,260,261],{},"Type",[131,263,264],{},"Default",[131,266,139],{},[141,268,269,299,324,340,379,396],{},[128,270,271,276,279,284],{},[146,272,273],{},[98,274,275],{},"level",[146,277,278],{},"string",[146,280,281],{},[98,282,283],{},"normal",[146,285,286,289,290,289,292,289,295,298],{},[98,287,288],{},"lossless"," | ",[98,291,283],{},[98,293,294],{},"aggressive",[98,296,297],{},"ultra"," — an alias for the boolean flags below.",[128,300,301,310,313,318],{},[146,302,303,305,306,305,308],{},[98,304,283],{}," \u002F ",[98,307,294],{},[98,309,297],{},[146,311,312],{},"boolean",[146,314,315],{},[98,316,317],{},"normal: true",[146,319,320,321,323],{},"The same levels as booleans, if you'd rather not use ",[98,322,275],{},".",[128,325,326,330,332,337],{},[146,327,328],{},[98,329,288],{},[146,331,312],{},[146,333,334],{},[98,335,336],{},"false",[146,338,339],{},"Encode without lossy compression. For a JPEG target this produces a PNG instead — JPEG has no lossless mode.",[128,341,342,347,350,355],{},[146,343,344],{},[98,345,346],{},"convert",[146,348,349],{},"string | null",[146,351,352],{},[98,353,354],{},"null",[146,356,357,358,361,362,361,365,361,368,361,371,374,375,378],{},"Target format: ",[98,359,360],{},"jpeg",", ",[98,363,364],{},"jpg",[98,366,367],{},"png",[98,369,370],{},"webp",[98,372,373],{},"avif",", or ",[98,376,377],{},"gif",". Omit to keep the source format.",[128,380,381,386,388,393],{},[146,382,383],{},[98,384,385],{},"keep_exif",[146,387,312],{},[146,389,390],{},[98,391,392],{},"true",[146,394,395],{},"Keep EXIF metadata (camera, GPS, etc.) in the output.",[128,397,398,403,406,409],{},[146,399,400],{},[98,401,402],{},"resize",[146,404,405],{},"object",[146,407,408],{},"—",[146,410,411],{},"See below.",[115,413,414,416,417,419],{},[98,415,275],{}," and the boolean flags both work — ",[98,418,275],{}," just sets the\ncorresponding flag for you. If both are sent, the explicit boolean wins.",[245,421,422],{"id":402},[98,423,402],{},[122,425,426,436],{},[125,427,428],{},[128,429,430,432,434],{},[131,431,133],{},[131,433,261],{},[131,435,139],{},[141,437,438,451,463,475],{},[128,439,440,445,448],{},[146,441,442],{},[98,443,444],{},"width",[146,446,447],{},"number",[146,449,450],{},"Target width in pixels.",[128,452,453,458,460],{},[146,454,455],{},[98,456,457],{},"height",[146,459,447],{},[146,461,462],{},"Target height in pixels.",[128,464,465,470,472],{},[146,466,467],{},[98,468,469],{},"percent",[146,471,447],{},[146,473,474],{},"Resize by percentage instead of absolute dimensions.",[128,476,477,482,484],{},[146,478,479],{},[98,480,481],{},"smartcrop",[146,483,312],{},[146,485,486,487,489,490,492,493,496,497,499,500,323],{},"Subject-aware crop to an exact ",[98,488,444],{}," x ",[98,491,457],{}," instead of a proportional resize — see ",[494,495,41],"a",{"href":42},". Requires both ",[98,498,444],{}," and ",[98,501,457],{},[115,503,504,505,305,508,511,512,514,515,517,518,323],{},"As a shortcut, you can send ",[98,506,507],{},"max_width",[98,509,510],{},"max_height"," at the top level of\n",[98,513,163],{}," instead of a ",[98,516,402],{}," object — it fits the image inside that box\nwithout upscaling, and is equivalent to ",[98,519,520],{},"resize: { width, height }",[86,522,524],{"id":523},"response","Response",[115,526,527,535,536,539,540,543,544,547,548,551,552,499,555,558],{},[528,529,530,531,534],"strong",{},"No ",[98,532,533],{},"async"," flag (default):"," the request blocks until the job finishes\nand returns the result directly — ",[98,537,538],{},"200"," on success, ",[98,541,542],{},"422"," if processing\nfailed, ",[98,545,546],{},"408"," if it didn't finish within the timeout (poll ",[98,549,550],{},"\u002Fv1\u002Fjobs\u002F{job_id}","\nyourself instead, using the ",[98,553,554],{},"job_id",[98,556,557],{},"poll_url"," in the timeout body).",[115,560,561,567,568,571],{},[528,562,563,566],{},[98,564,565],{},"?async=true",":"," returns immediately with ",[98,569,570],{},"202"," and a job to poll:",[91,573,577],{"className":574,"code":575,"language":576,"meta":96,"style":96},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  \"job_id\": \"job_5f1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c\",\n  \"status\": \"processing\",\n  \"poll_url\": \"\u002Fv1\u002Fjobs\u002Fjob_5f1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c\"\n}\n","json",[98,578,579,584,606,626,644],{"__ignoreMap":96},[101,580,581],{"class":103,"line":104},[101,582,583],{"class":205},"{\n",[101,585,586,589,592,594,596,598,601,603],{"class":103,"line":110},[101,587,588],{"class":205},"  \"",[101,590,554],{"class":591},"spNyl",[101,593,212],{"class":205},[101,595,566],{"class":205},[101,597,206],{"class":205},[101,599,600],{"class":186},"job_5f1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c",[101,602,212],{"class":205},[101,604,605],{"class":205},",\n",[101,607,608,610,613,615,617,619,622,624],{"class":103,"line":217},[101,609,588],{"class":205},[101,611,612],{"class":591},"status",[101,614,212],{"class":205},[101,616,566],{"class":205},[101,618,206],{"class":205},[101,620,621],{"class":186},"processing",[101,623,212],{"class":205},[101,625,605],{"class":205},[101,627,628,630,632,634,636,638,641],{"class":103,"line":232},[101,629,588],{"class":205},[101,631,557],{"class":591},[101,633,212],{"class":205},[101,635,566],{"class":205},[101,637,206],{"class":205},[101,639,640],{"class":186},"\u002Fv1\u002Fjobs\u002Fjob_5f1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c",[101,642,643],{"class":205},"\"\n",[101,645,647],{"class":103,"line":646},5,[101,648,649],{"class":205},"}\n",[115,651,652,655,656,658,659,661],{},[528,653,654],{},"Either way, if the exact same image and options were already optimized\nrecently",", you get the cached result back immediately with ",[98,657,538],{}," instead\nof a job — see ",[494,660,46],{"href":47}," for the result shape.",[86,663,665],{"id":664},"multiple-formats-in-one-call","Multiple formats in one call",[115,667,668,671,672,674,675,677,678,681,682,684,685,566],{},[98,669,670],{},"POST \u002Fv1\u002Foptimize\u002Fmulti"," takes the same ",[98,673,150],{}," field, but ",[98,676,163],{}," carries\na ",[98,679,680],{},"formats"," array (up to 5) instead of a single ",[98,683,346],{},"\u002F",[98,686,275],{},[91,688,690],{"className":172,"code":689,"filename":174,"language":175,"meta":96,"style":96},"curl -X POST \"https:\u002F\u002Fapi.helloimg.io\u002Fv1\u002Foptimize\u002Fmulti?async=true\" \\\n  -H \"Authorization: Bearer \u003Cyour API key>\" \\\n  -F \"image=@photo.jpg\" \\\n  -F 'data={\"formats\":[{\"format\":\"jpeg\",\"level\":\"normal\"},{\"format\":\"webp\",\"level\":\"aggressive\"},{\"format\":\"avif\",\"level\":\"aggressive\"}]}'\n",[98,691,692,709,721,733],{"__ignoreMap":96},[101,693,694,696,698,700,702,705,707],{"class":103,"line":104},[101,695,183],{"class":182},[101,697,187],{"class":186},[101,699,190],{"class":186},[101,701,206],{"class":205},[101,703,704],{"class":186},"https:\u002F\u002Fapi.helloimg.io\u002Fv1\u002Foptimize\u002Fmulti?async=true",[101,706,212],{"class":205},[101,708,197],{"class":196},[101,710,711,713,715,717,719],{"class":103,"line":110},[101,712,202],{"class":186},[101,714,206],{"class":205},[101,716,209],{"class":186},[101,718,212],{"class":205},[101,720,197],{"class":196},[101,722,723,725,727,729,731],{"class":103,"line":217},[101,724,220],{"class":186},[101,726,206],{"class":205},[101,728,225],{"class":186},[101,730,212],{"class":205},[101,732,197],{"class":196},[101,734,735,737,739,742],{"class":103,"line":232},[101,736,220],{"class":186},[101,738,237],{"class":205},[101,740,741],{"class":186},"data={\"formats\":[{\"format\":\"jpeg\",\"level\":\"normal\"},{\"format\":\"webp\",\"level\":\"aggressive\"},{\"format\":\"avif\",\"level\":\"aggressive\"}]}",[101,743,243],{"class":205},[115,745,746,747,749,750,753,754,756,757,759],{},"Each entry in ",[98,748,680],{}," is ",[98,751,752],{},"{ \"format\": \"jpeg\" | \"png\" | \"webp\" | \"avif\", \"level\"?: string }",".\nThis produces one job per format in parallel; poll the returned ",[98,755,554],{},"\nthe same way as a single optimize call — see ",[494,758,46],{"href":47},"\nfor the multi-format response shape.",[115,761,762,764,765,305,767,769,770,772,773,775,776,778],{},[98,763,402],{}," (and its ",[98,766,507],{},[98,768,510],{}," alias, including ",[98,771,481],{},")\nwork the same way here as on a single-format call — set it at the top\nlevel of ",[98,774,163],{},", alongside ",[98,777,680],{},", and it applies to every format in\nthe batch.",[780,781,782],"callout",{},[115,783,784,785,787,788,790,791,794,795,798,799,801,802,805,806,809,810,813],{},"Unlike the top-level ",[98,786,275],{}," field, an unrecognized ",[98,789,275],{}," string inside\none of the ",[98,792,793],{},"formats[]"," entries is ",[528,796,797],{},"not"," rejected — it's silently treated\nas ",[98,800,283],{},". Double-check spelling (",[98,803,804],{},"\"ultra\"",", not ",[98,807,808],{},"\"utlra\"",") rather than\nrelying on a ",[98,811,812],{},"400"," to catch it.",[245,815,817],{"id":816},"multi-format-errors","Multi-format errors",[115,819,820,823,824,826],{},[98,821,822],{},"\u002Fv1\u002Foptimize\u002Fmulti"," validates its ",[98,825,680],{}," array before the shared\nsizing\u002Fformat checks below run:",[122,828,829,842],{},[125,830,831],{},[128,832,833,836,839],{},[131,834,835],{},"Status",[131,837,838],{},"Body",[131,840,841],{},"Cause",[141,843,844,863,879,895],{},[128,845,846,850,855],{},[146,847,848],{},[98,849,812],{},[146,851,852],{},[98,853,854],{},"{ \"error\": \"Missing 'data' field with formats array\" }",[146,856,530,857,859,860,862],{},[98,858,163],{}," field, or it has no ",[98,861,680],{}," array.",[128,864,865,869,874],{},[146,866,867],{},[98,868,812],{},[146,870,871],{},[98,872,873],{},"{ \"error\": \"At least one format required\" }",[146,875,876,878],{},[98,877,680],{}," is an empty array.",[128,880,881,885,890],{},[146,882,883],{},[98,884,812],{},[146,886,887],{},[98,888,889],{},"{ \"error\": \"Maximum 5 formats allowed\" }",[146,891,892,894],{},[98,893,680],{}," has more than 5 entries.",[128,896,897,901,906],{},[146,898,899],{},[98,900,812],{},[146,902,903],{},[98,904,905],{},"{ \"error\": \"Invalid format: ...\" }",[146,907,908,909,912,913,361,915,361,917,361,919,374,921,923,924,361,927],{},"An entry's ",[98,910,911],{},"format"," isn't ",[98,914,360],{},[98,916,364],{},[98,918,367],{},[98,920,370],{},[98,922,373],{},". Unlike single-format ",[98,925,926],{},"\u002Fv1\u002Foptimize",[528,928,929,931],{},[98,930,377],{}," isn't accepted here.",[86,933,935],{"id":934},"errors","Errors",[122,937,938,948],{},[125,939,940],{},[128,941,942,944,946],{},[131,943,835],{},[131,945,838],{},[131,947,841],{},[141,949,950,964,980,1004,1020,1035,1058],{},[128,951,952,956,961],{},[146,953,954],{},[98,955,812],{},[146,957,958],{},[98,959,960],{},"{ \"error\": \"Missing 'image' field\" }",[146,962,963],{},"No image file in the request.",[128,965,966,970,975],{},[146,967,968],{},[98,969,812],{},[146,971,972],{},[98,973,974],{},"{ \"error\": \"Unsupported convert target: ...\", \"code\": \"invalid_request\", \"supported\": [...] }",[146,976,977,979],{},[98,978,346],{}," isn't one of the supported targets.",[128,981,982,986,991],{},[146,983,984],{},[98,985,812],{},[146,987,988],{},[98,989,990],{},"{ \"error\": \"...\", \"code\": \"invalid_resize\" }",[146,992,993,996,997,499,999,1001,1002,323],{},[98,994,995],{},"resize.smartcrop"," was sent without both ",[98,998,444],{},[98,1000,457],{},", or combined with ",[98,1003,469],{},[128,1005,1006,1010,1015],{},[146,1007,1008],{},[98,1009,812],{},[146,1011,1012],{},[98,1013,1014],{},"{ \"error\": \"Invalid level: ...\", \"code\": \"invalid_level\" }",[146,1016,1017,1019],{},[98,1018,275],{}," isn't one of the four accepted values.",[128,1021,1022,1027,1032],{},[146,1023,1024],{},[98,1025,1026],{},"413",[146,1028,1029],{},[98,1030,1031],{},"{ \"error\": \"File size exceeds 10MB limit\", \"code\": \"file_too_large\", \"max_size\": 10485760 }",[146,1033,1034],{},"Image is larger than 10MB.",[128,1036,1037,1042,1047],{},[146,1038,1039],{},[98,1040,1041],{},"401",[146,1043,1044],{},[98,1045,1046],{},"{ \"error\": \"invalid api key\" }",[146,1048,1049,1050,1053,1054,1057],{},"Missing or malformed ",[98,1051,1052],{},"Authorization"," header. Applies to every ",[98,1055,1056],{},"\u002Fv1\u002F*"," route — one shared check in front of all of them.",[128,1059,1060,1065,1070],{},[146,1061,1062],{},[98,1063,1064],{},"429",[146,1066,1067],{},[98,1068,1069],{},"{ \"error\": \"monthly image limit reached\", \"code\": \"limit_reached\" }",[146,1071,1072,1073,323],{},"Free plan, 1,000 images already processed this calendar month — see ",[494,1074,51],{"href":52},[1076,1077,1078],"style",{},"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 .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 .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}",{"title":96,"searchDepth":104,"depth":110,"links":1080},[1081,1086,1087,1090],{"id":88,"depth":110,"text":89,"children":1082},[1083,1085],{"id":247,"depth":217,"text":1084},"data fields",{"id":402,"depth":217,"text":402},{"id":523,"depth":110,"text":524},{"id":664,"depth":110,"text":665,"children":1088},[1089],{"id":816,"depth":217,"text":817},{"id":934,"depth":110,"text":935},"POST \u002Fv1\u002Foptimize — quality levels, target formats, resize options, and what the response looks like.","md",null,{},{"icon":39},{"title":36,"description":1091},"hhFuaTPT6-PbcCIFQwaGWeFSakZNY95CBnId0GDg2Dc",[1099,1101],{"title":26,"path":27,"stem":28,"description":1100,"icon":29,"children":-1},"Honest answers to the basics — formats, sync vs async, what the plugin changes.",{"title":41,"path":42,"stem":43,"description":1102,"icon":44,"children":-1},"POST \u002Fv1\u002Fsmartcrop — subject-aware crop to an exact width and height.",1787466465711]