Nano Banana 2 er den bildegenererings-modellen jeg bruker til nesten alt nå — featured images, Facebook-plakater, illustrasjoner til artikler, scener med meg selv i dem. Den er bygget på Google Gemini Flash Image og tilgjengelig via fal.ai sitt API. Pris: 8 øre per bilde.

Men det som gjør den annerledes er ikke prisen. Det er at den ikke er en diffusjonsmodell. Den er et LLM — et multimodalt språkmodell som tenker i setninger, planlegger komposisjoner og forstår kontekst. Det endrer alt ved hvordan du prompter den.

Jeg har kjørt lokale AI-bildemodeller siden Stable Diffusion 1 i 2022. Jeg vet hva det vil si å sitte og jage det perfekte bildet med negative prompts, vektet token-syntaks og checkpoint-mixing. Nano Banana 2 er noe helt annet. Denne guiden er alt jeg har lært — fra grunnleggende prompting til å bygge eget webgrensesnitt mot API-et.

Hva er egentlig Nano Banana 2?

Nano Banana 2 er Googles eget kallenavn på Gemini 3.1 Flash Image — du finner det til og med i Gemini-appen selv: «Generate image with Nano Banana 2». Kallenavnet brukes av Google og alle API-leverandører som tilbyr modellen, inkludert fal.ai, Runware og kie.ai. Det er ikke en diffusjonsmodell som Stable Diffusion, Flux eller DALL-E. Det er et reasoning-basert multimodalt LLM som genererer bilder.

I praksis betyr det at modellen jobber i en trestegssløyfe:

  • Plan — modellen planlegger komposisjonen basert på teksten din
  • Evaluate — den validerer at logikken i scenen stemmer
  • Improve — den forbedrer resultatet

En diffusjonsmodell starter fra støy og trekker ut bilde-piksler gradvis basert på nøkkelord-vekting. Nano Banana 2 tenker — den forstår hva du ber om og bygger scenen med en form for intern resonnering. Det er derfor den håndterer komplekse, kontekstrike scener så bra, og det er derfor promptingen fungerer annerledes.

Sett fra 10 000 meters høyde: Nano Banana 2 er til bilder det GPT-4o er til tekst. Det er ikke det raskeste, ikke det billigste for store volumer, men det er det smarteste — og det du ber om er faktisk det du får.

Prompting fra bunnen av — slik tenker du riktig

Her er den mest kritiske greia å forstå: Nano Banana 2 er et LLM. Skriv setninger, ikke tag-lister.

Hvis du har brukt diffusjonsmodeller som Stable Diffusion eller Flux, er du vant til å skrive slik:

cinematic, 4K, masterpiece, best quality, shallow dof, f1.8, bokeh, dramatic lighting, hyperrealistic

I Nano Banana 2 fungerer ikke det. «Masterpiece» og «best quality» er ubrukelig støy. Komma-separerte tag-lister er diffusjons-tankegang. Vektet token-syntaks som (word:1.4) er DALL-E/Stable Diffusion-greier. Negative prompts finnes ikke som parameter.

Det som fungerer er vanlige, beskrivende setninger — og modellen forstår norsk utmerket:

En middelaldrende norsk mann i mørk ullkåpe lener seg mot en betongvegg i en
neonbelyst bakgate. Skutt fra lav vinkel, 85mm portrettlinse, grunn dybdeskarphet,
mørk cyberpunk-atmosfære.

Google har publisert et hierarki for hvordan prompten bør bygges opp — og det fungerer godt i praksis:

  1. Subjekt — hvem eller hva er i scenen
  2. Komposisjon — innramming, vinkel, shot type
  3. Handling — hva skjer i bildet
  4. Lokasjon — setting og miljø
  5. Stil — estetisk retning, linse, lys

Lengde: 1–3 setninger for enkle bilder. Lenger hvis du vil ha tekst i bildet eller komplekse komposisjoner. Modellen takler opptil 50 000 tegn i prompten — men mer er ikke alltid bedre.

Mann i mørk hettegenser koder sent på kvelden med varm skrivebordslampe og blått skjermlys - eksempel på Nano Banana 2 bildegenerering
Generert med Nano Banana 2 — et eksempel på hvordan modellen håndterer dobbel lyssetting og naturlig komposisjon

Reklame og markedsføringsbilder — NB2 er overraskende god

Noe av det første jeg testet var Facebook-annonse-bilder og produktbilder. Jeg var skeptisk — reklamebilder krever presisjon, riktige farger, ren komposisjon. Men Nano Banana 2 leverer her.

Nøkkelen er å spesifisere at det er et reklame- eller produktbilde. Modellen vet hva det vil si:

