Vercel gjorde noget nyt den 5. august 2026. AI-appgeneratoren v0, som ellers kun kunne bruges gennem v0.app i browseren, fik et headless API. Det betyder, at du nu kan sende en prompt fra din egen kode, få en færdig app bygget, testet og deployet, uden at et menneske nogensinde åbner v0’s egen webside. For nordiske udviklere, der allerede bruger Vercel til hosting, er det en genvej til at bygge prototyper, interne værktøjer og kundevendte dashboards markant hurtigere end at skrive alt fra bunden.

Denne guide viser dig, trin for trin, hvordan du kommer fra en tom konto til et deployet v0-projekt, som du selv kan bygge videre på. Du får kommandoer til terminalen, kode du kan kopiere direkte ind i dit Node.js-projekt, priser opdateret til september 2026, og en liste over de faldgruber, de fleste rammer i deres første uge med API’et. Sæt cirka 45 minutter af, hvis du følger med hele vejen igennem.

Guiden henvender sig til udviklere, der allerede kender JavaScript og har prøvet at bygge noget i Next.js, men den kræver ikke, at du har rørt v0 før. Arbejder du i et lille dansk eller nordisk team uden en dedikeret frontend-afdeling, er pointen med v0 API netop, at én backend-udvikler kan generere brugerflader hurtigt nok til, at et separat frontend-hold ikke altid er nødvendigt for interne værktøjer og prototyper.

Hvad er Vercel v0 API, og hvorfor betyder det noget nu

v0 startede som et browserbaseret værktøj, hvor du skrev en prompt og fik en brugerflade genereret i shadcn/ui og Tailwind. Det var nyttigt, men lukket. Du kunne ikke bygge det ind i dine egne systemer. Det ændrede sig med lanceringen af v0 API v2, som Vercel selv beskriver som “programmatic, headless access to v0’s app-building agent” (programmatisk, headless adgang til v0’s app-byggende agent), ifølge Vercels officielle blogindlæg fra august 2026.

Den praktiske forskel er stor. Du sender en prompt til API’et, og v0 genererer en app, starter en udviklingsserver i en Vercel Sandbox, og returnerer en preview-URL, du kan vise i din egen brugerflade. Vercel formulerer det sådan: agenten “generates an app, starts a dev server in a Vercel Sandbox, and gives you a preview URL you can embed in your own UI” (genererer en app, starter en udviklingsserver i en Vercel Sandbox og giver dig en preview-URL, du kan indlejre i din egen brugerflade). Hver chat er et isoleret arbejdsrum for netop den app, hvor agenten kan læse, redigere og køre filerne, mens opfølgende beskeder fortsætter fra den nuværende tilstand.

Det gør v0 til noget andet end en lokal kodeassistent, du installerer i din editor. Hvor værktøjer som VS Code med indbyggede AI-udvidelser hjælper dig linje for linje, bygger v0 hele applikationer på én gang og kører dem i et miljø, du selv styrer via kode. Det gør v0 til et lag oven på din eksisterende stack snarere end en erstatning for din editor.

Selve nyheden blev fulgt op i et opslag i Vercel Weekly den 10. august 2026 med overskriften “New v0 API launches with headless app generation” (den nye v0 API lancerer headless app-generering). Opslaget gentog samme pointe som blogindlægget: du sender en prompt, agenten bygger appen, og du får en preview-URL tilbage, du kan bruge, som du vil. For udviklere, der allerede fulgte v0.app tæt, var det ikke en overraskelse, men det markerede et klart skifte fra “et værktøj til at eksperimentere i browseren” til “en byggesten, du kan sætte ind i produktionskode”.

Forudsætninger: dette skal du bruge, før du starter

