Description
A simple example to demonstrate Upstash Redis with SvelteKit.
npx boilerapp get-started-with-upstash-redis-and-svelte-kitDocumentación
Learn More" data-zone="null" class="button-module__QyrFCa__base reset-module__ylizOa__reset button-module__QyrFCa__button reset-module__ylizOa__reset button-module__QyrFCa__secondary button-module__QyrFCa__invert" data-geist-button="" data-prefix="false" data-suffix="false" data-version="v1" style="--geist-icon-size:16px"><span class="button-module__QyrFCa__content">View Demo</span></a></div></div></div></div></div><div class="relative flex rounded-md overflow-hidden border-solid border border-gray-300 w-full h-auto"><img data-version="v1" alt="Contentful thumbnail for Get Started with Upstash Redis & SvelteKit" width="2400" height="1202" decoding="async" data-nimg="1" class="image-module__ssnYEW__intrinsic w-full object-cover aspect-[1200/630]" style="color:transparent" sizes="(max-width: 768px) 100vw, (max-width: 1200px) 50vw, 33vw" srcset="/_next/image?url=https%3A%2F%2Fimages.ctfassets.net%2Fe5382hct74si%2F5iEYTwD06JRMMWREpn1kF4%2Fd7bec8d11c89a0e5fa30af7c157d37f1%2Fredis-svelte.png&w=256&q=75 256w, /_next/image?url=https%3A%2F%2Fimages.ctfassets.net%2Fe5382hct74si%2F5iEYTwD06JRMMWREpn1kF4%2Fd7bec8d11c89a0e5fa30af7c157d37f1%2Fredis-svelte.png&w=384&q=75 384w, /_next/image?url=https%3A%2F%2Fimages.ctfassets.net%2Fe5382hct74si%2F5iEYTwD06JRMMWREpn1kF4%2Fd7bec8d11c89a0e5fa30af7c157d37f1%2Fredis-svelte.png&w=640&q=75 640w, /_next/image?url=https%3A%2F%2Fimages.ctfassets.net%2Fe5382hct74si%2F5iEYTwD06JRMMWREpn1kF4%2Fd7bec8d11c89a0e5fa30af7c157d37f1%2Fredis-svelte.png&w=750&q=75 750w, /_next/image?url=https%3A%2F%2Fimages.ctfassets.net%2Fe5382hct74si%2F5iEYTwD06JRMMWREpn1kF4%2Fd7bec8d11c89a0e5fa30af7c157d37f1%2Fredis-svelte.png&w=828&q=75 828w, /_next/image?url=https%3A%2F%2Fimages.ctfassets.net%2Fe5382hct74si%2F5iEYTwD06JRMMWREpn1kF4%2Fd7bec8d11c89a0e5fa30af7c157d37f1%2Fredis-svelte.png&w=1080&q=75 1080w, /_next/image?url=https%3A%2F%2Fimages.ctfassets.net%2Fe5382hct74si%2F5iEYTwD06JRMMWREpn1kF4%2Fd7bec8d11c89a0e5fa30af7c157d37f1%2Fredis-svelte.png&w=1200&q=75 1200w, /_next/image?url=https%3A%2F%2Fimages.ctfassets.net%2Fe5382hct74si%2F5iEYTwD06JRMMWREpn1kF4%2Fd7bec8d11c89a0e5fa30af7c157d37f1%2Fredis-svelte.png&w=1920&q=75 1920w, /_next/image?url=https%3A%2F%2Fimages.ctfassets.net%2Fe5382hct74si%2F5iEYTwD06JRMMWREpn1kF4%2Fd7bec8d11c89a0e5fa30af7c157d37f1%2Fredis-svelte.png&w=2048&q=75 2048w, /_next/image?url=https%3A%2F%2Fimages.ctfassets.net%2Fe5382hct74si%2F5iEYTwD06JRMMWREpn1kF4%2Fd7bec8d11c89a0e5fa30af7c157d37f1%2Fredis-svelte.png&w=3840&q=75 3840w" src="/_next/image?url=https%3A%2F%2Fimages.ctfassets.net%2Fe5382hct74si%2F5iEYTwD06JRMMWREpn1kF4%2Fd7bec8d11c89a0e5fa30af7c157d37f1%2Fredis-svelte.png&w=3840&q=75"></div><div class="flex flex-col items-start gap-10 lg:flex-row mt-4"><div class="flex flex-row gap-10 w-full lg:w-auto justify-between items-start lg:block lg:order-2"><div class="flex flex-col gap-3 lg:gap-5 w-36 items-start mt-0 order-1 lg:order-2 [&>:not(:last-child)]:border-solid [&>:not(:last-child)]:border-gray-200 [&>:not(:last-child)]:border-x-0 [&>:not(:last-child)]:border-t-0 [&>:not(:last-child)]:pb-6"><div class="flex w-full flex-row lg:flex-col gap-4 items-center lg:items-start"><span class="text-md font-medium text-gray-1000 flex-shrink-0">GitHub Repo</span><a href="https://github.com/upstash/examples/tree/main/examples/sveltekit-with-redis" rel="noopener" target="_blank" data-zone="null" class="link-module__Q1NRQq__link text-sm text-geist-link no-underline font-medium hover:underline underline-offset-4 text-nowrap">upstash/examples</a></div><div class="flex w-full flex-row lg:flex-col gap-4 items-center lg:items-start" data-keys="type"><span class="text-md font-medium text-gray-1000 flex-shrink-0" data-testid="filter-section/title/use-cases">Use Cases</span><div class="flex flex-row w-full gap-2 items-start lg:flex-col"><a data-zone="same" class="link-module__Q1NRQq__link" href="/templates/starter"><span class="badge-module__TiDnQG__badge badge-module__TiDnQG__blue-subtle badge-module__TiDnQG__md" data-geist-badge="" data-version="v2"><span class="badge-module__TiDnQG__contentContainer">Starter</span></span></a></div></div><div class="flex w-full flex-row lg:flex-col gap-4 items-center lg:items-start" data-keys="framework,css"><span class="text-md font-medium text-gray-1000 flex-shrink-0" data-testid="filter-section/title/stack">Stack</span><div class="flex flex-row w-full gap-2 items-start lg:flex-col"><a data-zone="same" class="link-module__Q1NRQq__link" href="/templates/svelte"><span class="badge-module__TiDnQG__badge badge-module__TiDnQG__gray-subtle badge-module__TiDnQG__md" data-geist-badge="" data-version="v2"><span class="badge-module__TiDnQG__contentContainer">Svelte</span></span></a><a data-zone="same" class="link-module__Q1NRQq__link" href="/templates/tailwind"><span class="badge-module__TiDnQG__badge badge-module__TiDnQG__gray-subtle badge-module__TiDnQG__md" data-geist-badge="" data-version="v2"><span class="badge-module__TiDnQG__contentContainer">Tailwind</span></span></a></div></div><div class="flex w-full flex-row lg:flex-col gap-4 items-center lg:items-start" data-keys="database"><span class="text-md font-medium text-gray-1000 flex-shrink-0" data-testid="filter-section/title/database">Database</span><div class="flex flex-row w-full gap-2 items-start lg:flex-col"><a data-zone="same" class="link-module__Q1NRQq__link" href="/templates/upstash"><span class="badge-module__TiDnQG__badge badge-module__TiDnQG__gray-subtle badge-module__TiDnQG__md" data-geist-badge="" data-version="v2"><span class="badge-module__TiDnQG__contentContainer">Upstash</span></span></a></div></div></div></div></div></div><div class="max-w-3xl flex flex-col gap-6 mt-4 mb-24"><h2 class="text-xl font-semibold tracking-tight mb-0">Related Templates</h2><div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4 w-fit"><a data-track-intent="Get Started" data-zone="same" class="link-module__Q1NRQq__link group relative min-w-[240px] w-full h-[200px] border border-solid border-gray-300 bg-background-100 rounded-md overflow-hidden transition-all duration-100 ease-out justify-self-start focus-visible:outline-none focus-visible:shadow-focus-ring" href="/templates/svelte/sveltekit-boilerplate"><div class="flex flex-col gap-1 px-6 py-5"><div class="flex items-center max-w-max pr-2.5"><h3 class="text-heading-16 font-medium m-0 w-max whitespace-nowrap overflow-hidden text-ellipsis flex-1 mr-0">SvelteKit Boilerplate</h3><svg class="rotate-[-45deg] translate-x-[-2px] opacity-0 transition-all duration-100 ease-out origin-center group-hover:opacity-100 group-hover:rotate-[-45deg] group-hover:translate-x-[4px]" data-testid="geist-icon" height="16" stroke-linejoin="round" style="width:12px;height:12px;color:currentColor" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" clip-rule="evenodd" d="M9.53033 2.21968L9 1.68935L7.93934 2.75001L8.46967 3.28034L12.4393 7.25001H1.75H1V8.75001H1.75H12.4393L8.46967 12.7197L7.93934 13.25L9 14.3107L9.53033 13.7803L14.6036 8.70711C14.9941 8.31659 14.9941 7.68342 14.6036 7.2929L9.53033 2.21968Z" fill="currentColor"></path></svg></div><div class="text-label-14 text-gray-800 m-0 line-clamp-2 text-pretty">A SvelteKit app including nested routes, layouts, and page endpoints.</div></div><img data-version="v1" alt="SvelteKit Boilerplate" loading="lazy" width="300" height="100" decoding="async" data-nimg="1" class="image-module__ssnYEW__intrinsic absolute top-[110px] -right-10 rotate-[-5deg] border border-solid border-gray-300 rounded-md transition-transform duration-100 ease-out group-hover:-rotate-3 group-hover:-translate-y-1 group-hover:-translate-x-0.5" style="color:transparent;box-shadow:var(--shadow-small)" srcset="/_next/image?url=https%3A%2F%2Fimages.ctfassets.net%2Fe5382hct74si%2F5WIYQtnSEfZKYFB9kvsR0w%2F974bee31f87aa376a54dccdb0713629d%2FCleanShot_2022-05-23_at_22.13.20_2x.png&w=384&q=75 1x, /_next/image?url=https%3A%2F%2Fimages.ctfassets.net%2Fe5382hct74si%2F5WIYQtnSEfZKYFB9kvsR0w%2F974bee31f87aa376a54dccdb0713629d%2FCleanShot_2022-05-23_at_22.13.20_2x.png&w=640&q=75 2x" src="/_next/image?url=https%3A%2F%2Fimages.ctfassets.net%2Fe5382hct74si%2F5WIYQtnSEfZKYFB9kvsR0w%2F974bee31f87aa376a54dccdb0713629d%2FCleanShot_2022-05-23_at_22.13.20_2x.png&w=640&q=75"></a><a data-track-intent="Get Started" data-zone="same" class="link-module__Q1NRQq__link group relative min-w-[240px] w-full h-[200px] border border-solid border-gray-300 bg-background-100 rounded-md overflow-hidden transition-all duration-100 ease-out justify-self-start focus-visible:outline-none focus-visible:shadow-focus-ring" href="/templates/next.js/get-started-with-upstash-qs-tash-and-next-js"><div class="flex flex-col gap-1 px-6 py-5"><div class="flex items-center max-w-max pr-2.5"><h3 class="text-heading-16 font-medium m-0 w-max whitespace-nowrap overflow-hidden text-ellipsis flex-1 mr-0">Get Started with Upstash QStash & Next.js</h3><svg class="rotate-[-45deg] translate-x-[-2px] opacity-0 transition-all duration-100 ease-out origin-center group-hover:opacity-100 group-hover:rotate-[-45deg] group-hover:translate-x-[4px]" data-testid="geist-icon" height="16" stroke-linejoin="round" style="width:12px;height:12px;color:currentColor" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" clip-rule="evenodd" d="M9.53033 2.21968L9 1.68935L7.93934 2.75001L8.46967 3.28034L12.4393 7.25001H1.75H1V8.75001H1.75H12.4393L8.46967 12.7197L7.93934 13.25L9 14.3107L9.53033 13.7803L14.6036 8.70711C14.9941 8.31659 14.9941 7.68342 14.6036 7.2929L9.53033 2.21968Z" fill="currentColor"></path></svg></div><div class="text-label-14 text-gray-800 m-0 line-clamp-2 text-pretty">A simple example to demonstrate Upstash QStash with Next.js. We will make a publish request through QStash and observe what's delivered.</div></div><img data-version="v1" alt="Get Started with Upstash QStash & Next.js" loading="lazy" width="300" height="100" decoding="async" data-nimg="1" class="image-module__ssnYEW__intrinsic absolute top-[110px] -right-10 rotate-[-5deg] border border-solid border-gray-300 rounded-md transition-transform duration-100 ease-out group-hover:-rotate-3 group-hover:-translate-y-1 group-hover:-translate-x-0.5" style="color:transparent;box-shadow:var(--shadow-small)" srcset="/_next/image?url=https%3A%2F%2Fimages.ctfassets.net%2Fe5382hct74si%2F2NO0iBWkyw5hJkd6LkU7Wi%2Fe600de3a4c381e4650efd87a345003f0%2Fqstash-landing-page.png&w=384&q=75 1x, /_next/image?url=https%3A%2F%2Fimages.ctfassets.net%2Fe5382hct74si%2F2NO0iBWkyw5hJkd6LkU7Wi%2Fe600de3a4c381e4650efd87a345003f0%2Fqstash-landing-page.png&w=640&q=75 2x" src="/_next/image?url=https%3A%2F%2Fimages.ctfassets.net%2Fe5382hct74si%2F2NO0iBWkyw5hJkd6LkU7Wi%2Fe600de3a4c381e4650efd87a345003f0%2Fqstash-landing-page.png&w=640&q=75"></a><a data-track-intent="Get Started" data-zone="same" class="link-module__Q1NRQq__link group relative min-w-[240px] w-full h-[200px] border border-solid border-gray-300 bg-background-100 rounded-md overflow-hidden transition-all duration-100 ease-out justify-self-start focus-visible:outline-none focus-visible:shadow-focus-ring" href="/templates/next.js/get-started-with-upstash-redis-and-next-js"><div class="flex flex-col gap-1 px-6 py-5"><div class="flex items-center max-w-max pr-2.5"><h3 class="text-heading-16 font-medium m-0 w-max whitespace-nowrap overflow-hidden text-ellipsis flex-1 mr-0">Get Started with Upstash Redis & Next.js</h3><svg class="rotate-[-45deg] translate-x-[-2px] opacity-0 transition-all duration-100 ease-out origin-center group-hover:opacity-100 group-hover:rotate-[-45deg] group-hover:translate-x-[4px]" data-testid="geist-icon" height="16" stroke-linejoin="round" style="width:12px;height:12px;color:currentColor" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" clip-rule="evenodd" d="M9.53033 2.21968L9 1.68935L7.93934 2.75001L8.46967 3.28034L12.4393 7.25001H1.75H1V8.75001H1.75H12.4393L8.46967 12.7197L7.93934 13.25L9 14.3107L9.53033 13.7803L14.6036 8.70711C14.9941 8.31659 14.9941 7.68342 14.6036 7.2929L9.53033 2.21968Z" fill="currentColor"></path></svg></div><div class="text-label-14 text-gray-800 m-0 line-clamp-2 text-pretty">A simple example to demonstrate Upstash Redis with Next.js.</div></div><img data-version="v1" alt="Get Started with Upstash Redis & Next.js" loading="lazy" width="300" height="100" decoding="async" data-nimg="1" class="image-module__ssnYEW__intrinsic absolute top-[110px] -right-10 rotate-[-5deg] border border-solid border-gray-300 rounded-md transition-transform duration-100 ease-out group-hover:-rotate-3 group-hover:-translate-y-1 group-hover:-translate-x-0.5" style="color:transparent;box-shadow:var(--shadow-small)" srcset="/_next/image?url=https%3A%2F%2Fimages.ctfassets.net%2Fe5382hct74si%2F1vEcumVDRbUfVMR3AuGVE8%2F9b5ade5ded69d976f49505fd62f2e7ad%2Fredis-nextjs.png&w=384&q=75 1x, /_next/image?url=https%3A%2F%2Fimages.ctfassets.net%2Fe5382hct74si%2F1vEcumVDRbUfVMR3AuGVE8%2F9b5ade5ded69d976f49505fd62f2e7ad%2Fredis-nextjs.png&w=640&q=75 2x" src="/_next/image?url=https%3A%2F%2Fimages.ctfassets.net%2Fe5382hct74si%2F1vEcumVDRbUfVMR3AuGVE8%2F9b5ade5ded69d976f49505fd62f2e7ad%2Fredis-nextjs.png&w=640&q=75"></a></div></div></div></div><!--$--><!--/$--><!--/&--><!--/&--><!--/&--></div><footer class="geist-footer-module__5I6hjG__footer footer-module__ESbTrq__marketingFooterContainer" data-version="v1" data-variant="subtle"><nav aria-label="Vercel Directory"><div class="footer-module__ESbTrq__marketingFooter"><div class="geist-footer-module__5I6hjG__group"><h2 class="geist-footer-module__5I6hjG__header">Products</h2><ul class="geist-footer-module__5I6hjG__list"><li class="geist-footer-module__5I6hjG__item"><a href="/ai" style="font-feature-settings:'ss05'" data-zone="6a379c" class="link-module__Q1NRQq__link link-module__Q1NRQq__secondary">AI</a></li><li class="geist-footer-module__5I6hjG__item"><a href="/enterprise" data-zone="6a379c" class="link-module__Q1NRQq__link link-module__Q1NRQq__secondary">Enterprise</a></li><li class="geist-footer-module__5I6hjG__item"><a href="/fluid" data-zone="6a379c" class="link-module__Q1NRQq__link link-module__Q1NRQq__secondary">Fluid Compute</a></li><li class="geist-footer-module__5I6hjG__item"><a href="/solutions/nextjs" data-zone="6a379c" class="link-module__Q1NRQq__link link-module__Q1NRQq__secondary">Next.js</a></li><li class="geist-footer-module__5I6hjG__item"><a href="/products/observability" data-zone="6a379c" class="link-module__Q1NRQq__link link-module__Q1NRQq__secondary">Observability</a></li><li class="geist-footer-module__5I6hjG__item"><a href="/products/previews" data-zone="6a379c" class="link-module__Q1NRQq__link link-module__Q1NRQq__secondary">Previews</a></li><li class="geist-footer-module__5I6hjG__item"><a href="/products/rendering" data-zone="6a379c" class="link-module__Q1NRQq__link link-module__Q1NRQq__secondary">Rendering</a></li><li class="geist-footer-module__5I6hjG__item"><a href="/security" data-zone="6a379c" class="link-module__Q1NRQq__link link-module__Q1NRQq__secondary">Security</a></li><li class="geist-footer-module__5I6hjG__item"><a href="/solutions/turborepo" data-zone="6a379c" class="link-module__Q1NRQq__link link-module__Q1NRQq__secondary">Turbo</a></li><li class="geist-footer-module__5I6hjG__item"><a data-zone="same" class="link-module__Q1NRQq__link link-module__Q1NRQq__secondary" href="/domains">Domains</a></li><li class="geist-footer-module__5I6hjG__item"><a href="/sandbox" data-zone="6a379c" class="link-module__Q1NRQq__link link-module__Q1NRQq__secondary">Sandbox</a></li><li class="geist-footer-module__5I6hjG__item"><a href="https://v0.app/" rel="noopener" target="_blank" data-zone="null" class="link-module__Q1NRQq__link link-module__Q1NRQq__external link-module__Q1NRQq__secondary">v0<svg class="inline" data-testid="geist-icon" height="16" stroke-linejoin="round" style="color:currentColor" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" clip-rule="evenodd" d="M11.5 9.75V11.25C11.5 11.3881 11.3881 11.5 11.25 11.5H4.75C4.61193 11.5 4.5 11.3881 4.5 11.25L4.5 4.75C4.5 4.61193 4.61193 4.5 4.75 4.5H6.25H7V3H6.25H4.75C3.7835 3 3 3.7835 3 4.75V11.25C3 12.2165 3.7835 13 4.75 13H11.25C12.2165 13 13 12.2165 13 11.25V9.75V9H11.5V9.75ZM8.5 3H9.25H12.2495C12.6637 3 12.9995 3.33579 12.9995 3.75V6.75V7.5H11.4995V6.75V5.56066L8.53033 8.52978L8 9.06011L6.93934 7.99945L7.46967 7.46912L10.4388 4.5H9.25H8.5V3Z" fill="currentColor"></path></svg></a></li></ul></div><div class="geist-footer-module__5I6hjG__group"><h2 class="geist-footer-module__5I6hjG__header">Resources</h2><ul class="geist-footer-module__5I6hjG__list"><li class="geist-footer-module__5I6hjG__item"><a href="https://community.vercel.com/" rel="noopener" target="_blank" data-zone="null" class="link-module__Q1NRQq__link link-module__Q1NRQq__external link-module__Q1NRQq__secondary">Community<svg class="inline" data-testid="geist-icon" height="16" stroke-linejoin="round" style="color:currentColor" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" clip-rule="evenodd" d="M11.5 9.75V11.25C11.5 11.3881 11.3881 11.5 11.25 11.5H4.75C4.61193 11.5 4.5 11.3881 4.5 11.25L4.5 4.75C4.5 4.61193 4.61193 4.5 4.75 4.5H6.25H7V3H6.25H4.75C3.7835 3 3 3.7835 3 4.75V11.25C3 12.2165 3.7835 13 4.75 13H11.25C12.2165 13 13 12.2165 13 11.25V9.75V9H11.5V9.75ZM8.5 3H9.25H12.2495C12.6637 3 12.9995 3.33579 12.9995 3.75V6.75V7.5H11.4995V6.75V5.56066L8.53033 8.52978L8 9.06011L6.93934 7.99945L7.46967 7.46912L10.4388 4.5H9.25H8.5V3Z" fill="currentColor"></path></svg></a></li><li class="geist-footer-module__5I6hjG__item"><a href="/docs" data-zone="667155" class="link-module__Q1NRQq__link link-module__Q1NRQq__secondary">Docs</a></li><li class="geist-footer-module__5I6hjG__item"><a href="/kb" data-zone="667155" class="link-module__Q1NRQq__link link-module__Q1NRQq__secondary">Knowledge Base</a></li><li class="geist-footer-module__5I6hjG__item"><a href="/academy" data-zone="7ae771" class="link-module__Q1NRQq__link link-module__Q1NRQq__secondary">Academy</a></li><li class="geist-footer-module__5I6hjG__item"><a href="/help" data-zone="9a3c91" class="link-module__Q1NRQq__link link-module__Q1NRQq__secondary">Help</a></li><li class="geist-footer-module__5I6hjG__item"><a data-zone="same" class="link-module__Q1NRQq__link link-module__Q1NRQq__secondary" href="/integrations">Integrations</a></li><li class="geist-footer-module__5I6hjG__item"><a href="/pricing" data-zone="6a379c" class="link-module__Q1NRQq__link link-module__Q1NRQq__secondary">Pricing</a></li><li class="geist-footer-module__5I6hjG__item"><a href="/resources" data-zone="6a379c" class="link-module__Q1NRQq__link link-module__Q1NRQq__secondary">Resources</a></li><li class="geist-footer-module__5I6hjG__item"><a href="/partners/solution-partners" data-zone="6a379c" class="link-module__Q1NRQq__link link-module__Q1NRQq__secondary">Solution Partners</a></li><li class="geist-footer-module__5I6hjG__item"><a href="/startups" data-zone="6a379c" class="link-module__Q1NRQq__link link-module__Q1NRQq__secondary">Startups</a></li><li class="geist-footer-module__5I6hjG__item"><a data-zone="same" class="link-module__Q1NRQq__link link-module__Q1NRQq__secondary" href="/templates">Templates</a></li><li class="footer-module__ESbTrq__legalButton"><button type="submit" tabindex="0" data-react-aria-pressable="true" aria-haspopup="true" aria-expanded="false" aria-controls="menu-_R_6idpf5ac6lb_" aria-label="SDKs by Vercel" data-testid="footer/sdk-button" data-geist-menu-button="" data-is-open="false" id="menu-button-_R_6idpf5ac6lbH1_" style="--geist-icon-size:16px" class="button-module__QyrFCa__base reset-module__ylizOa__reset footer-module__ESbTrq__legalMenuButton" data-geist-button="" data-prefix="false" data-suffix="false" data-version="v1"><span class="button-module__QyrFCa__content button-module__QyrFCa__flex button-module__QyrFCa__center"><span class="footer-module__ESbTrq__link footer-module__ESbTrq__secondary" style="display:flex;align-items:center;gap:2px;width:100%">SDKs by Vercel<svg data-testid="geist-icon" height="16" stroke-linejoin="round" style="width:16px;height:16px;color:currentColor" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" clip-rule="evenodd" d="M12.0607 6.74999L11.5303 7.28032L8.7071 10.1035C8.31657 10.4941 7.68341 10.4941 7.29288 10.1035L4.46966 7.28032L3.93933 6.74999L4.99999 5.68933L5.53032 6.21966L7.99999 8.68933L10.4697 6.21966L11 5.68933L12.0607 6.74999Z" fill="currentColor"></path></svg></span></span></button><ul class="hidden"><li><a href="https://sdk.vercel.ai/" target="_blank" rel="noopener">AI SDK</a></li><li><a href="https://useworkflow.dev/" target="_blank" rel="noopener">Workflow DevKit</a></li><li><a href="https://flags-sdk.dev/" target="_blank" rel="noopener">Flags SDK</a></li><li><a href="https://chat-sdk.dev/" target="_blank" rel="noopener">Chat SDK</a></li><li><a href="https://streamdown.ai/" target="_blank" rel="noopener">Streamdown AI</a></li></ul></li></ul></div><div class="geist-footer-module__5I6hjG__group"><h2 class="geist-footer-module__5I6hjG__header">Company</h2><ul class="geist-footer-module__5I6hjG__list"><li class="geist-footer-module__5I6hjG__item"><a href="/about" data-zone="6a379c" class="link-module__Q1NRQq__link link-module__Q1NRQq__secondary">About</a></li><li class="geist-footer-module__5I6hjG__item"><a href="/blog" data-zone="6a379c" class="link-module__Q1NRQq__link link-module__Q1NRQq__secondary">Blog</a></li><li class="geist-footer-module__5I6hjG__item"><a href="/careers" data-zone="6a379c" class="link-module__Q1NRQq__link link-module__Q1NRQq__secondary">Careers</a></li><li class="geist-footer-module__5I6hjG__item"><a href="/changelog" data-zone="6a379c" class="link-module__Q1NRQq__link link-module__Q1NRQq__secondary">Changelog</a></li><li class="geist-footer-module__5I6hjG__item"><a href="/contact" data-zone="6a379c" class="link-module__Q1NRQq__link link-module__Q1NRQq__secondary">Contact Us</a></li><li class="geist-footer-module__5I6hjG__item"><a href="/customers" data-zone="6a379c" class="link-module__Q1NRQq__link link-module__Q1NRQq__secondary">Customers</a></li><li class="geist-footer-module__5I6hjG__item"><a href="/events" data-zone="6a379c" class="link-module__Q1NRQq__link link-module__Q1NRQq__secondary">Events</a></li><li class="geist-footer-module__5I6hjG__item"><a href="/partners" data-zone="6a379c" class="link-module__Q1NRQq__link link-module__Q1NRQq__secondary">Partners</a></li><li class="geist-footer-module__5I6hjG__item"><a href="/shipped" data-zone="6a379c" class="link-module__Q1NRQq__link link-module__Q1NRQq__secondary">Shipped</a></li><li class="geist-footer-module__5I6hjG__item"><a href="/legal/privacy-policy" data-zone="6a379c" class="link-module__Q1NRQq__link link-module__Q1NRQq__secondary">Privacy Policy</a></li><li class="footer-module__ESbTrq__legalButton"><button type="submit" tabindex="0" data-react-aria-pressable="true" aria-haspopup="true" aria-expanded="false" aria-controls="menu-_R_2jdpf5ac6lb_" aria-label="Legal" data-testid="footer/legal-button" data-geist-menu-button="" data-is-open="false" id="menu-button-_R_2jdpf5ac6lbH1_" style="--geist-icon-size:16px" class="button-module__QyrFCa__base reset-module__ylizOa__reset footer-module__ESbTrq__legalMenuButton" data-geist-button="" data-prefix="false" data-suffix="false" data-version="v1"><span class="button-module__QyrFCa__content button-module__QyrFCa__flex button-module__QyrFCa__center"><span class="footer-module__ESbTrq__link footer-module__ESbTrq__secondary" style="display:flex;align-items:center;gap:2px;width:100%">Legal<svg data-testid="geist-icon" height="16" stroke-linejoin="round" style="width:16px;height:16px;color:currentColor" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" clip-rule="evenodd" d="M12.0607 6.74999L11.5303 7.28032L8.7071 10.1035C8.31657 10.4941 7.68341 10.4941 7.29288 10.1035L4.46966 7.28032L3.93933 6.74999L4.99999 5.68933L5.53032 6.21966L7.99999 8.68933L10.4697 6.21966L11 5.68933L12.0607 6.74999Z" fill="currentColor"></path></svg></span></span></button></li></ul></div><div class="geist-footer-module__5I6hjG__group"><h2 class="geist-footer-module__5I6hjG__header">Social</h2><ul class="geist-footer-module__5I6hjG__list"><li class="geist-footer-module__5I6hjG__item"><a href="https://github.com/vercel" rel="noopener" target="_blank" data-zone="null" class="link-module__Q1NRQq__link link-module__Q1NRQq__secondary footer-module__ESbTrq__socialIcon"><svg data-testid="geist-icon" height="16" stroke-linejoin="round" style="color:currentColor" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" clip-rule="evenodd" d="M8 1.46252C4.40875 1.46252 1.5 4.37029 1.5 7.96032C1.5 10.8356 3.36062 13.2642 5.94438 14.1251C6.26937 14.182 6.39125 13.987 6.39125 13.8165C6.39125 13.6621 6.38313 13.1504 6.38313 12.6063C4.75 12.9068 4.3275 12.2083 4.1975 11.8428C4.12437 11.6559 3.8075 11.0793 3.53125 10.9249C3.30375 10.8031 2.97875 10.5026 3.52312 10.4945C4.035 10.4863 4.40062 10.9656 4.5225 11.1605C5.1075 12.1433 6.04188 11.8671 6.41563 11.6966C6.4725 11.2742 6.64313 10.9899 6.83 10.8275C5.38375 10.665 3.8725 10.1046 3.8725 7.61919C3.8725 6.91255 4.12438 6.32775 4.53875 5.87291C4.47375 5.71046 4.24625 5.04444 4.60375 4.15099C4.60375 4.15099 5.14812 3.98042 6.39125 4.81701C6.91125 4.67081 7.46375 4.59771 8.01625 4.59771C8.56875 4.59771 9.12125 4.67081 9.64125 4.81701C10.8844 3.9723 11.4288 4.15099 11.4288 4.15099C11.7863 5.04444 11.5588 5.71046 11.4938 5.87291C11.9081 6.32775 12.16 6.90443 12.16 7.61919C12.16 10.1127 10.6406 10.665 9.19438 10.8275C9.43 11.0305 9.63313 11.4204 9.63313 12.0296C9.63313 12.8987 9.625 13.5972 9.625 13.8165C9.625 13.987 9.74687 14.1901 10.0719 14.1251C11.3622 13.6896 12.4835 12.8606 13.2779 11.7547C14.0722 10.6488 14.4997 9.32178 14.5 7.96032C14.5 4.37029 11.5913 1.46252 8 1.46252Z" fill="currentColor"></path></svg>GitHub</a></li><li class="geist-footer-module__5I6hjG__item"><a href="https://linkedin.com/company/vercel" rel="noopener" target="_blank" data-zone="null" class="link-module__Q1NRQq__link link-module__Q1NRQq__secondary footer-module__ESbTrq__socialIcon"><svg data-testid="geist-icon" height="16" stroke-linejoin="round" style="color:currentColor" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" clip-rule="evenodd" d="M3.5 2C2.67157 2 2 2.67157 2 3.5V12.5C2 13.3284 2.67157 14 3.5 14H12.5C13.3284 14 14 13.3284 14 12.5V3.5C14 2.67157 13.3284 2 12.5 2H3.5ZM4.74556 5.5C5.21057 5.5 5.5 5.16665 5.5 4.75006C5.49133 4.3241 5.21057 4 4.75438 4C4.29824 4 4 4.3241 4 4.75006C4 5.16665 4.28937 5.5 4.73687 5.5H4.74556ZM5.5 6.5V12H4V6.5H5.5ZM7 12H8.5V8.89479C8.5 8.89479 8.60415 7.78962 9.55208 7.78962C10.5 7.78962 10.5 9.02275 10.5 9.02275V12H12V8.8133C12 7.13837 11.25 6.5025 10.125 6.5025C9 6.5025 8.5 7.27778 8.5 7.27778V6.5025H7.00005C7.02383 7.01418 7 12 7 12Z" fill="currentColor"></path></svg>LinkedIn</a></li><li class="geist-footer-module__5I6hjG__item"><a href="https://x.com/vercel" rel="noopener" target="_blank" data-zone="null" class="link-module__Q1NRQq__link link-module__Q1NRQq__secondary footer-module__ESbTrq__socialIcon"><svg data-testid="geist-icon" height="16" stroke-linejoin="round" style="color:currentColor" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" clip-rule="evenodd" d="M1.60022 2H5.80022L8.78759 6.16842L12.4002 2H14.0002L9.5118 7.17895L14.4002 14H10.2002L7.21285 9.83158L3.60022 14H2.00022L6.48864 8.82105L1.60022 2ZM10.8166 12.8L3.93657 3.2H5.18387L12.0639 12.8H10.8166Z" fill="currentColor"></path></svg> Twitter</a></li><li class="geist-footer-module__5I6hjG__item"><a href="https://youtube.com/@VercelHQ" rel="noopener" target="_blank" data-zone="null" class="link-module__Q1NRQq__link link-module__Q1NRQq__secondary footer-module__ESbTrq__socialIcon"><svg data-testid="geist-icon" height="16" stroke-linejoin="round" style="color:currentColor" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" clip-rule="evenodd" d="M13.4695 3.39273C14.0722 3.55407 14.5459 4.02773 14.7073 4.63046C14.9988 5.72183 15 8.00023 15 8.00023C15 8.00023 15 10.2786 14.7073 11.37C14.5459 11.9728 14.0722 12.4464 13.4695 12.6077C12.3782 12.9005 7.99998 12.9005 7.99998 12.9005C7.99998 12.9005 3.62183 12.9005 2.53045 12.6077C1.92773 12.4464 1.45407 11.9728 1.29272 11.37C1 10.2786 1 8.00023 1 8.00023C1 8.00023 1 5.72183 1.29272 4.63046C1.45407 4.02773 1.92773 3.55407 2.53045 3.39273C3.62183 3.10001 7.99998 3.10001 7.99998 3.10001C7.99998 3.10001 12.3782 3.10001 13.4695 3.39273ZM10.2362 8.00046L6.59906 10.1002V5.90068L10.2362 8.00046Z" fill="currentColor"></path></svg>YouTube</a></li></ul></div><a href="/home" data-zone="6a379c" class="link-module__Q1NRQq__link footer-module__ESbTrq__logoVercel"><svg data-testid="geist-icon" height="16" stroke-linejoin="round" style="width:16px;height:32px;color:var(--ds-gray-1000)" viewBox="0 0 16 16" width="16" aria-label="Vercel logo"><path fill-rule="evenodd" clip-rule="evenodd" d="M8 1L16 15H0L8 1Z" fill="currentColor"></path></svg></a></div><div class="footer-module__ESbTrq__statusRow"><a href="https://vercel-status.com" rel="noopener" target="_blank" data-no-border="true" data-testid="footer/status" data-zone="null" class="link-module__Q1NRQq__link status-indicator-module__razUwq__link"><div class="status-indicator-module__razUwq__content status-indicator-module__razUwq__noBorder"><span class="status-indicator-module__razUwq__indicator status-indicator-module__razUwq__secondary" data-testid="footer/status/secondary"></span><p class="text-copy-14 status-indicator-module__razUwq__statusText status-indicator-module__razUwq__secondary geist-ellipsis">Loading status…</p></div></a><fieldset class="tailwind theme-switcher-module__q-SprW__root ml-auto" data-small=""><legend class="sr-only">Select a display theme:</legend><span style="height:100%"><input aria-label="system" type="radio" value="system"><label><span class="sr-only">system</span><svg data-testid="geist-icon" height="16" stroke-linejoin="round" style="color:currentColor" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" clip-rule="evenodd" d="M0.5 3.25C0.5 1.45507 1.95507 0 3.75 0H8.25C10.0449 0 11.5 1.45507 11.5 3.25V11.25V12H10.75H1.25H0.5V11.25V3.25ZM3.75 1.5C2.7835 1.5 2 2.2835 2 3.25V10.5H10V3.25C10 2.2835 9.2165 1.5 8.25 1.5H3.75ZM3 3.5C3 2.94772 3.44772 2.5 4 2.5H8C8.55228 2.5 9 2.94772 9 3.5V7H3V3.5ZM6.5 9.5H9V8H6.5V9.5Z" fill="currentColor" transform="translate(2.5, 2)"></path> </svg></label></span><span style="height:100%"><input aria-label="light" type="radio" value="light"><label><span class="sr-only">light</span><svg data-testid="geist-icon" height="16" stroke-linejoin="round" style="color:currentColor" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" clip-rule="evenodd" d="M7.75 1V0.25H6.25V1V1.25V2H7.75V1.25V1ZM7 9C8.10457 9 9 8.10457 9 7C9 5.89543 8.10457 5 7 5C5.89543 5 5 5.89543 5 7C5 8.10457 5.89543 9 7 9ZM7 10.5C8.933 10.5 10.5 8.933 10.5 7C10.5 5.067 8.933 3.5 7 3.5C5.067 3.5 3.5 5.067 3.5 7C3.5 8.933 5.067 10.5 7 10.5ZM7.75 12V12.75V13V13.75H6.25V13V12.75V12H7.75ZM12 6.25H12.75H13H13.75V7.75H13H12.75H12V6.25ZM1 6.25H0.25V7.75H1H1.25H2V6.25H1.25H1ZM10.0052 2.93414L10.5355 2.40381L10.7123 2.22703L11.2426 1.6967L12.3033 2.75736L11.773 3.28769L11.5962 3.46447L11.0659 3.9948L10.0052 2.93414ZM2.22703 10.7123L1.6967 11.2426L2.75736 12.3033L3.28769 11.773L3.46447 11.5962L3.9948 11.0659L2.93414 10.0052L2.40381 10.5355L2.22703 10.7123ZM2.93414 3.9948L2.40381 3.46447L2.22703 3.28769L1.6967 2.75736L2.75736 1.6967L3.28769 2.22703L3.46447 2.40381L3.9948 2.93414L2.93414 3.9948ZM10.7123 11.773L11.2426 12.3033L12.3033 11.2426L11.773 10.7123L11.5962 10.5355L11.0659 10.0052L10.0052 11.0659L10.5355 11.5962L10.7123 11.773Z" fill="currentColor" transform="translate(1.25, 1.25)"></path></svg></label></span><span style="height:100%"><input aria-label="dark" type="radio" value="dark"><label><span class="sr-only">dark</span><svg data-testid="geist-icon" height="16" stroke-linejoin="round" style="color:currentColor" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" clip-rule="evenodd" d="M10.5 0.25V1V1.5H11L11.75 1.5V3H11H10.5V3.5V4.25H9V3.5V3H8.5H7.75V1.5H8.5H9V1V0.25H10.5ZM3.25514 2.75496C2.33413 3.53491 1.75 4.69972 1.75 6C1.75 8.34721 3.65279 10.25 6 10.25C7.30029 10.25 8.4651 9.66587 9.24505 8.74485C9.16377 8.74827 9.08207 8.74999 9 8.74999C5.82436 8.74999 3.25 6.17563 3.25 2.99999C3.25 2.91792 3.25172 2.83623 3.25514 2.75496ZM0.25 6C0.25 3.51072 1.83142 1.39271 4.042 0.592193L5.00256 1.55275C4.83933 2.00347 4.75 2.49047 4.75 2.99999C4.75 5.3472 6.65279 7.24999 9 7.24999C9.50953 7.24999 9.99653 7.16065 10.4473 6.99743L11.4078 7.95798C10.6073 10.1686 8.48929 11.75 6 11.75C2.82436 11.75 0.25 9.17564 0.25 6Z" fill="currentColor" transform="translate(2.25, 2.25)"></path></svg></label></span></fieldset></div></nav></footer></div><!--/&--><!--$!--><template data-dgst="BAILOUT_TO_CLIENT_SIDE_RENDERING"></template><!--/$--><!--$--><!--$--><span></span><!--/$--><!--/$--><!--$--><!--$?--><template id="B:8"></template><!--/$--><!--/$--><!--$--><!--$--><!--/$--><!--/$--><!--$!--><template data-dgst="BAILOUT_TO_CLIENT_SIDE_RENDERING"></template><!--/$--><!--$--><!--$?--><template id="B:9"></template><!--/$--><!--/$--><!--/$--><script>requestAnimationFrame(function(){$RT=performance.now()});</script><script src="/_next/static/chunks/708cb2d5632e91ed.js?dpl=dpl_ChTE5vPEigwD6owFwKFML1srtVvi" id="_R_" async=""></script><div hidden="" id="S:a"><a href="/home" aria-controls="menu-_R_3ambpf5ac6lb_" aria-expanded="false" data-testid="header/navbar/logo" id="menu-button-_R_3ambpf5ac6lbH1_" style="popper:[object Object]" data-zone="6a379c" class="link-module__Q1NRQq__link logo-module__b7Z7sa__logoLink logo-module__b7Z7sa__logo"><svg width="90.6923076923077" height="18" viewBox="0 0 262 52" fill="none" xmlns="http://www.w3.org/2000/svg" class="text-gray-1000 shrink-0"><path fill-rule="evenodd" clip-rule="evenodd" d="M59.8 52L29.9 0L0 52H59.8ZM89.9574 49.6328L114.945 2.36365H104.137L86.8999 36.6921L69.6628 2.36365H58.8545L83.8423 49.6328H89.9574ZM260.248 2.36365V49.6329H251.3V2.36365H260.248ZM210.441 31.99C210.441 28.3062 211.21 25.0661 212.747 22.2699C214.285 19.4737 216.429 17.321 219.179 15.812C221.928 14.3029 225.144 13.5484 228.826 13.5484C232.088 13.5484 235.024 14.2585 237.634 15.6788C240.244 17.0991 242.317 19.2074 243.855 22.0036C245.393 24.7998 246.185 28.2174 246.232 32.2564V34.3202H219.878C220.064 37.2496 220.926 39.5576 222.464 41.2442C224.049 42.8864 226.169 43.7075 228.826 43.7075C230.503 43.7075 232.041 43.2637 233.439 42.376C234.838 41.4883 235.886 40.2899 236.585 38.7808L245.743 39.4466C244.624 42.7754 242.527 45.4385 239.451 47.4358C236.375 49.4331 232.834 50.4317 228.826 50.4317C225.144 50.4317 221.928 49.6772 219.179 48.1681C216.429 46.6591 214.285 44.5064 212.747 41.7102C211.21 38.914 210.441 35.6739 210.441 31.99ZM237.005 28.6612C236.678 25.7762 235.77 23.668 234.278 22.3365C232.787 20.9606 230.969 20.2726 228.826 20.2726C226.356 20.2726 224.352 21.0049 222.814 22.4696C221.276 23.9343 220.321 25.9982 219.948 28.6612H237.005ZM195.345 22.3365C196.836 23.5348 197.768 25.1993 198.141 27.3297L207.369 26.8637C207.043 24.1562 206.087 21.8039 204.503 19.8066C202.918 17.8093 200.868 16.278 198.351 15.2128C195.881 14.1032 193.155 13.5484 190.172 13.5484C186.49 13.5484 183.275 14.3029 180.525 15.812C177.775 17.321 175.632 19.4737 174.094 22.2699C172.556 25.0661 171.787 28.3062 171.787 31.99C171.787 35.6739 172.556 38.914 174.094 41.7102C175.632 44.5064 177.775 46.6591 180.525 48.1681C183.275 49.6772 186.49 50.4317 190.172 50.4317C193.248 50.4317 196.044 49.8769 198.561 48.7673C201.077 47.6133 203.128 45.9933 204.712 43.9072C206.297 41.8212 207.252 39.38 207.578 36.5838L198.281 36.1844C197.955 38.5367 197.046 40.3565 195.555 41.6436C194.063 42.8864 192.269 43.5078 190.172 43.5078C187.283 43.5078 185.046 42.5091 183.461 40.5118C181.877 38.5145 181.084 35.6739 181.084 31.99C181.084 28.3062 181.877 25.4656 183.461 23.4683C185.046 21.471 187.283 20.4723 190.172 20.4723C192.176 20.4723 193.9 21.0937 195.345 22.3365ZM149.953 14.3457H158.28L158.52 21.137C159.111 19.2146 159.933 17.7218 160.986 16.6585C162.512 15.1166 164.64 14.3457 167.369 14.3457H170.769V21.6146H167.3C165.357 21.6146 163.761 21.8789 162.512 22.4075C161.309 22.9362 160.384 23.7732 159.737 24.9186C159.135 26.064 158.835 27.5178 158.835 29.2799V49.6328H149.953V14.3457ZM111.546 22.2699C110.008 25.0661 109.239 28.3062 109.239 31.99C109.239 35.6739 110.008 38.914 111.546 41.7102C113.084 44.5064 115.228 46.6591 117.977 48.1681C120.727 49.6772 123.942 50.4317 127.624 50.4317C131.632 50.4317 135.174 49.4331 138.25 47.4358C141.325 45.4385 143.423 42.7754 144.541 39.4466L135.384 38.7808C134.684 40.2899 133.636 41.4883 132.238 42.376C130.84 43.2637 129.302 43.7075 127.624 43.7075C124.968 43.7075 122.847 42.8864 121.263 41.2442C119.725 39.5576 118.863 37.2496 118.676 34.3202H145.03V32.2564C144.984 28.2174 144.192 24.7998 142.654 22.0036C141.116 19.2074 139.042 17.0991 136.432 15.6788C133.822 14.2585 130.886 13.5484 127.624 13.5484C123.942 13.5484 120.727 14.3029 117.977 15.812C115.228 17.321 113.084 19.4737 111.546 22.2699ZM133.077 22.3365C134.568 23.668 135.477 25.7762 135.803 28.6612H118.746C119.119 25.9982 120.074 23.9343 121.612 22.4696C123.15 21.0049 125.154 20.2726 127.624 20.2726C129.768 20.2726 131.585 20.9606 133.077 22.3365Z" fill="currentColor"></path></svg></a><!--$!--><template data-dgst="BAILOUT_TO_CLIENT_SIDE_RENDERING"></template><!--/$--></div><script>$RB=[];$RV=function(a){$RT=performance.now();for(var b=0;b<a.length;b+=2){var c=a[b],e=a[b+1];null!==e.parentNode&&e.parentNode.removeChild(e);var f=c.parentNode;if(f){var g=c.previousSibling,h=0;do{if(c&&8===c.nodeType){var d=c.data;if("/$"===d||"/&"===d)if(0===h)break;else h--;else"$"!==d&&"$?"!==d&&"$"!==d&&"$!"!==d&&"&"!==d||h++}d=c.nextSibling;f.removeChild(c);c=d}while(c);for(;e.firstChild;)f.insertBefore(e.firstChild,c);g.data="$";g._reactRetry&&requestAnimationFrame(g._reactRetry)}}a.length=0};
$RC=function(a,b){if(b=document.getElementById(b))(a=document.getElementById(a))?(a.previousSibling.data="$
Prix
Gratuit