Produktfotografi. En glassflaske med norsk mineralvann på en mørk skiferflate,
vanndråper på flasken, små grønne urtekvister ved siden av. Ren hvit kantbelysning
ovenfra, mørk stemningsfull bakgrunn. Kommersiell fotografi, skarp fokus på produkt,
lett dybdeuskarphet.

For Facebook-plakater og scroll-stoppende design er det annerledes — her vil du ofte ha tekst i bildet. NB2 er faktisk god på å plassere tekst riktig i komposisjoner. Beskriv nøyaktig hva teksten skal si og hvor den skal stå:

Reklameplakat med mørk bakgrunn og dramatisk belysning. Stor sentrert tekst
"Prøv gratis i 30 dager" i ren hvit sans-serif typografi. Under teksten,
en glødende laptop med AI-grensesnitt synlig. Profesjonell, høy kontrast,
scroll-stoppende design for sosiale medier.

Tips: Hvis du genererer bilder uten tekst og legger til tekst i ettertid (i Canva, Figma, etc.), legg til «no text in image» i prompten. Da unngår du at modellen slenger inn uønskede labels eller captions på egenhånd.

Illustrasjoner til blogg og artikler

For artikkelbilder vil du som regel ha noe som kommuniserer et konsept raskt. Her er illustrasjonsstil og enkel komposisjon bedre enn hyperrealistiske scener.

Tre stilkoder som fungerer konsistent:

  • Editorial photography aesthetic — glossy, magasin-aktig, polert
  • Documentary style, natural light — autentisk, virkelig, uten overdrivelse
  • Modern flat illustration, clean design — konseptuelt, grafisk, skalerer bra til alle skjermstørrelser

For konseptbilder om AI, teknologi og automatisering: ikke overtenk det. Beskriv det du vil kommunisere direkte:

Konseptuell illustrasjon av AI-automatisering. En menneskehånd og en robotarm
jobber side om side ved et laptop-tastatur, varm studiobelysning, minimalistisk
komposisjon, profesjonell redaksjonell stil. Ingen tekst i bildet.

Jeg bruker NB2 til alle bilder på denne bloggen nå. Tidligere kombinerte jeg fal.ai, kie.ai og Runware avhengig av oppgaven — men NB2 har etter hvert tatt over mesteparten.

image_edit — slik plasserer du deg selv i en scene

Dette er der Nano Banana 2 virkelig skiller seg fra alt annet. Med nanobanana2_image_edit-endepunktet kan du sende et referansebilde — for eksempel et bilde av deg selv — og be modellen plassere den personen i en helt ny scene. Ingen masker. Ingen inpainting-børster. Du beskriver hva du vil, modellen gjør resten.

Jeg bruker dette til alle featured images på jansverre.net. Referansebilde: et klart foto av meg. Prompt: scenen jeg vil ha. Resultat: meg i den scenen.

Men det er noen kritiske regler for å bevare ansiktet:

Regel 1: Start alltid med en identity header. Første setning i prompten låser identiteten:

Mannen fra referansebildet — behold ansiktet, hudtonen og identiteten identisk.

Regel 2: Avslutt alltid med en lock-setning:

Ingen morphing. Behold ansiktsgeometrien uendret.

Regel 3: Gjør én stor endring om gangen. Vil du bytte bakgrunn, klær OG lyssetting? Gjør det i separate runder. Å pakke alt inn i én prompt øker risikoen for at noe glipper — og ansiktet er det som oftest glipper.

Regel 4: Gå tilbake til originalbildet ved identitetsdrift. Etter 2–3 runder med iterering begynner ansiktet å drive. Når det skjer: ikke fortsett fra det driftede resultatet. Last opp originalreferansen på nytt og start sekvensen fra scratch.

Her er mal-prompten jeg bruker til featured images:

Mannen fra referansebildet — behold ansiktet, hudtonen og identiteten identisk.
[Shot type]. Han [handling/reaksjon] [i setting].
[Lyssetting]. [Stil]. 16:9, ingen tekst i bildet.
Behold ansiktsgeometrien uendret.
Mann sjekker telefon på regnvåt bygate om natten med refleksjoner i sølepyttene - Nano Banana 2 kinematisk scene
Kinematisk scene generert med Nano Banana 2 — regn, byrefleksjoner og naturlig telefonlys

Shot types — bruk fotografisk språk

Nano Banana 2 responderer presist på fotografiske termer. Dette er en direkte konsekvens av at den er et LLM som er trent på enorme mengder bildetekst — den vet hva et «over-the-shoulder shot» er.

Her er de viktigste shot types og når jeg bruker dem:

  • Wide establishing shot — personen liten i omgivelsene, gir atmosfære og kontekst
  • Medium close-up — klassisk portrett, skulder og ansikt, mest brukt
  • Over-the-shoulder shot — personen ser på noe, skjerm, bok, utsikt
  • Low-angle shot — skyter oppover, gir dramatikk og autoritetsfølelse
  • Bird’s eye view — fugleperspektiv, oversikt, mønstre
  • Dutch angle — skrå kameravinkel, uro, spenning, noe er galt