Du behøver ikke en stor opsætning for at komme i gang, men et par ting skal være på plads, inden du følger trinene nedenfor.

  • En Vercel-konto (gratis at oprette, kortoplysninger kræves kun ved betalte planer)
  • Node.js version 18 eller nyere installeret lokalt
  • pnpm, npm eller yarn som pakkehåndtering (guiden bruger pnpm)
  • En editor, for eksempel VS Code eller et JetBrains-produkt
  • Grundlæggende kendskab til JavaScript eller TypeScript
  • Terminaladgang (macOS Terminal, Linux-shell eller WSL på Windows)
  • Valgfrit: en GitHub-konto, hvis du vil importere eksisterende kode i trin 8

Du skal ikke bruge et kreditkort for at teste Free-planen, men vær opmærksom på, at API-adgang til nogle modeller kræver et betalt abonnement. Det gennemgår vi i afsnittet om priser længere nede.

Hvilken editor du bruger til selve kodningen har mindre betydning, end du måske tror, fordi størstedelen af arbejdet foregår i terminalen og i v0’s egen preview i browseren. Uanset om du normalt sidder i VS Code, et JetBrains-produkt eller Zed, kan du følge guiden uden at skifte værktøj. Det eneste, der reelt kræver forberedelse, er at have Node.js og en pakkehåndtering klar, så kommandoerne i de næste afsnit kører uden fejl fra dag ét.

Trin 1-2: Opret en v0-konto og hent din API-nøgle

Trin 1: Opret din konto. Gå til v0.app og opret en konto med din e-mail eller din GitHub-konto. Har du allerede en Vercel-konto fra tidligere hosting-projekter, kan du logge ind med den samme konto, da v0 og Vercel deler login. Vælg indtil videre Free-planen. Du kan altid opgradere senere, når du ved, hvor meget du reelt bruger v0.

Trin 2: Generer en API-nøgle. Under kontoindstillinger finder du et punkt til API-nøgler. Klik “Create API Key”, giv den et navn, der fortæller dig, hvad den bruges til (for eksempel “lokal-udvikling” eller “produktion”), og kopiér nøglen med det samme. Vercel viser den kun én gang. Behandl den som en adgangskode. Den giver adgang til dit forbrug og din fakturering, så del den aldrig i offentlige repositories eller i chatbeskeder.

Nøglen sendes i alle direkte API-kald som en Bearer-token i formatet Authorization: Bearer $V0_API_KEY. Bruger du SDK’et i stedet, som vi gør i resten af guiden, læses den automatisk fra en miljøvariabel, så du sjældent skriver headeren manuelt.

Trin 3-4: Installer SDK’et og konfigurer miljøvariabler

Trin 3: Opret et projekt og installer SDK’et. Opret en ny mappe, initialisér et Node.js-projekt, og installér den officielle pakke, som ligger åbent tilgængelig på GitHub under vercel/v0-sdk.

mkdir mit-v0-projekt
cd mit-v0-projekt
pnpm init
pnpm add v0-sdk

SDK’et genereres direkte fra v0’s OpenAPI-skema. Det betyder, at det holder sig synkroniseret med API’et, uden at Vercel skal vedligeholde det manuelt hver gang de tilføjer en funktion. Det er samme princip, mange andre udviklerværktøjer bruger i 2026, blandt andet MCP-servere, som vi vender tilbage til i trin 9.

Trin 4: Sæt din miljøvariabel. Opret en .env.local-fil i projektets rod, og indsæt din nøgle fra trin 2.

V0_API_KEY=din_hemmelige_noegle_her

Tilføj filen til din .gitignore med det samme. Det lyder banalt, men det er den mest almindelige fejl blandt nye v0-brugere, og vi kommer tilbage til konsekvenserne i afsnittet om faldgruber.

Trin 5: Opret din første chat og generér en app

Nu er du klar til at skrive din første kode mod API’et. Opret en fil kaldet generer-app.js, og indsæt følgende. Klienten læser automatisk V0_API_KEY fra miljøvariablerne, så du ikke skal håndtere godkendelsen manuelt.

import { v0 } from 'v0-sdk'

