[{"data":1,"prerenderedAt":766},["ShallowReactive",2],{"navigation_docs":3,"-providers-ipx":228,"-providers-ipx-surround":761},[4,30,47,215],{"title":5,"path":6,"stem":7,"children":8,"page":29},"Get Started","\u002Fget-started","1.get-started",[9,13,17,21,25],{"title":10,"path":11,"stem":12},"Installation","\u002Fget-started\u002Finstallation","1.get-started\u002F1.installation",{"title":14,"path":15,"stem":16},"Configuration","\u002Fget-started\u002Fconfiguration","1.get-started\u002F2.configuration",{"title":18,"path":19,"stem":20},"Providers","\u002Fget-started\u002Fproviders","1.get-started\u002F3.providers",{"title":22,"path":23,"stem":24},"Contributing","\u002Fget-started\u002Fcontributing","1.get-started\u002F4.contributing",{"title":26,"path":27,"stem":28},"Migration","\u002Fget-started\u002Fmigration","1.get-started\u002F5.migration",false,{"title":31,"path":32,"stem":33,"children":34,"page":29},"Usage","\u002Fusage","2.usage",[35,39,43],{"title":36,"path":37,"stem":38},"\u003CNuxtImg>","\u002Fusage\u002Fnuxt-img","2.usage\u002F1.nuxt-img",{"title":40,"path":41,"stem":42},"\u003CNuxtPicture>","\u002Fusage\u002Fnuxt-picture","2.usage\u002F2.nuxt-picture",{"title":44,"path":45,"stem":46},"useImage()","\u002Fusage\u002Fuse-image","2.usage\u002F3.use-image",{"title":18,"path":48,"stem":49,"children":50,"page":29},"\u002Fproviders","3.providers",[51,55,59,63,67,71,75,79,83,87,91,95,99,103,107,111,115,119,123,127,131,135,139,143,147,151,155,159,163,167,171,175,179,183,187,191,195,199,203,207,211],{"title":52,"path":53,"stem":54},"Aliyun","\u002Fproviders\u002Faliyun","3.providers\u002Faliyun",{"title":56,"path":57,"stem":58},"AWS Amplify","\u002Fproviders\u002Faws-amplify","3.providers\u002Faws-amplify",{"title":60,"path":61,"stem":62},"Builder.io","\u002Fproviders\u002Fbuilderio","3.providers\u002Fbuilderio",{"title":64,"path":65,"stem":66},"Bunny","\u002Fproviders\u002Fbunny","3.providers\u002Fbunny",{"title":68,"path":69,"stem":70},"Caisy","\u002Fproviders\u002Fcaisy","3.providers\u002Fcaisy",{"title":72,"path":73,"stem":74},"Cloudflare","\u002Fproviders\u002Fcloudflare","3.providers\u002Fcloudflare",{"title":76,"path":77,"stem":78},"Cloudflare Images","\u002Fproviders\u002Fcloudflareimages","3.providers\u002Fcloudflareimages",{"title":80,"path":81,"stem":82},"Cloudimage","\u002Fproviders\u002Fcloudimage","3.providers\u002Fcloudimage",{"title":84,"path":85,"stem":86},"Cloudinary","\u002Fproviders\u002Fcloudinary","3.providers\u002Fcloudinary",{"title":88,"path":89,"stem":90},"Contentful","\u002Fproviders\u002Fcontentful","3.providers\u002Fcontentful",{"title":92,"path":93,"stem":94},"Directus","\u002Fproviders\u002Fdirectus","3.providers\u002Fdirectus",{"title":96,"path":97,"stem":98},"EdgeOne Pages","\u002Fproviders\u002Fedgeone-pages","3.providers\u002Fedgeone-pages",{"title":100,"path":101,"stem":102},"Fastly","\u002Fproviders\u002Ffastly","3.providers\u002Ffastly",{"title":104,"path":105,"stem":106},"Filerobot","\u002Fproviders\u002Ffilerobot","3.providers\u002Ffilerobot",{"title":108,"path":109,"stem":110},"Flyimg","\u002Fproviders\u002Fflyimg","3.providers\u002Fflyimg",{"title":112,"path":113,"stem":114},"GitHub","\u002Fproviders\u002Fgithub","3.providers\u002Fgithub",{"title":116,"path":117,"stem":118},"Glide","\u002Fproviders\u002Fglide","3.providers\u002Fglide",{"title":120,"path":121,"stem":122},"Gumlet","\u002Fproviders\u002Fgumlet","3.providers\u002Fgumlet",{"title":124,"path":125,"stem":126},"Hygraph","\u002Fproviders\u002Fhygraph","3.providers\u002Fhygraph",{"title":128,"path":129,"stem":130},"ImageEngine","\u002Fproviders\u002Fimageengine","3.providers\u002Fimageengine",{"title":132,"path":133,"stem":134},"ImageKit","\u002Fproviders\u002Fimagekit","3.providers\u002Fimagekit",{"title":136,"path":137,"stem":138},"Imgix","\u002Fproviders\u002Fimgix","3.providers\u002Fimgix",{"title":140,"path":141,"stem":142},"Imgproxy","\u002Fproviders\u002Fimgproxy","3.providers\u002Fimgproxy",{"title":144,"path":145,"stem":146},"IPX","\u002Fproviders\u002Fipx","3.providers\u002Fipx",{"title":148,"path":149,"stem":150},"Netlify","\u002Fproviders\u002Fnetlify","3.providers\u002Fnetlify",{"title":152,"path":153,"stem":154},"None","\u002Fproviders\u002Fnone","3.providers\u002Fnone",{"title":156,"path":157,"stem":158},"Picsum","\u002Fproviders\u002Fpicsum","3.providers\u002Fpicsum",{"title":160,"path":161,"stem":162},"Prepr","\u002Fproviders\u002Fprepr","3.providers\u002Fprepr",{"title":164,"path":165,"stem":166},"Prismic","\u002Fproviders\u002Fprismic","3.providers\u002Fprismic",{"title":168,"path":169,"stem":170},"Sanity","\u002Fproviders\u002Fsanity","3.providers\u002Fsanity",{"title":172,"path":173,"stem":174},"Shopify","\u002Fproviders\u002Fshopify","3.providers\u002Fshopify",{"title":176,"path":177,"stem":178},"Sirv","\u002Fproviders\u002Fsirv","3.providers\u002Fsirv",{"title":180,"path":181,"stem":182},"Storyblok","\u002Fproviders\u002Fstoryblok","3.providers\u002Fstoryblok",{"title":184,"path":185,"stem":186},"Strapi","\u002Fproviders\u002Fstrapi","3.providers\u002Fstrapi",{"title":188,"path":189,"stem":190},"Supabase","\u002Fproviders\u002Fsupabase","3.providers\u002Fsupabase",{"title":192,"path":193,"stem":194},"Twicpics","\u002Fproviders\u002Ftwicpics","3.providers\u002Ftwicpics",{"title":196,"path":197,"stem":198},"Umbraco","\u002Fproviders\u002Fumbraco","3.providers\u002Fumbraco",{"title":200,"path":201,"stem":202},"Unsplash","\u002Fproviders\u002Funsplash","3.providers\u002Funsplash",{"title":204,"path":205,"stem":206},"Uploadcare","\u002Fproviders\u002Fuploadcare","3.providers\u002Fuploadcare",{"title":208,"path":209,"stem":210},"Vercel","\u002Fproviders\u002Fvercel","3.providers\u002Fvercel",{"title":212,"path":213,"stem":214},"Weserv","\u002Fproviders\u002Fweserv","3.providers\u002Fweserv",{"title":216,"path":217,"stem":218,"children":219,"page":29},"Advanced","\u002Fadvanced","4.advanced",[220,224],{"title":221,"path":222,"stem":223},"Custom Provider","\u002Fadvanced\u002Fcustom-provider","4.advanced\u002F1.custom-provider",{"title":225,"path":226,"stem":227},"Static Images","\u002Fadvanced\u002Fstatic-images","4.advanced\u002F2.static-images",{"id":229,"title":144,"body":230,"description":749,"extension":750,"links":751,"meta":757,"navigation":758,"path":145,"seo":759,"stem":146,"__hash__":760},"docs\u002F3.providers\u002Fipx.md",{"type":231,"value":232,"toc":744},"minimark",[233,256,261,270,276,374,378,394,574,578,585,740],[234,235,236,237,242,243,249,250,255],"p",{},"Nuxt Image comes with a ",[238,239,241],"a",{"href":240},"\u002Fget-started\u002Fproviders#default-provider","preconfigured instance"," of ",[238,244,248],{"href":245,"rel":246},"https:\u002F\u002Fgithub.com\u002Funjs\u002Fipx",[247],"nofollow","unjs\u002Fipx"," - an open source, self-hosted image optimizer based on ",[238,251,254],{"href":252,"rel":253},"https:\u002F\u002Fgithub.com\u002Flovell\u002Fsharp",[247],"lovell\u002Fsharp",".",[257,258,260],"h2",{"id":259},"additional-modifiers","Additional Modifiers",[234,262,263,264,269],{},"You can use ",[238,265,268],{"href":266,"rel":267},"https:\u002F\u002Fgithub.com\u002Funjs\u002Fipx\u002F#modifiers",[247],"additional modifiers"," supported by IPX.",[234,271,272],{},[273,274,275],"strong",{},"Example:",[277,278,283],"pre",{"className":279,"code":280,"language":281,"meta":282,"style":282},"language-vue shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u003CNuxtImg\n  src=\"\u002Fimage.png\"\n  :modifiers=\"{ grayscale: true, tint: '#00DC82' }\"\n\u002F>\n","vue","",[284,285,286,299,319,367],"code",{"__ignoreMap":282},[287,288,291,295],"span",{"class":289,"line":290},"line",1,[287,292,294],{"class":293},"sMK4o","\u003C",[287,296,298],{"class":297},"swJcz","NuxtImg\n",[287,300,302,306,309,312,316],{"class":289,"line":301},2,[287,303,305],{"class":304},"spNyl","  src",[287,307,308],{"class":293},"=",[287,310,311],{"class":293},"\"",[287,313,315],{"class":314},"sfazB","\u002Fimage.png",[287,317,318],{"class":293},"\"\n",[287,320,322,325,328,330,332,335,338,341,345,348,351,353,356,359,362,365],{"class":289,"line":321},3,[287,323,324],{"class":293},"  :",[287,326,327],{"class":304},"modifiers",[287,329,308],{"class":293},[287,331,311],{"class":293},[287,333,334],{"class":293},"{",[287,336,337],{"class":297}," grayscale",[287,339,340],{"class":293},":",[287,342,344],{"class":343},"sfNiH"," true",[287,346,347],{"class":293},",",[287,349,350],{"class":297}," tint",[287,352,340],{"class":293},[287,354,355],{"class":293}," '",[287,357,358],{"class":314},"#00DC82",[287,360,361],{"class":293},"'",[287,363,364],{"class":293}," }",[287,366,318],{"class":293},[287,368,370],{"class":289,"line":369},4,[287,371,373],{"class":372},"sTEyZ","\u002F>\n",[257,375,377],{"id":376},"input-formats","Input Formats",[234,379,380,381,384,385,389,390,393],{},"The ",[284,382,383],{},"\u002F_ipx"," endpoint decodes images with ",[238,386,388],{"href":252,"rel":387},[247],"sharp"," (libvips). By default only common web image formats are accepted as input: JPEG, PNG, WebP, GIF, SVG, AVIF and HEIC. A source in any other format is rejected with a ",[284,391,392],{},"403"," before it is decoded.",[395,396,397,404,557,564],"warning",{},[234,398,399,400,403],{},"To accept additional formats (for example TIFF) from sources you trust, list them with ",[284,401,402],{},"allowedInputFormats",". The format is the one detected from the source bytes, not the file extension:",[277,405,410],{"className":406,"code":407,"filename":408,"language":409,"meta":282,"style":282},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","export default defineNuxtConfig({\n  image: {\n    ipx: {\n      allowedInputFormats: ['jpeg', 'png', 'webp', 'gif', 'svg', 'avif', 'heic', 'tiff'],\n    },\n  },\n})\n","nuxt.config.ts","ts",[284,411,412,431,441,450,536,542,548],{"__ignoreMap":282},[287,413,414,418,421,425,428],{"class":289,"line":290},[287,415,417],{"class":416},"s7zQu","export",[287,419,420],{"class":416}," default",[287,422,424],{"class":423},"s2Zo4"," defineNuxtConfig",[287,426,427],{"class":372},"(",[287,429,430],{"class":293},"{\n",[287,432,433,436,438],{"class":289,"line":301},[287,434,435],{"class":297},"  image",[287,437,340],{"class":293},[287,439,440],{"class":293}," {\n",[287,442,443,446,448],{"class":289,"line":321},[287,444,445],{"class":297},"    ipx",[287,447,340],{"class":293},[287,449,440],{"class":293},[287,451,452,455,457,460,462,465,467,469,471,474,476,478,480,483,485,487,489,492,494,496,498,501,503,505,507,510,512,514,516,519,521,523,525,528,530,533],{"class":289,"line":369},[287,453,454],{"class":297},"      allowedInputFormats",[287,456,340],{"class":293},[287,458,459],{"class":372}," [",[287,461,361],{"class":293},[287,463,464],{"class":314},"jpeg",[287,466,361],{"class":293},[287,468,347],{"class":293},[287,470,355],{"class":293},[287,472,473],{"class":314},"png",[287,475,361],{"class":293},[287,477,347],{"class":293},[287,479,355],{"class":293},[287,481,482],{"class":314},"webp",[287,484,361],{"class":293},[287,486,347],{"class":293},[287,488,355],{"class":293},[287,490,491],{"class":314},"gif",[287,493,361],{"class":293},[287,495,347],{"class":293},[287,497,355],{"class":293},[287,499,500],{"class":314},"svg",[287,502,361],{"class":293},[287,504,347],{"class":293},[287,506,355],{"class":293},[287,508,509],{"class":314},"avif",[287,511,361],{"class":293},[287,513,347],{"class":293},[287,515,355],{"class":293},[287,517,518],{"class":314},"heic",[287,520,361],{"class":293},[287,522,347],{"class":293},[287,524,355],{"class":293},[287,526,527],{"class":314},"tiff",[287,529,361],{"class":293},[287,531,532],{"class":372},"]",[287,534,535],{"class":293},",\n",[287,537,539],{"class":289,"line":538},5,[287,540,541],{"class":293},"    },\n",[287,543,545],{"class":289,"line":544},6,[287,546,547],{"class":293},"  },\n",[287,549,551,554],{"class":289,"line":550},7,[287,552,553],{"class":293},"}",[287,555,556],{"class":372},")\n",[234,558,559,560,563],{},"The same option can be set at runtime through the ",[284,561,562],{},"NUXT_IPX_ALLOWED_INPUT_FORMATS"," environment variable as a comma-separated list.",[234,565,566,567,570,571,573],{},"For sources that are not fully trusted, ",[284,568,569],{},"restrictDecoders"," additionally blocks the decoders of every other format. It is opt-in: it changes process-wide libvips state, so code outside the ",[284,572,383],{}," endpoint using sharp in the same process will no longer be able to decode the blocked formats either.",[257,575,577],{"id":576},"runtime-configuration","Runtime Configuration",[234,579,580,581,584],{},"You can update the options for ",[284,582,583],{},"ipx"," at runtime by passing the appropriate environment variable. For example:",[277,586,588],{"className":406,"code":587,"filename":408,"language":409,"meta":282,"style":282},"export default defineNuxtConfig({\n  runtimeConfig: {\n    ipx: {\n      baseURL: process.env.NUXT_IPX_BASE_URL || '\u002F_ipx',\n      alias: {\n        someAlias: process.env.NUXT_IPX_ALIAS_SOME_ALIAS || ''\n      },\n      http: {\n        domains: process.env.NUXT_IPX_HTTP_DOMAINS,\n      },\n    },\n  },\n})\n",[284,589,590,602,611,619,650,659,682,687,697,718,723,728,733],{"__ignoreMap":282},[287,591,592,594,596,598,600],{"class":289,"line":290},[287,593,417],{"class":416},[287,595,420],{"class":416},[287,597,424],{"class":423},[287,599,427],{"class":372},[287,601,430],{"class":293},[287,603,604,607,609],{"class":289,"line":301},[287,605,606],{"class":297},"  runtimeConfig",[287,608,340],{"class":293},[287,610,440],{"class":293},[287,612,613,615,617],{"class":289,"line":321},[287,614,445],{"class":297},[287,616,340],{"class":293},[287,618,440],{"class":293},[287,620,621,624,626,629,631,634,636,639,642,644,646,648],{"class":289,"line":369},[287,622,623],{"class":297},"      baseURL",[287,625,340],{"class":293},[287,627,628],{"class":372}," process",[287,630,255],{"class":293},[287,632,633],{"class":372},"env",[287,635,255],{"class":293},[287,637,638],{"class":372},"NUXT_IPX_BASE_URL ",[287,640,641],{"class":293},"||",[287,643,355],{"class":293},[287,645,383],{"class":314},[287,647,361],{"class":293},[287,649,535],{"class":293},[287,651,652,655,657],{"class":289,"line":538},[287,653,654],{"class":297},"      alias",[287,656,340],{"class":293},[287,658,440],{"class":293},[287,660,661,664,666,668,670,672,674,677,679],{"class":289,"line":544},[287,662,663],{"class":297},"        someAlias",[287,665,340],{"class":293},[287,667,628],{"class":372},[287,669,255],{"class":293},[287,671,633],{"class":372},[287,673,255],{"class":293},[287,675,676],{"class":372},"NUXT_IPX_ALIAS_SOME_ALIAS ",[287,678,641],{"class":293},[287,680,681],{"class":293}," ''\n",[287,683,684],{"class":289,"line":550},[287,685,686],{"class":293},"      },\n",[287,688,690,693,695],{"class":289,"line":689},8,[287,691,692],{"class":297},"      http",[287,694,340],{"class":293},[287,696,440],{"class":293},[287,698,700,703,705,707,709,711,713,716],{"class":289,"line":699},9,[287,701,702],{"class":297},"        domains",[287,704,340],{"class":293},[287,706,628],{"class":372},[287,708,255],{"class":293},[287,710,633],{"class":372},[287,712,255],{"class":293},[287,714,715],{"class":372},"NUXT_IPX_HTTP_DOMAINS",[287,717,535],{"class":293},[287,719,721],{"class":289,"line":720},10,[287,722,686],{"class":293},[287,724,726],{"class":289,"line":725},11,[287,727,541],{"class":293},[287,729,731],{"class":289,"line":730},12,[287,732,547],{"class":293},[287,734,736,738],{"class":289,"line":735},13,[287,737,553],{"class":293},[287,739,556],{"class":372},[741,742,743],"style",{},"html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sfNiH, html code.shiki .sfNiH{--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC}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 .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}",{"title":282,"searchDepth":301,"depth":301,"links":745},[746,747,748],{"id":259,"depth":301,"text":260},{"id":376,"depth":301,"text":377},{"id":576,"depth":301,"text":577},"IPX is the built-in and self hosted image optimizer for Nuxt Image.","md",[752],{"label":753,"icon":754,"to":755,"size":756},"Source","i-simple-icons-github","https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fimage\u002Fblob\u002Fmain\u002Fsrc\u002Fruntime\u002Fproviders\u002Fipx.ts","xs",{},true,{"title":144,"description":749},"NF-WYa96djaI8OG3xvTAo_rm8aAfz_P14_D9ZXp7WlI",[762,764],{"title":140,"path":141,"stem":142,"description":763,"children":-1},"Nuxt Image has first class integration with Imgproxy.",{"title":148,"path":149,"stem":150,"description":765,"children":-1},"Optimize images with Netlify's dynamic image transformation service.",1793588603291]