Kombinert med linse-språk blir bildene enda mer presise:

  • 85mm portrait lens, shallow depth of field — klassisk portrett med bokeh
  • Wide-angle shot, f/8, everything in focus — dokumentar, skarp bakgrunn
  • 35mm street photography — uformell, autentisk, nær
  • Macro lens, extreme close-up — detaljer og tekstur

Problemet de fleste har med for like resultater — samme pose, samme vinkel bilde etter bilde — løser seg umiddelbart når du varierer shot type eksplisitt i hver prompt. NB2 gjetter ikke; den gjør akkurat det du spesifiserer.

Lyssetting — dette er der stemningen bor

Lyssetting er det enkeltgrepet som gjør mest for bildets atmosfære. Nano Banana 2 forstår lyssetting-terminologi fra fotografi nøyaktig — beskriv det som en fotograf ville beskrevet det til en lysassistent.

Mine mest brukte lyssettings-fraser:

  • Late afternoon golden light raking across from the left, long shadows — varm, dramatisk, kinematisk
  • Overcast diffused light, no hard shadows, soft editorial feel — ren, journalistisk, god for portrett
  • Rim light from behind, silhouette partially defined — dramatisk kontur, mørk stemning
  • Neon ambient light, blues and purples, cyberpunk — urban, futuristisk, tech-stemning
  • Single desk lamp warm amber, darkness around — intim, sen kveld, intenst fokus
  • Warm amber desk lamp from the left, blue screen glow from the right — klassisk «person ved PC på kvelden»-bilde

Kombinasjonen av to lyskilder gir som regel de beste resultatene — det skaper dybde og kontrast som ser naturlig ut. «Warm amber desk lamp from the left, cool blue from screen on the right» er faktisk den kombinasjonen jeg bruker mest til featured images her på bloggen.

Stil-koder som fungerer

Utover lyssetting er det noen overordnede stil-koder som endrer helhetsinntrykket:

  • Editorial photography aesthetic — glossy, magasin-look, polert og kommersielt
  • Documentary style, natural light — autentisk, ekte, som om en fotograf bare var til stede
  • 1970s film photography aesthetic — NB2 infererer korn, fargegrading og komposisjon automatisk fra denne koden. Slår aldri feil.
  • Cinematic, anamorphic lens flares — filmatisk, kinoaktig, bred
  • Flat lay, top-down, product photography style — clean og oversiktlig, bra for utstyr og produkter

Stilen legger du alltid sist i prompten — etter subjekt, komposisjon, handling og lokasjon. Stilkoden er krydderet, ikke hovedretten.

Mann ser på holografisk AI-grensesnitt med hjernenettverk i mørkt serverrom - Nano Banana 2 fremtidsteknologi
Fremtidsteknologi-scene generert med Nano Banana 2 — holografisk grensesnitt med AI-visualisering

Iterering og redigering — den store fordelen

Her er den delen de fleste ikke snakker om: Nano Banana 2 er en dialog. Du genererer et bilde, ser hva du vil endre, og ber om akkurat den endringen. Det fungerer overraskende bra — og det er en enorm fordel over diffusjonsmodeller.

Diffusjonsmodeller er i praksis lotto. Du justerer prompten, genererer på nytt, og håper på det beste. Nano Banana 2 lar deg iterere presist:

Skjerp ansiktet, behold alt annet uendret.
Fiks fingertuppene, behold alt annet uendret.
Fjern teksten i nedre venstre hjørne. Behold alt annet identisk.
Bytt bakgrunnen til et moderne åpent kontorlandskap. Behold personen, lyssettingen
og forgrunnen identisk.
Endre jakken hans fra grå til mørk marineblå. Behold alt annet uendret.

Regelen for iterering: be om SMÅ, isolerte endringer. «Endre bare X, behold resten» er den kraftigste setnings-konstruksjonen i hele NB2-arsenalet. Jo mer spesifikt du avgrenser hva som skal endres, jo mer stabilt forblir det du vil beholde.

Vanlige ting å fikse i ettertid:

  • Bløtt ansikt — legg til Skarpe ansiktstrekk, tydelig hudtekstur, ingen glatting, fotorealistisk detalj
  • Rare hender — be om Fiks fingertuppene, behold alt annet uendret eller unngå hender med hender utenfor bildet
  • Uønsket tekstFjern all tekst fra bildet. Behold komposisjonen og motivene identisk.
  • Feil fargeEndre [element] til [farge]. Behold alt annet uendret.

API-bruk og parametere