async function genererApp() {
  const chat = await v0.chats.create({
    message: 'Byg et simpelt dashboard med en tabel over kunder og en søgefunktion',
  })

  console.log('Chat-id:', chat.id)
  console.log('Preview-URL:', chat.latestVersion?.demoUrl)
}

genererApp()

Kør filen med node generer-app.js. Efter nogle sekunder får du et chat-id tilbage samt en preview-URL, hvor v0 allerede har startet en udviklingsserver i en Vercel Sandbox med din nye app. Vercel formulerer selv flowet kort: “Create a chat from a prompt, stream its work, and render the live preview, all from your own interface” (opret en chat fra en prompt, stream dens arbejde, og vis den live preview, alt sammen fra din egen brugerflade).

Hver efterfølgende besked til samme chat-id fortsætter fra den nuværende tilstand af appen. Det gør det muligt at iterere (“tilføj et filter på status” eller “gør tabellen sorterbar”) uden at starte forfra hver gang.

Trin 6: Stream agentens arbejde i realtid

En enkelt chats.create-kald venter, til hele appen er færdig. For større apps kan det tage et halvt minut eller mere, og en bruger, der stirrer på en blank skærm i 30 sekunder, oplever det som langsomt. Løsningen er at streame svaret, så du kan vise fremskridt undervejs, ligesom v0.app selv gør i browseren.

const stream = await v0.chats.create({
  message: 'Byg en formular til at oprette supportsager med prioritet og kategori',
  responseMode: 'experimental_stream',
})

for await (const part of stream) {
  if (part.type === 'text-delta') {
    process.stdout.write(part.text)
  }
  if (part.type === 'finish') {
    console.log('\nFærdig. Preview:', part.demoUrl)
  }
}

API’et understøtter tre svarformer: synkron, asynkron og streaming. Til interaktive brugerflader er streaming det oplagte valg, fordi du kan vise, at agenten arbejder, filnavn for filnavn. Til baggrundsjobs, hvor ingen sidder og venter, er asynkron ofte enklere at bygge og vedligeholde.

Trin 7: Vis preview-URL’en i din egen frontend

Den genererede app kører allerede på en offentlig URL, så du behøver ikke selv hoste den under udvikling. Det nemmeste er at indlejre den i et iframe i din egen applikation, så brugeren aldrig forlader dit produkt.

function AppPreview({ demoUrl }) {
  return (
    <iframe
      src={demoUrl}
      className="w-full h-[600px] rounded-lg border"
      title="v0 preview"
    />
  )
}

Vil du have fuld kontrol over domænet, kan du i stedet sætte en proxy op, der henter indholdet fra preview-URL’en og server det under dit eget domæne. Det kræver mere arbejde, men er relevant, hvis du bygger en betalt tjeneste, hvor kunder aldrig skal se et vercel.app-domæne i browserens adresselinje.

Indlejrer du preview-URL’en direkte i et iframe på en produktionsside, bør du sætte en Content-Security-Policy op, der eksplicit tillader netop det Sandbox-domæne, v0 bruger, og ikke andet. Det forhindrer, at en fremtidig ændring i din CSP-konfiguration åbner for iframes fra vilkårlige domæner, hvilket ellers er en klassisk vej ind for clickjacking-angreb. Det samme princip gælder, uanset om du henter data fra v0, et betalingsmodul eller enhver anden tredjepartstjeneste.

Trin 8-9: Byg videre på eksisterende kode og forbind MCP

Trin 8: Importer et eksisterende GitHub-repository. v0 er ikke begrænset til at starte fra nul. Du kan pege API’et på et eksisterende repository, så agenten arbejder videre på din faktiske kodebase i stedet for at generere endnu et frontend-skelet.

const chat = await v0.chats.create({
  message: 'Tilføj mørkt tema til denne app baseret på eksisterende Tailwind-klasser',
  chatPrivacy: 'private',
  projectContext: {
    repo: 'dit-github-brugernavn/dit-repo',
    branch: 'main',
  },
})

