v0 builds projects with Next.js and publishes them on Vercel. To publish the same project on Ai to App, get the code as a zip; Ai to App builds it as a Next.js server application and opens it at your-project.aitoapp.com. The only thing that does not come with the code is the values kept on Vercel: environment variables and integration keys.

Get the Code From v0

Download ZIPVia GitHub
WhereIn the ⋯ menu at the top right of the chat, choose Download ZIP.Create a repository with Project menu ⋯ → Settings → GitHub, then on GitHub choose Code → Download ZIP.
WhenFor a one-time copy.If you will update the project often.
Watch OutIn 2026, zips that downloaded empty or incomplete were reported in the Vercel community. Open the zip and check that package.json is there.The repository stays in your account; every change in v0 is written there.

Check the Zip Before Uploading

  • package.json and the app folder are at the root. If they are not, the zip downloaded incomplete; use the GitHub route.
  • pnpm-lock.yaml or package-lock.json is there. Ai to App installs the packages with the same package manager.
  • If the next.config file says output: 'export', the project is published as a website and no server is needed. If it does not, it is published as a server application.

Drop the zip into the box on the home page. The pre-check examines the project without you creating an account.

Move the Values Left on Vercel

The variables v0 uses are stored on Vercel and do not go into the zip. You can see all of them in v0 on the Project menu ⋯ → Settings → Environment Variables screen. On Ai to App, go to the My Apps page, press Environment Variables on the app's card, enter the values and press Save and Republish.

VariableNote
Neon, Supabase, Upstash values (DATABASE_URL, NEXT_PUBLIC_SUPABASE_URL, KV_REST_API_URL…)Enter the value as it is. Your database stays where it is, and the app connects to it from Ai to App.
AI_GATEWAY_API_KEYThis key is not needed on Vercel, because Vercel's own session token is used there. Outside Vercel, AI features do not work without this key. Create it on the AI Gateway → API Keys screen in the Vercel dashboard.
BLOB_READ_WRITE_TOKENFile uploads keep going to Vercel Blob.
Values with the NEXT_PUBLIC_ prefixThey are embedded in the code during the build, and every visitor can see them. Always republish after changing them.

Vercel-Specific Features

Vercel Analytics
@vercel/analytics collects data only on Vercel. On Ai to App it does not break the page, but it does not count visits.
Scheduled Jobs
Cron definitions in vercel.json do not run on Ai to App. If a job needs to run regularly, call the app's relevant address with an outside scheduler.
Publish Button
Publish in v0 publishes only to Vercel. The copy on Ai to App does not change until you upload the new zip.

Common Problems

"Could not detect the project type"

There is no package.json in the zip; it downloaded incomplete from v0. Connect the project to GitHub and download the zip from there.

The build stops because of a variable

Next.js generates some pages during the build and looks for the variable at that moment. Enter the missing value in the panel and press Save and Republish.

An AI feature gives an error

The AI Gateway connection that works on Vercel needs a key outside it. Enter the AI_GATEWAY_API_KEY value.

After sign-in it goes back to the Vercel address

The old address is still in the sign-in settings. Update the NEXTAUTH_URL value in NextAuth and the Redirect URLs list in Supabase with the new address.

Later Versions

Make the change in v0, download the zip again and upload it from the same app's card. Your address and the information in the database stay the same.