Jeg bruker Nano Banana 2 via fal.ai sitt REST API og har bygget et enkelt webgrensesnitt på toppen for raskt å teste prompts. Med Claude Code som kodemiljø tok det noen timer å sette opp — og nå kan jeg generere bilder direkte fra en egen side uten å gå via fal.ai sin nettside.

De viktigste parameterne å kjenne til:

  • prompt — påkrevd. Natural language. 3–50 000 tegn.
  • image_urls — liste med offentlig tilgjengelige URL-er, opptil 14 referansebilder
  • num_images — standard er 1. Bruk 2–4 når du utforsker, 1 ved produksjon
  • aspect_ratio — «16:9» for featured images, «1:1» for sosiale medier, «9:16» for Instagram Stories
  • resolution — «1K» er standard og nok for web ($0.08). «2K» og «4K» koster mer og trenger du sjelden for nett.
  • output_format — «png» som standard, så komprimerer jeg til WebP etterpå
  • seed — sett et fast tall for reproduserbare resultater. Nyttig når du vil generere varianter av akkurat det samme bildet
  • safety_tolerance — standard er «4». Øk til «5» eller «6» hvis kreative prompts blokkeres uten åpenbar grunn
  • enable_web_search — slå på hvis du refererer til virkelige steder eller hendelser modellen bør søke opp

For referansebilde-workflow (image_edit): bildet må være offentlig tilgjengelig via URL. Jeg laster opp til for midlertidige referanser, eller bruker filer fra min egen filserver på files.jansverre.tv for faste referansebilder.

Typisk oppsett for featured images: aspect_ratio: "16:9", resolution: "1K", output_format: "png", num_images: 2 under iterering, num_images: 1 ved endelig produksjon.

Google AI Studio — gratis tilgang uten kredittkort

Det er en ting mange ikke vet: du kan bruke Nano Banana 2 helt gratis, direkte i nettleseren, uten å registrere betalingskort. Google AI Studio er Googles egen utviklerportal for alle Gemini-modeller — og bildegenerering er inkludert.

Kvotene per mars 2026 er ganske romslige:

  • AI Studio webgrensesnitt: 500–1 000 bilder per dag med Nano Banana 2
  • Gemini API (uten billing): 500 forespørsler per dag — nok til å teste og lage scripts
  • Gemini-appen (gemini.google.com): 100 bilder per dag med eldre Nano Banana (2.5 Flash Image)

Kvoten nullstilles ved midnatt Pacific Time. For de fleste brukstilfeller — testing, bloggbilder, eksperimentering — er dette mer enn nok uten å betale en krone.

Slik kommer du i gang på 2 minutter

  1. Gå til aistudio.google.com
  2. Logg inn med Google-kontoen din
  3. Klikk «Create new prompt»
  4. Velg modell: gemini-3.1-flash-image-preview (det er Nano Banana 2)
  5. Under «Output format» — aktiver «Image» i tillegg til tekst
  6. Skriv prompten din og trykk Run

Bildet vises direkte i nettleseren. Ingen koding, ingen oppsett, ingen faktura.

Vil du ha API-tilgang? Klikk «Get API key» øverst — du får en gratis nøkkel som fungerer med de 500 daglige forespørslene. Det er denne nøkkelen du bruker i Python-koden lengre ned i artikkelen.

En liten hake: Nano Banana Pro krever at du har lagt inn en betalingsmetode i Google Cloud — du trenger ikke bruke penger, men kortet må registreres. For Nano Banana 2 via AI Studio er det ingen slik begrensning.

Gemini API direkte — uten mellomledd

fal.ai er komfortabelt og enkelt. Men det er et mellomledd — og det koster litt ekstra. Bruker du Gemini API direkte betaler du omtrent 6,7 øre per bilde i 1K (mot 8 øre via fal.ai). For store volumer gir det seg.

Det er ikke vanskeligere enn fal.ai, egentlig. Tre linjer for å installere pakken, så er du i gang:

pip install google-genai pillow

Enklest mulig eksempel — fra prompt til bilde på disk:

from google import genai
from google.genai import types
import base64, io
from PIL import Image

client = genai.Client(api_key="DIN_API_NOKKEL_HER")

response = client.models.generate_content(
    model="gemini-3.1-flash-image-preview",
    contents="En norsk fisker på en trebåt i solnedgang, Lofoten i bakgrunnen, dramatisk kveldslys, vidvinkel",
    config=types.GenerateContentConfig(
        response_modalities=["TEXT", "IMAGE"],
        image_config=types.ImageConfig(
            aspect_ratio="16:9",
            image_size="1K"
        )
    )
)

for part in response.candidates[0].content.parts:
    if part.inline_data:
        img = Image.open(io.BytesIO(base64.b64decode(part.inline_data.data)))
        img.save("fisker.png")
        print("Ferdig — fisker.png lagret")

Merk at bildet returneres som base64-data direkte i responsen — ikke som en URL du må laste ned. Det er annerledes fra fal.ai-arbeidsflyten.