Trin 9: Forbind v0 som en MCP-server. Model Context Protocol, forkortet MCP, er blevet standardmåden at give AI-agenter adgang til værktøjer på tværs af leverandører i 2026. v0 kan eksponeres som en MCP-server, så andre agenter, for eksempel dem, du kører i Cursor eller Claude Code, kan kalde v0’s app-generering som et værktøj blandt flere. Har du allerede en MCP-opsætning, følger konfigurationen samme mønster som andre MCP-servere.

{
  "mcpServers": {
    "v0": {
      "command": "npx",
      "args": ["-y", "v0-mcp"],
      "env": {
        "V0_API_KEY": "din_hemmelige_noegle_her"
      }
    }
  }
}

Læs mere om selve protokollen på Model Context Protocols officielle dokumentation, hvis du ikke har arbejdet med MCP før.

Trin 10: Integrer v0 med Vercel AI SDK

Bygger du allerede en agent med Vercel AI SDK, kan du give den v0’s app-generering som et af flere værktøjer, agenten selv vælger at bruge, når opgaven kalder på det. Det er praktisk, hvis du bygger et internt AI-værktøj, der både skal svare på spørgsmål og af og til generere en visuel prototype.

import { generateText, stepCountIs } from 'ai'
import { v0Tools } from 'v0-sdk/ai-tools'

const result = await generateText({
  model: 'anthropic/claude-sonnet-4.6',
  tools: v0Tools(),
  stopWhen: stepCountIs(10),
  prompt: 'Byg en landingsside til vores nye supportprodukt',
})

Bemærk grænsen på op til tre skills per forespørgsel, som v0’s agent-værktøjer arbejder inden for. Prøver du at bede agenten om for meget på én gang, for eksempel design, backend-logik og deployment i samme prompt, ender resultatet ofte med at blive mudret. Del store opgaver op i flere beskeder i stedet.

Fordelen ved at bundle v0 ind i en bredere agent frem for at kalde det isoleret er, at din agent selv kan afgøre, hvornår en opgave kræver en visuel prototype, og hvornår den bare skal svare med tekst eller data. Bygger I for eksempel en intern assistent til produktteamet, kan den samme agent svare på spørgsmål om roadmap og, når nogen beder om det, generere et konkret UI-udkast med det samme, uden at brugeren skal skifte mellem flere forskellige værktøjer.

Trin 11-12: Deploy og test dit færdige projekt

Trin 11: Deploy til Vercel med ét kald. Når du er tilfreds med resultatet i preview, kan du sende chatten direkte til en produktionsdeployment uden at klone koden ned lokalt først.

const deployment = await v0.deployments.create({
  chatId: chat.id,
  projectId: 'dit-vercel-projekt-id',
})

console.log('Live på:', deployment.url)

Trin 12: Hent koden lokalt og test den. Vil du køre videre på koden i din egen editor frem for kun i Sandbox-preview, kan du hente den fulde kildekode ud af chatten og køre den lokalt med de normale kommandoer.

npx v0 pull chat_abc123 --output ./mit-v0-projekt
cd mit-v0-projekt
pnpm install
pnpm dev

Herfra behandler du koden som ethvert andet Next.js-projekt. Du kan committe den til Git, køre dine egne tests og sætte CI op, præcis som du ville med kode, du selv skrev fra bunden.

Priser og modeller i september 2026

v0’s prisstruktur er delt i tre planer, som gælder globalt og dermed også for danske og nordiske teams. Free-planen er tænkt til at afprøve værktøjet, mens Plus og Business henvender sig til teams, der bruger v0 løbende i deres arbejde.

PlanPrisInkluderede creditsBegrænsninger
Free0 USD/måned5 USD i credits7 beskeder om dagen
Plus30 USD/bruger/måned30 USD + 2 USD daglig login-bonusAdgang til alle modeller, delt teambetaling
Business100 USD/bruger/måned30 USD + 2 USD daglig login-bonusTeamfunktioner til større organisationer

