[{"data":1,"prerenderedAt":886},["ShallowReactive",2],{"navigation":3,"\u002Fai\u002Falt-text-and-seo":80,"\u002Fai\u002Falt-text-and-seo-surround":881},[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":66,"body":82,"description":874,"extension":875,"links":876,"meta":877,"navigation":878,"path":67,"seo":879,"stem":68,"__hash__":880},"docs\u002F3.ai\u002F1.alt-text-and-seo.md",{"type":83,"value":84,"toc":869},"minimark",[85,94,99,116,215,361,367,416,420,613,623,734,738,855,865],[86,87,88,89,93],"p",{},"Give helloIMG a URL to an already-hosted image and get back SEO metadata —\nalt text, a caption, a longer description, and a title — written for it.\nAvailable on ",[90,91,92],"a",{"href":52},"Unlimited and Unlimited + AI",".",[95,96,98],"h2",{"id":97},"request","Request",[100,101,106],"pre",{"className":102,"code":103,"language":104,"meta":105,"style":105},"language-http shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","POST \u002Fv1\u002Fai\u002Fseo\n","http","",[107,108,109],"code",{"__ignoreMap":105},[110,111,114],"span",{"class":112,"line":113},"line",1,[110,115,103],{},[100,117,122],{"className":118,"code":119,"filename":120,"language":121,"meta":105,"style":105},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","curl -X POST https:\u002F\u002Fapi.helloimg.io\u002Fv1\u002Fai\u002Fseo \\\n  -H \"Authorization: Bearer \u003Cyour API key>\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"url\": \"https:\u002F\u002Fshop.example.com\u002Fimages\u002Fproduct.jpg\",\n    \"language\": \"en\",\n    \"context\": \"Outdoor gear webshop\"\n  }'\n","Terminal","bash",[107,123,124,144,162,176,188,194,200,206],{"__ignoreMap":105},[110,125,126,130,134,137,140],{"class":112,"line":113},[110,127,129],{"class":128},"sBMFI","curl",[110,131,133],{"class":132},"sfazB"," -X",[110,135,136],{"class":132}," POST",[110,138,139],{"class":132}," https:\u002F\u002Fapi.helloimg.io\u002Fv1\u002Fai\u002Fseo",[110,141,143],{"class":142},"sTEyZ"," \\\n",[110,145,147,150,154,157,160],{"class":112,"line":146},2,[110,148,149],{"class":132},"  -H",[110,151,153],{"class":152},"sMK4o"," \"",[110,155,156],{"class":132},"Authorization: Bearer \u003Cyour API key>",[110,158,159],{"class":152},"\"",[110,161,143],{"class":142},[110,163,165,167,169,172,174],{"class":112,"line":164},3,[110,166,149],{"class":132},[110,168,153],{"class":152},[110,170,171],{"class":132},"Content-Type: application\u002Fjson",[110,173,159],{"class":152},[110,175,143],{"class":142},[110,177,179,182,185],{"class":112,"line":178},4,[110,180,181],{"class":132},"  -d",[110,183,184],{"class":152}," '",[110,186,187],{"class":132},"{\n",[110,189,191],{"class":112,"line":190},5,[110,192,193],{"class":132},"    \"url\": \"https:\u002F\u002Fshop.example.com\u002Fimages\u002Fproduct.jpg\",\n",[110,195,197],{"class":112,"line":196},6,[110,198,199],{"class":132},"    \"language\": \"en\",\n",[110,201,203],{"class":112,"line":202},7,[110,204,205],{"class":132},"    \"context\": \"Outdoor gear webshop\"\n",[110,207,209,212],{"class":112,"line":208},8,[110,210,211],{"class":132},"  }",[110,213,214],{"class":152},"'\n",[216,217,218,240],"table",{},[219,220,221],"thead",{},[222,223,224,228,231,234,237],"tr",{},[225,226,227],"th",{},"Field",[225,229,230],{},"Type",[225,232,233],{},"Required",[225,235,236],{},"Default",[225,238,239],{},"Description",[241,242,243,263,293,312,343],"tbody",{},[222,244,245,251,254,257,260],{},[246,247,248],"td",{},[107,249,250],{},"url",[246,252,253],{},"string",[246,255,256],{},"yes",[246,258,259],{},"—",[246,261,262],{},"The image to describe.",[222,264,265,270,272,275,280],{},[246,266,267],{},[107,268,269],{},"language",[246,271,253],{},[246,273,274],{},"no",[246,276,277],{},[107,278,279],{},"en",[246,281,282,283,285,286,285,289,292],{},"Output language (e.g. ",[107,284,279],{},", ",[107,287,288],{},"de",[107,290,291],{},"fr",").",[222,294,295,300,302,304,309],{},[246,296,297],{},[107,298,299],{},"context",[246,301,253],{},[246,303,274],{},[246,305,306],{},[107,307,308],{},"\"\"",[246,310,311],{},"A short description of the site or shop, to steer tone and vocabulary.",[222,313,314,319,323,325,328],{},[246,315,316],{},[107,317,318],{},"fields",[246,320,253,321],{},[110,322],{},[246,324,274],{},[246,326,327],{},"all four",[246,329,330,331,285,334,285,337,285,340,93],{},"Which fields to generate: ",[107,332,333],{},"alt",[107,335,336],{},"caption",[107,338,339],{},"description",[107,341,342],{},"title",[222,344,345,350,353,355,358],{},[246,346,347],{},[107,348,349],{},"limits",[246,351,352],{},"object",[246,354,274],{},[246,356,357],{},"see below",[246,359,360],{},"Character limits per field.",[86,362,363],{},[364,365,366],"strong",{},"Default character limits:",[216,368,369,378],{},[219,370,371],{},[222,372,373,375],{},[225,374,227],{},[225,376,377],{},"Limit",[241,379,380,389,398,407],{},[222,381,382,386],{},[246,383,384],{},[107,385,333],{},[246,387,388],{},"125",[222,390,391,395],{},[246,392,393],{},[107,394,336],{},[246,396,397],{},"150",[222,399,400,404],{},[246,401,402],{},[107,403,339],{},[246,405,406],{},"300",[222,408,409,413],{},[246,410,411],{},[107,412,342],{},[246,414,415],{},"80",[95,417,419],{"id":418},"response","Response",[100,421,425],{"className":422,"code":423,"language":424,"meta":105,"style":105},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  \"alt\": \"Yellow safety helmet on a white background\",\n  \"caption\": \"Professional safety helmet for construction work\",\n  \"description\": \"A yellow plastic safety helmet meeting the EN 397 standard. Suited to construction sites, factories, and industrial workplaces.\",\n  \"title\": \"Yellow safety helmet — EN 397 certified\",\n  \"cached\": false,\n  \"model\": \"...\",\n  \"processing_time_ms\": 2100,\n  \"tokens\": { \"input\": 243, \"output\": 150 }\n}\n","json",[107,426,427,431,454,473,492,511,525,545,562,607],{"__ignoreMap":105},[110,428,429],{"class":112,"line":113},[110,430,187],{"class":152},[110,432,433,436,439,441,444,446,449,451],{"class":112,"line":146},[110,434,435],{"class":152},"  \"",[110,437,333],{"class":438},"spNyl",[110,440,159],{"class":152},[110,442,443],{"class":152},":",[110,445,153],{"class":152},[110,447,448],{"class":132},"Yellow safety helmet on a white background",[110,450,159],{"class":152},[110,452,453],{"class":152},",\n",[110,455,456,458,460,462,464,466,469,471],{"class":112,"line":164},[110,457,435],{"class":152},[110,459,336],{"class":438},[110,461,159],{"class":152},[110,463,443],{"class":152},[110,465,153],{"class":152},[110,467,468],{"class":132},"Professional safety helmet for construction work",[110,470,159],{"class":152},[110,472,453],{"class":152},[110,474,475,477,479,481,483,485,488,490],{"class":112,"line":178},[110,476,435],{"class":152},[110,478,339],{"class":438},[110,480,159],{"class":152},[110,482,443],{"class":152},[110,484,153],{"class":152},[110,486,487],{"class":132},"A yellow plastic safety helmet meeting the EN 397 standard. Suited to construction sites, factories, and industrial workplaces.",[110,489,159],{"class":152},[110,491,453],{"class":152},[110,493,494,496,498,500,502,504,507,509],{"class":112,"line":190},[110,495,435],{"class":152},[110,497,342],{"class":438},[110,499,159],{"class":152},[110,501,443],{"class":152},[110,503,153],{"class":152},[110,505,506],{"class":132},"Yellow safety helmet — EN 397 certified",[110,508,159],{"class":152},[110,510,453],{"class":152},[110,512,513,515,518,520,522],{"class":112,"line":196},[110,514,435],{"class":152},[110,516,517],{"class":438},"cached",[110,519,159],{"class":152},[110,521,443],{"class":152},[110,523,524],{"class":152}," false,\n",[110,526,527,529,532,534,536,538,541,543],{"class":112,"line":202},[110,528,435],{"class":152},[110,530,531],{"class":438},"model",[110,533,159],{"class":152},[110,535,443],{"class":152},[110,537,153],{"class":152},[110,539,540],{"class":132},"...",[110,542,159],{"class":152},[110,544,453],{"class":152},[110,546,547,549,552,554,556,560],{"class":112,"line":208},[110,548,435],{"class":152},[110,550,551],{"class":438},"processing_time_ms",[110,553,159],{"class":152},[110,555,443],{"class":152},[110,557,559],{"class":558},"sbssI"," 2100",[110,561,453],{"class":152},[110,563,565,567,570,572,574,577,579,582,584,586,589,592,594,597,599,601,604],{"class":112,"line":564},9,[110,566,435],{"class":152},[110,568,569],{"class":438},"tokens",[110,571,159],{"class":152},[110,573,443],{"class":152},[110,575,576],{"class":152}," {",[110,578,153],{"class":152},[110,580,581],{"class":128},"input",[110,583,159],{"class":152},[110,585,443],{"class":152},[110,587,588],{"class":558}," 243",[110,590,591],{"class":152},",",[110,593,153],{"class":152},[110,595,596],{"class":128},"output",[110,598,159],{"class":152},[110,600,443],{"class":152},[110,602,603],{"class":558}," 150",[110,605,606],{"class":152}," }\n",[110,608,610],{"class":112,"line":609},10,[110,611,612],{"class":152},"}\n",[86,614,615,616,618,619,622],{},"If the exact same image, language, context, fields, and limits were\nrequested recently, ",[107,617,517],{}," is ",[107,620,621],{},"true"," and the result comes back instantly:",[100,624,626],{"className":422,"code":625,"language":424,"meta":105,"style":105},"{\n  \"alt\": \"...\",\n  \"caption\": \"...\",\n  \"description\": \"...\",\n  \"title\": \"...\",\n  \"cached\": true,\n  \"processing_time_ms\": 0\n}\n",[107,627,628,632,650,668,686,704,717,730],{"__ignoreMap":105},[110,629,630],{"class":112,"line":113},[110,631,187],{"class":152},[110,633,634,636,638,640,642,644,646,648],{"class":112,"line":146},[110,635,435],{"class":152},[110,637,333],{"class":438},[110,639,159],{"class":152},[110,641,443],{"class":152},[110,643,153],{"class":152},[110,645,540],{"class":132},[110,647,159],{"class":152},[110,649,453],{"class":152},[110,651,652,654,656,658,660,662,664,666],{"class":112,"line":164},[110,653,435],{"class":152},[110,655,336],{"class":438},[110,657,159],{"class":152},[110,659,443],{"class":152},[110,661,153],{"class":152},[110,663,540],{"class":132},[110,665,159],{"class":152},[110,667,453],{"class":152},[110,669,670,672,674,676,678,680,682,684],{"class":112,"line":178},[110,671,435],{"class":152},[110,673,339],{"class":438},[110,675,159],{"class":152},[110,677,443],{"class":152},[110,679,153],{"class":152},[110,681,540],{"class":132},[110,683,159],{"class":152},[110,685,453],{"class":152},[110,687,688,690,692,694,696,698,700,702],{"class":112,"line":190},[110,689,435],{"class":152},[110,691,342],{"class":438},[110,693,159],{"class":152},[110,695,443],{"class":152},[110,697,153],{"class":152},[110,699,540],{"class":132},[110,701,159],{"class":152},[110,703,453],{"class":152},[110,705,706,708,710,712,714],{"class":112,"line":196},[110,707,435],{"class":152},[110,709,517],{"class":438},[110,711,159],{"class":152},[110,713,443],{"class":152},[110,715,716],{"class":152}," true,\n",[110,718,719,721,723,725,727],{"class":112,"line":202},[110,720,435],{"class":152},[110,722,551],{"class":438},[110,724,159],{"class":152},[110,726,443],{"class":152},[110,728,729],{"class":558}," 0\n",[110,731,732],{"class":112,"line":208},[110,733,612],{"class":152},[95,735,737],{"id":736},"errors","Errors",[216,739,740,753],{},[219,741,742],{},[222,743,744,747,750],{},[225,745,746],{},"Status",[225,748,749],{},"Body",[225,751,752],{},"Cause",[241,754,755,773,787,810,825,840],{},[222,756,757,762,767],{},[246,758,759],{},[107,760,761],{},"400",[246,763,764],{},[107,765,766],{},"{ \"error\": \"Missing url parameter\", \"code\": 400 }",[246,768,769,770,772],{},"No ",[107,771,250],{}," field.",[222,774,775,779,784],{},[246,776,777],{},[107,778,761],{},[246,780,781],{},[107,782,783],{},"{ \"error\": \"Invalid JSON body\", \"code\": 400 }",[246,785,786],{},"Malformed JSON.",[222,788,789,794,799],{},[246,790,791],{},[107,792,793],{},"401",[246,795,796],{},[107,797,798],{},"{ \"error\": \"invalid api key\" }",[246,800,801,802,805,806,809],{},"Missing or malformed ",[107,803,804],{},"Authorization"," header. Applies to every ",[107,807,808],{},"\u002Fv1\u002F*"," route — one shared check in front of all of them.",[222,811,812,817,822],{},[246,813,814],{},[107,815,816],{},"403",[246,818,819],{},[107,820,821],{},"{ \"error\": \"ai requires the Unlimited + AI plan\", \"code\": \"ai_plan_required\" }",[246,823,824],{},"Free plan — AI isn't available at all.",[222,826,827,832,837],{},[246,828,829],{},[107,830,831],{},"429",[246,833,834],{},[107,835,836],{},"{ \"error\": \"monthly AI credit limit reached\", \"code\": \"ai_credits_exhausted\" }",[246,838,839],{},"Unlimited plan, 100 AI credits already used this month. Unlimited + AI has no cap.",[222,841,842,847,852],{},[246,843,844],{},[107,845,846],{},"500",[246,848,849],{},[107,850,851],{},"{ \"error\": \"...\", \"code\": 500 }",[246,853,854],{},"The AI model call failed.",[856,857,858],"callout",{},[86,859,860,861,864],{},"Batch generation (several images per request) is available in the\nunderlying AI service and is planned for the public API — for now, call\n",[107,862,863],{},"\u002Fv1\u002Fai\u002Fseo"," once per image.",[866,867,868],"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}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}",{"title":105,"searchDepth":113,"depth":146,"links":870},[871,872,873],{"id":97,"depth":146,"text":98},{"id":418,"depth":146,"text":419},{"id":736,"depth":146,"text":737},"POST \u002Fv1\u002Fai\u002Fseo — generate alt text, captions, descriptions, and titles from an image URL.","md",null,{},{"icon":69},{"title":66,"description":874},"sjVzNSiSwRdljQDubvGlcwQpmlL5pRwjFfrzuXJSuf8",[882,884],{"title":56,"path":57,"stem":58,"description":883,"icon":59,"children":-1},"GET \u002Fv1\u002Faccount — current-month usage for your API key's website, and (Free plan) how close you are to the monthly cap.",{"title":71,"path":72,"stem":73,"description":885,"icon":74,"children":-1},"POST \u002Fv1\u002Fai\u002Fbg-remove — send an image, get back a transparent PNG with the background removed.",1787466465711]