Bilderedigering med API — send inn eksisterende bilde

Vil du redigere et eksisterende bilde programmatisk — bytte bakgrunn, endre farger, legge til elementer — sender du bare bildet inn som del av innholdet:

import PIL.Image

original_image = PIL.Image.open("produkt.jpg")

response = client.models.generate_content(
    model="gemini-3.1-flash-image-preview",
    contents=[
        original_image,
        "Bytt bakgrunnen til et rent hvitt studiobakgrunn. Behold produktet nøyaktig slik det er."
    ],
    config=types.GenerateContentConfig(
        response_modalities=["TEXT", "IMAGE"]
    )
)

Dette er grunnlaget for all iterativ redigering via API. Du sender bilde + tekstinstruksjon, modellen returnerer det redigerte bildet. Loopen kan gjentas så mange ganger du vil.

Størrelser og sideforhold

Direkte API har litt flere størrelsesvalg enn fal.ai-grensesnittet eksponerer:

  • "0.5K" — 512px (kun Flash, ikke Pro) — rask og billig for testing
  • "1K" — 1024px — standard for web og blogg
  • "2K" — 2048px — god for print-nær kvalitet
  • "4K" — 4096px — maksimum, krever mer tid og koster tilsvarende mer

Sideforhold: 1:1, 16:9, 9:16, 4:3, 3:4, 21:9 og flere. Flash-modellen støtter også ekstreme sideforhold som 1:4 og 8:1 — nyttig for bannere og striper.

Thinking Mode og Batch API

To API-funksjoner som er verdt å kjenne til:

Thinking Mode lar deg kontrollere hvor mye modellen «tenker» før den genererer. Høyere budget = bedre komposisjon, men tregere:

config=types.GenerateContentConfig(
    response_modalities=["TEXT", "IMAGE"],
    thinking_config=types.ThinkingConfig(
        thinking_budget=1024  # 0 = av, høyere = mer tenking
    )
)

Batch API gir 50% rabatt på alle modeller — mot at du godtar opptil 24 timers responstid. Lagrer du bilder til et bibliotek og ikke trenger dem med en gang, er dette et åpenbart valg.

Vertex AI — når GDPR og SLA er ikke-forhandlingsbart

For de aller fleste — bloggere, frilansere, små bedrifter — er Gemini Developer API riktig valg. Men én situasjon gjør Vertex AI til det eneste riktige alternativet: når du behandler sensitiv kundedata og trenger dokumentert GDPR-compliance.

Vertex AI er Googles enterprise-skyplattform. Samme Nano Banana 2-modell, men med:

  • EU-region-kontroll: Data prosesseres i Frankfurt, ikke i USA
  • SLA-garantier: Oppetidsgarantier og support-nivåer
  • Google Cloud IAM: Granulert tilgangskontroll for team
  • Data residency-dokumentasjon: Nødvendig for mange bransjer (helse, finans)

Grunnleggende forskjell: Gemini Developer API autentiserer med en enkel API-nøkkel. Vertex bruker Google Cloud IAM — mer oppsett, men full kontroll. Prisen er tilsvarende Developer API, men uten gratis-tier.

Vertex tilbyr også Imagen 4 — Googles egne diffusjonsmodeller (ikke Gemini-basert) med dedikert inpainting-API. Mer presis objektfjerning og -innsetting enn conversational Gemini. Relevant for produktbilder der du vil fjerne spesifikke elementer med piksel-presis maske.

For en typisk norsk SMB som lager produktbilder og blogginnhold: Developer API er uproblematisk. Vertex blir relevant hvis kunden eller bransjen din krever det.

Iterativ redigering via API — loop av bilde og instruksjon

Det som gjør Gemini Flash Image annerledes fra diffusjonsmodeller er at den husker kontekst mellom runder. Du kan sende et bilde tilbake og be om presise endringer — uten å starte fra scratch.

Kodeeksempelet under viser multi-turn redigering: én chat-sesjon der du bygger opp bildet steg for steg:

from google import genai
from google.genai import types

client = genai.Client(api_key="DIN_API_NOKKEL")

# Start en chat-sesjon som husker kontekst
chat = client.chats.create(
    model="gemini-3.1-flash-image-preview",
    config=types.GenerateContentConfig(
        response_modalities=["TEXT", "IMAGE"]
    )
)

# Runde 1: Generer grunnbildet
svar1 = chat.send_message(
    "En produktflaske med norsk mineralvann på en mørk skiferflate, "
    "rent hvitt kantlys ovenfra, profesjonell produktfotografi"
)

# Runde 2: Juster uten å forklare hele scenen på nytt
svar2 = chat.send_message(
    "Endre bakgrunnen til mørk granitt. Behold flasken og lyssettingen identisk."
)