Ud over abonnementet betaler du for selve token-forbruget, som varierer efter, hvilken model der genererer din app. Priserne nedenfor er vendor-priser opgjort per million tokens.

ModelPris input (per 1M tokens)Pris output (per 1M tokens)
v0 Mini0,20 USD1,20 USD
v0 Pro2 USD10 USD
v0 Max5 USD25 USD
v0 Max Fast10 USD50 USD

v0 Max har gennemgået flere modelskift i løbet af 2025 og 2026: fra Claude Opus 4.5 i november 2025, over Opus 4.7 i maj 2026 og Opus 4.8, til Claude Opus 5 den 31. juli 2026. Den 28. august 2026 tilføjede Vercel desuden GPT-5.6 Sol fra OpenAI som endnu en modelmulighed i Max-tieret, hvilket giver dig et reelt valg mellem to forskellige AI-leverandører i samme værktøj. Detaljer om selve API-strukturen og modelvalg finder du i den officielle v2-dokumentation, mens opdaterede priser altid ligger på v0’s prisside.

For et lille team er den mest almindelige start Plus-planen, fordi Free-planens loft på 7 beskeder om dagen viser sig for lavt, så snart mere end én person i teamet tester samtidig. Regn med, at et team på tre til fem udviklere, der bruger v0 aktivt til daglige opgaver, hurtigt lander i den øvre ende af Plus-forbruget, hvilket er værd at have med i budgettet, før I ruller værktøjet ud bredt internt.

v0 sammenlignet med Bolt.new, Lovable og Replit Agent

v0 er langt fra alene om at generere hele apps fra en prompt. Forskellen mellem værktøjerne ligger typisk i, hvor meget de er bygget til at blive integreret i din egen kode frem for at leve som et selvstændigt produkt.

VærktøjHeadless APIPrimær stackBedst til
Vercel v0Ja, siden august 2026Next.js, shadcn/ui, TailwindTeams der allerede hoster på Vercel
Bolt.newBegrænsetBredere webstackHurtige prototyper i browseren
LovableNej, primært UI-drevetFuld stack med databaseIkke-tekniske grundlæggere der bygger et MVP
Replit AgentDelvist, via Replit-platformenBred sprogunderstøttelseUdviklere der vil have kode og hosting samlet ét sted

Vælger du mellem disse, er spørgsmålet ofte ikke, hvilket værktøj der “er bedst”, men hvilken stack dit team allerede har investeret i. Kører I i forvejen på Vercel, sparer det headless API’et jer for at flytte hosting til en tredje part. Er I ikke bundet til nogen platform endnu, vejer Lovables fokus på ikke-tekniske brugere og Replit Agents indbyggede hosting tungere.

Det er også værd at se på, hvor meget kontrol du har brug for over den underliggende kode. v0’s styrke er netop, at output er almindelig, læsbar Next.js-kode, du kan hente ned og redigere som ethvert andet projekt. Lovable og lignende UI-drevne byggere er ofte mere låst til deres egen platform, hvilket gør dem hurtigere at komme i gang med, men sværere at flytte væk fra, den dag jeres krav vokser ud over, hvad byggeren selv understøtter.

Databehandling og GDPR: hvad sker der med dine prompts

Som med enhver AI-tjeneste, der kører i skyen, sender du data ud af din egen infrastruktur, hver gang du kalder v0 API’et. Prompten, eventuel kode fra dit GitHub-repository og selve den genererede app behandles på Vercels infrastruktur, som primært kører i USA, selvom Vercel også har edge-lokationer i Europa til almindelig hosting. For danske og nordiske virksomheder, der arbejder med persondata under GDPR, betyder det, at du skal tænke over, hvad du reelt skriver i dine prompts.