# Runde 3: Legg til element
svar3 = chat.send_message(
    "Legg til en liten kvist frisk timian til venstre for flasken. "
    "Matche lysingen i resten av bildet."
)

Nøkkelordet i hver instruksjon: «Behold [X] identisk». Fortell modellen hva som ikke skal endre seg, ikke bare hva som skal endre seg. Det er den setningskonstruksjonen som holder komposisjonen stabil over mange runder.

Praktiske redigeringsscenarier som fungerer godt:

  • Bakgrunnsbytte: «Bytt bakgrunnen til rent hvitt studio. Behold produktet nøyaktig slik det er.»
  • Fargeendring: «Endre jakken fra rød til marineblå. Behold alt annet uendret.»
  • Fjerne tekst: «Fjern all synlig tekst fra bildet. Behold bakgrunnsstrukturen.»
  • Legge til elementer: «Legg til en dampende kaffekopp på skrivebordet til venstre for laptopen. Match lyssettingen i scenen.»
  • Stiloverføring: «Gjenskap denne bygatescenen i Van Goghs stil — svingete penseldrag, dramatiske blå og gule toner.»

Én viktig begrensning: etter 4–6 runder begynner karakterkonsistensen å gli, spesielt ansikter. Når det skjer — start ny chat, beskriv karakteren detaljert i første prompt, og bruk opptil 14 referansebilder for å låse utseendet.

Bygge eget webgrensesnitt

Jeg har bygget mitt eget — et enkelt grensesnitt der jeg skriver prompt, velger sideforhold og størrelse, og får bildet rett i nettleseren uten å gå via fal.ai. Tok noen timer med Claude Code. Nå er det bare en fane jeg åpner.

Det finnes tre veier:

Alternativ 1: Nano Banana Studio (ferdig på 5 minutter)

Noen har gjort jobben for deg. Nano Banana Studio på GitHub er en ferdig FastAPI + Streamlit-app med 7 innebygde workflows: tekstbasert generering, bilderedigering, annonsevarianter, bildsammenslåing, gammel-foto-restaurering og mer.

git clone https://github.com/Nazmul0005/Nano-Banana-Studio
cd Nano-Banana-Studio
pip install uv && uv sync

# Terminal 1:
uv run backend.py          # Starter FastAPI på localhost:8000

# Terminal 2:
uv run streamlit run frontend.py  # Starter UI på localhost:8501

Åpne localhost:8501, lim inn Gemini API-nøkkelen i sidepanelet — ferdig. Ingen kredittkort, ingen skyhosting, kjører lokalt på din maskin.

Alternativ 2: Minimal FastAPI-backend (bygg selv)

Vil du ha full kontroll og bygge videre på noe enkelt? Her er en minimal backend som eksponerer ett endepunkt:

from fastapi import FastAPI, HTTPException
from fastapi.responses import Response
from google import genai
from google.genai import types
import base64
from pydantic import BaseModel

app = FastAPI()
client = genai.Client(api_key="DIN_API_NOKKEL")

class BildeForespørsel(BaseModel):
    prompt: str
    sideforhold: str = "16:9"
    storrelse: str = "1K"

@app.post("/generer")
async def generer_bilde(forespørsel: BildeForespørsel):
    try:
        response = client.models.generate_content(
            model="gemini-3.1-flash-image-preview",
            contents=forespørsel.prompt,
            config=types.GenerateContentConfig(
                response_modalities=["TEXT", "IMAGE"],
                image_config=types.ImageConfig(
                    aspect_ratio=forespørsel.sideforhold,
                    image_size=forespørsel.storrelse
                )
            )
        )
        for part in response.candidates[0].content.parts:
            if part.inline_data:
                return Response(
                    content=base64.b64decode(part.inline_data.data),
                    media_type="image/png"
                )
    except Exception as e:
        raise HTTPException(status_code=500, detail=str(e))

Start med uvicorn main:app --reload. Frontend kan være så enkel som et HTML-skjema som POSTer til /generer og viser bildet som returneres.

Alternativ 3: Gradio (enklest for å dele med andre)

Vil du dele et testgrensesnitt raskt — med kolleger, kunder, deg selv på en annen maskin — er Gradio det raskeste valget:

import gradio as gr
from google import genai
from google.genai import types
import base64
from PIL import Image
import io

client = genai.Client(api_key="DIN_API_NOKKEL")

def generer(prompt, sideforhold, storrelse):
    response = client.models.generate_content(
        model="gemini-3.1-flash-image-preview",
        contents=prompt,
        config=types.GenerateContentConfig(
            response_modalities=["TEXT", "IMAGE"],
            image_config=types.ImageConfig(
                aspect_ratio=sideforhold,
                image_size=storrelse
            )
        )
    )
    for part in response.candidates[0].content.parts:
        if part.inline_data:
            return Image.open(io.BytesIO(base64.b64decode(part.inline_data.data)))