Den praktiske regel er enkel: brug aldrig rigtige kundedata, CPR-numre, sundhedsoplysninger eller andet følsomt materiale i en prompt til v0, uanset hvor uskyldigt det virker. Skal du generere en tabel, der ligner jeres kundedatabase, så brug fiktive testdata eller anonymiserede eksempler i stedet for at klistre et udtræk fra produktionsdatabasen direkte ind i beskeden. Det samme gælder API-nøgler og adgangskoder til andre systemer, som aldrig bør stå i en prompt, uanset hvor midlertidig du tror, den er.

Arbejder din virksomhed under NIS2 eller har databehandleraftaler, der stiller specifikke krav til underleverandører, bør I have en juridisk vurdering af Vercels vilkår klar, før v0 API’et bruges til noget, der rører ved reelle kundedata. Til rene prototyper, interne demoer og apps bygget på syntetisk testdata er risikoen langt mindre, og det er her, de fleste teams med fordel starter, mens de bygger erfaring med værktøjet.

Komplet eksempelprojekt: byg et supportdashboard med v0 API

Sæt nu alle trinene sammen i ét sammenhængende projekt: et internt dashboard til at oprette og følge supportsager, som et lille dansk supportteam realistisk kunne bruge. Formålet med eksemplet er ikke kun at vise syntaksen, men at demonstrere, hvordan du i praksis arbejder iterativt med v0, i stedet for at forsøge at beskrive hele applikationen i én lang prompt.

Tanken er, at du starter med en simpel version, bekræfter at grundstrukturen virker, og først derefter beder om ekstra funktionalitet som grafer og filtre. Det er den samme arbejdsgang, erfarne v0-brugere anbefaler, fordi det er langt lettere at rette en lille fejl i en simpel app end at rode sig ud af et rodet resultat, hvor agenten har forsøgt at løse fem ting på én gang.

import { v0 } from 'v0-sdk'
import { writeFileSync } from 'fs'

async function byggSupportDashboard() {
  // Trin 1: opret grundstrukturen
  const chat = await v0.chats.create({
    message:
      'Byg et supportdashboard med en tabel over sager (id, kunde, status, prioritet), et filter på status, og en formular til at oprette nye sager',
  })

  console.log('Base-app klar:', chat.latestVersion?.demoUrl)

  // Trin 2: iterér med en opfølgende besked på samme chat
  const iteration = await v0.chats.sendMessage({
    chatId: chat.id,
    message: 'Tilføj en graf, der viser antal sager per prioritet de sidste 7 dage',
  })

  console.log('Med graf:', iteration.latestVersion?.demoUrl)

  // Trin 3: gem chat-id til senere brug (deploy, MCP, videre iteration)
  writeFileSync('sidste-chat.json', JSON.stringify({ chatId: chat.id }))
}

byggSupportDashboard()

Kør scriptet, åbn preview-URL’en, og test formularen med et par testcases. Virker det som forventet, deployer du med kommandoen fra trin 11, og henter koden lokalt med kommandoen fra trin 12, så resten af teamet kan committe ændringer i Git fremover. Hele forløbet, fra tom mappe til deployet dashboard, tager typisk 15-20 minutter, når du først har API-nøglen klar.

6 almindelige faldgruber, du skal undgå

  • At committe API-nøglen til Git. Sker det, skal du med det samme regenerere nøglen i din kontoprofil og opdatere alle steder, hvor den bruges. En eksponeret nøgle kan bruges til at trække credits fra din konto, indtil du opdager det.
  • At give agenten for mange opgaver i én prompt. Bed du om design, database, betaling og deployment i samme besked, bliver resultatet ofte inkonsistent. Del store opgaver op i flere opfølgende beskeder på samme chat.
  • At glemme forskellen på synkron og streaming. Bruger du synkron kald i en brugerflade, hvor brugeren venter, opleves ventetiden som langt værre, end den reelt er. Skift til streaming, så snart brugeren interagerer direkte med resultatet.
  • At overse credit-forbruget på Free-planen. Med kun 5 USD i credits og et loft på 7 beskeder om dagen løber du hurtigt tør, hvis du tester meget. Hold øje med forbruget i kontoen, før du planlægger en demo.
  • At antage, at alle modeller er tilgængelige på alle planer. Adgang til alle modeller kræver mindst Plus-planen. Free-brugere er begrænset til et snævrere udvalg, hvilket kan give andre resultater, end du forventer fra dokumentation eller eksempler online.
  • At ignorere GitHub-kontekst ved videreudvikling. Sender du en prompt uden at angive projectContext, starter v0 ofte forfra i stedet for at bygge videre på din eksisterende kode. Angiv altid repo og branch, når du arbejder på et eksisterende projekt.

Fejlfinding: 8 problemer og løsninger

De fleste fejl, du støder på i din første uge med v0 API’et, hører til en håndfuld kendte kategorier: forkert godkendelse, glemt kontekst eller misforståede grænser på din plan. Tabellen nedenfor samler de otte mest almindelige fejl, vi har set nordiske udviklere ramme, sammen med den konkrete løsning, så du kan slå op i stedet for at gætte.

ProblemSandsynlig årsagLøsning
401 UnauthorizedManglende eller forkert API-nøgleTjek at V0_API_KEY er sat korrekt i .env.local, og at filen faktisk indlæses
429 Too Many RequestsFree-planens grænse på 7 beskeder dagligt er nåetVent til grænsen nulstilles, eller opgrader til Plus
Preview-URL viser blank sideSandbox-serveren er stadig ved at starteVent 5-10 sekunder og genindlæs, eller lyt efter “finish”-eventet i streaming-svaret
Agenten ignorerer eksisterende kodeManglende projectContext i kaldetTilføj repo og branch eksplicit i din chats.create-forespørgsel
Streaming stopper midt i svaretNetværksafbrydelse eller timeout i din HTTP-klientSæt en højere timeout, og implementer automatisk genforsøg på afbrudte streams
MCP-serveren svarer ikkeForkert sti eller manglende miljøvariabel i MCP-konfigurationenBekræft V0_API_KEY er sat i MCP-serverens env-blok, ikke kun i din shell
Deployment fejler med projektfejlForkert eller manglende projectIdHent det korrekte projekt-id fra Vercel-dashboardet, ikke chat-id’et
Lokalt pnpm dev fejler efter v0 pullManglende afhængigheder eller forkert Node-versionKør pnpm install igen, og tjek at du kører Node 18 eller nyere

Avancerede tips til produktionsbrug

Når du bevæger dig fra eksperiment til produktion, er der et par ting, der gør en reel forskel. For det første: brug asynkron svarform til baggrundsjobs, hvor ingen bruger sidder og venter, for eksempel natlige rapporter eller batch-genereringer. Det sparer dig for at holde en åben forbindelse unødigt.

For det andet: læg et cachelag foran gentagne prompts. Beder flere brugere om stort set det samme (for eksempel en standard kontaktformular), kan du genbruge et tidligere chat-resultat i stedet for at betale for en ny generering hver gang. For det tredje: overvåg dit token-forbrug per model. v0 Max Fast koster fem gange så meget som v0 Pro per output-token, så reservér den til opgaver, hvor hastighed reelt betyder noget for brugeroplevelsen, og brug v0 Mini eller Pro til resten.

Endelig: sæt et separat Vercel-projekt op til v0-genereret kode, adskilt fra dine håndskrevne produktionsapplikationer. Det gør det lettere at rulle en dårlig generering tilbage, uden at det påvirker resten af jeres infrastruktur, og det giver et renere sted at måle, hvor meget værdi v0 reelt tilfører jeres udviklingsproces over tid.

Arbejder flere på samme v0-projekt, er det værd at aftale en fælles navngivning for chat-id’er, så I ikke ender med et virvar af glemte eksperimenter i kontoen. Gem chat-id’et sammen med den tilhørende Git-branch, hver gang en generering rent faktisk bliver til et rigtigt projekt, så I altid kan spore, hvilken prompt der oprindeligt skabte den kode, teamet nu vedligeholder. Det sparer jer for gætværk seks måneder senere, når nogen spørger, hvorfor en bestemt komponent ser ud, som den gør.