demo = gr.Interface(
    fn=generer,
    inputs=[
        gr.Textbox(label="Prompt (skriv på norsk)"),
        gr.Dropdown(["1:1", "16:9", "9:16", "4:3"], label="Sideforhold"),
        gr.Dropdown(["0.5K", "1K", "2K", "4K"], label="Størrelse")
    ],
    outputs=gr.Image(label="Generert bilde")
)

demo.launch()

pip install gradio google-genai pillow — så kjører du filen. Gradio gir deg en delbar lenke automatisk. Nyttig for å la andre teste uten å sette opp noe selv.

Har du allerede brukt OpenRouter til andre modeller, er det forresten mulig å kalle Nano Banana 2 via OpenRouter også — modell-ID er google/gemini-3.1-flash-image-preview. Én API-nøkkel for alt. Litt høyere overhead enn direkte Gemini API, men praktisk hvis du allerede er i OpenRouter-økosystemet.

Nano Banana 2 vs Nano Banana Pro — hva er forskjellen?

Det finnes to varianter på fal.ai:

  • Nano Banana 2 (fal-ai/nano-banana-2) — Gemini 3.1 Flash Image. $0.08/bilde i 1K. 4–8 sekunder.
  • Nano Banana Pro (fal-ai/nano-banana-pro) — Gemini 3 Pro. $0.15/bilde i 1K. 10–20 sekunder.

NB2 er raskere, billigere, og har thinking mode (du kan velge minimal eller høy grad av resonering). Pro er tregere og nesten dobbelt så dyrt — men gir noe høyere kvalitet på de mest krevende scenene.

Min regel: NB2 er standardvalget for alt. Pro bruker jeg kun til de absolutt viktigste hero-bildene — en thumbnail som skal brukes på 10 000 visninger, eller en plakat som skal printes. For bloggen her: nesten utelukkende NB2.

Pro har ikke web search grounding. NB2 har det. Så vil du generere bilder basert på referanser til virkelige steder, hendelser eller produkter — bruk NB2 med enable_web_search: true.

Jeg skrev en gjennomgang da NB2 ble lansert — og mye av det jeg sa der holder fortsatt. Hastigheten er det som imponerer mest i hverdagen.

Konkrete prompt-eksempler du kan bruke direkte

Her er de prompt-malene jeg bruker mest — ferdig til å tilpasse:

Person reagerer på nyhet (featured image):

Mannen fra referansebildet — behold ansikt og identitet identisk.
Medium nærbilder, litt lav vinkel. Han sitter ved en pult og ser rett i kamera
med et halvsmil, laptop åpen foran seg med kode på skjermen. Sen kveld,
varm skrivebordslampe fra venstre, kjølig blått skjermlys fra høyre.
Redaksjonell fotografi, litt kinematisk. 16:9, ingen tekst i bildet.
Behold ansiktsgeometrien uendret.

Dramatisk/episk scene:

Mannen fra referansebildet — behold ansikt og identitet identisk.
Bredt etableringsshot. Han står alene på en regnvåt Oslo-gate om natten,
bylys reflekteres i sølepyttene, holder en telefon som lyser blått.
Skutt bakfra og litt ovenfra. Kinematisk, dempet med lett teal-oransje fargegrading.
16:9, ingen tekst i bildet.

Fremtidsteknologi:

Mannen fra referansebildet — behold ansikt og identitet identisk.
Over-skulder-shot som ser på et massivt holografisk AI-grensesnitt som svever
i luften i et mørkt serverrom. Dramatisk blått og hvitt lys fra hologrammene
lyser opp ansiktet hans. Ærefrykt og fokus i uttrykket.
Kinematisk, vidvinkel, 16:9. Behold ansiktsgeometrien uendret.

Hverdagslig og relaterbar:

Mannen fra referansebildet — behold ansikt og identitet identisk.
Naturlig medium shot. Han sitter ved kjøkkenbordet om morgenen, kaffekopp i begge
hender, stirrer på mobilskjermen med lett hevede øyenbryn — leser tydelig noe
overraskende. Naturlig morgenlys fra vinduet, varmt og mykt.
Dokumentarstil. 16:9, ingen tekst i bildet.
Mann med kaffekopp ved kjøkkenbordet om morgenen ser overrasket på nettbrett - Nano Banana 2 hverdagsscene
Hverdagsscene generert med Nano Banana 2 — naturlig morgenlys og relaterbar situasjon

Hva dette betyr for grafiske designere og kreative yrker

Jeg sier det rett ut: AI har allerede tatt over mye av det illustratører og fotografer gjorde for nettsider og blogger. Ikke alt — langt ifra — men den rutinepregede delen: artikkelbilder, sosiale medie-illustrasjoner, enkle produktbilder. Det skjer nå, ikke om fem år.

NB2 til 8 øre per bilde, ferdig på 6 sekunder. Det er realiteten. Og det som er spesielt med NB2 er at terskelen for å bruke det er svært lav. Du trenger ikke forstå diffusjonsmodeller, negative prompts, checkpoints eller VAE-er. Du skriver som du snakker. En frilansskribent, en podkast-vert, en liten bedrift som trenger illustrasjoner — de kan gjøre dette selv.

Det betyr ikke at alt grafisk designarbeid forsvinner. Merkevarebygging, strategisk kommunikasjon, animasjon, kompleks konseptuell illustrasjon — der er menneskelig kompetanse fortsatt avgjørende. Men det rutinepregede arbeidet med «vi trenger et bilde til bloggposten» er ferdigautomatisert. Det vet de fleste grafiske designere godt.

Personlig synes jeg det er fascinerende mer enn skremmende — fordi det gir enkeltpersoner kraftverktøy som tidligere krevde budsjetter. En person med en god idé kan nå lage professionelt visuelt innhold uten å sette bort arbeidet.

Vanlige feil og løsninger

En kjapp oppsummering av hva som går galt og hva du gjør med det:

  • Ansiktet ser annerledes ut: Legg til identity header i starten og lock-setning på slutten. Forenkle prompten — en for lang prompt distraherer modellen fra å fokusere på identiteten.
  • Bløtt/uskarp ansikt: Legg til Skarpe ansiktstrekk, tydelig hudtekstur, ingen glatting, fotorealistisk detalj
  • Rare hender: Fiks fingertuppene, behold alt annet uendret — eller unngå hender med hender utenfor bildet
  • Identitetsdrift etter mange runder: Gå tilbake til originalreferansen. Ikke fortsett fra det driftede bildet.
  • For like bilder gang etter gang: Varier shot type eksplisitt. «Wide establishing» en gang, «dutch angle» neste, «over-the-shoulder» etter det.
  • Prompt blokkeres av safety-filter: Øk safety_tolerance til 5 eller 6.

Sjekkliste: Alt du trenger for å komme i gang

  • Opprett konto på fal.ai og generer en API-nøkkel
  • Bruk nanobanana2_text_to_image for bilder uten referanse
  • Bruk nanobanana2_image_edit for bilder med referanseperson/referansescene
  • Referansebilder må være offentlig tilgjengelig via URL (tmpfiles.org for midlertidige)
  • Standardoppsett: aspect_ratio: "16:9", resolution: "1K", output_format: "png"
  • Komprimer til WebP under 200KB før du laster opp til WordPress eller nettsiden din
  • Skriv setninger — ikke tag-lister
  • Bruk identity header + lock-setning ved referansebilder
  • Varier shot type for å unngå repetitive resultater
  • Iterer med isolerte endringer: «endre bare X, behold resten»

Det er egentlig alt. Nano Banana 2 er ikke mer komplisert enn det. Skriv som du snakker, bygg scenen logisk, og bruk fotografisk terminologi for å spesifisere vinkel og lys. Resten fikser modellen selv.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *

Meld deg på nyhetsbrevet

Få oppdateringer om AI nyhetene rett i inboxen!

Du liker kanskje denne også
Jan Sverre arbeider med Suno AI musikk-generering på datamaskinen, kreativt workspace med hodetelefoner

Suno AI – 150 Låter Testet: Hva Funker og Hva Er Bortkastet Tid

Jeg testet 150 Suno-låter og fant tydelige mønstre. Her er hva som faktisk gir kvalitet, og hva som bare kaster bort tid.
Jan Sverre med headphones og lydmikser i boardroom-møte med forvirrede executives

Suno AI Copyright 2026 – Opphavsrett og Rettigheter for AI-Musikk

Kan du tjene penger på Suno-musikk? Her er en praktisk gjennomgang av rettigheter, risiko og hva du bør avklare før publisering.
Jan Sverre riding a dinosaur in safari outfit, photorealistic AI-generated image demonstrating Nano Banana Pro capabilities

Jeg testet Nano Banana Pro: AI som faktisk skriver norsk i bilder

Endelig! En AI som kan generere norsk tekst i bilder med 94% nøyaktighet. Jeg testet Nano Banana Pro grundig – her er resultatene.
Jan Sverre sitter ved sitt kraftige AI-workstation oppsett med ultrawide skjerm og flere PC-er som kjører Ollama og lokale LLM-modeller

Ollama Guide – Kjør AI Gratis og Lokalt på Din Egen PC (2026)

Komplett guide til Ollama og lokale LLM-er på RTX 4090. Lær quantisering, Hugging Face import, beste modeller (Gemma 3, Qwen 3), GDPR-fordeler og full kostnadskontroll.