Du har nu været igennem hele forløbet: konto, API-nøgle, SDK, generering, streaming, GitHub-integration, MCP, AI SDK og deployment. Det næste skridt er at tage det med ind i et rigtigt projekt hos jer selv, gerne et lille internt værktøj først, hvor konsekvenserne af en fejlslagen generering er lave. Derfra bygger I selv erfaring med, hvornår v0 sparer jer tid, og hvornår en opgave stadig er hurtigere at kode i hånden.

Ofte stillede spørgsmål

Er v0 API’et gratis at bruge?
Der findes en Free-plan uden månedlig pris, men den er begrænset til 5 USD i credits og 7 beskeder om dagen. Til løbende brug i et team skal du regne med Plus-planen fra 30 USD per bruger om måneden.

Skal jeg bruge Next.js for at bruge v0?
Den genererede kode bygger som udgangspunkt på Next.js, shadcn/ui og Tailwind. Du kan stadig indlejre preview-URL’en i en app bygget i et andet framework via iframe, men selve den genererede kildekode er optimeret til Next.js.

Kan jeg bruge v0 uden Vercel-hosting?
Ja. Du kan hente koden lokalt med v0 pull og hoste den, hvor du vil. Den hurtigste og mest gnidningsfrie vej er dog stadig at deploye direkte til Vercel, fordi Sandbox-miljøet allerede kører der.

Hvilken model skal jeg vælge til daglig brug?
Start med v0 Pro til de fleste opgaver. Skift til v0 Max eller Max Fast, når du arbejder med komplekse apps med mange sammenhængende komponenter, og brug Mini til enkle, hurtige prototyper, hvor prisen betyder mere end kvaliteten.

Kan v0 arbejde sammen med andre AI-agenter?
Ja. Via MCP kan du eksponere v0 som et værktøj for andre agenter, og via Vercel AI SDK kan du give en eksisterende agent adgang til v0’s app-generering som et af flere trin i en større opgave.

Hvad sker der, hvis jeg overskrider mit credit-forbrug?
API-kald afvises, indtil du enten opgraderer din plan eller venter til dit forbrug nulstilles ved næste faktureringsperiode. Overvåg forbruget løbende i kontodashboardet for at undgå overraskelser midt i et projekt.

Er koden, v0 genererer, egnet til produktion direkte?
Den kan bruges som et solidt udgangspunkt, men behandl den som kode skrevet af en ny udvikler på teamet. Læs den igennem, tilføj tests, og gennemgå sikkerhed og fejlhåndtering, før den rammer rigtige brugere.

Hvordan adskiller v0 API sig fra den almindelige v0.app-brugerflade?
v0.app er en browserbaseret oplevelse til enkeltpersoner, der bygger interaktivt. API’et gør det samme muligt programmatisk, så du kan bygge v0’s app-generering ind i dine egne værktøjer, arbejdsgange og interne systemer, i stedet for at skifte til en browserfane hver gang.

Må jeg bruge v0 til kundevendte produkter, eller kun interne værktøjer?
Der er ingen teknisk begrænsning mod kundevendte produkter, men jo tættere du kommer på rigtige brugere og rigtige data, jo vigtigere bliver gennemgangen af sikkerhed, ydeevne og GDPR-forhold beskrevet tidligere i guiden. Mange teams starter med interne værktøjer, hvor fejl koster mindre, og flytter først til kundevendte projekter, når de har opbygget rutine.

Kan jeg bruge v0 API på dansk, eller skal prompts skrives på engelsk?
Du kan skrive prompts på dansk, og agenten forstår og genererer kode ud fra dem uden problemer. Selve den genererede kode, variabelnavne og kommentarer bliver dog typisk på engelsk, medmindre du eksplicit beder om andet, hvilket er værd at aftale internt i teamet, hvis I ønsker konsistente kodestandarder.