Dina produktbilder är ”helt okej” tills du behöver att de ser premium ut. Då är det samma röra: jaga källfiler, klistra in länkar i verktyg, vänta på redigeringar och till slut sitta med en mapp full av ”final_v7_ACTUALfinal.jpg”.
E-handelschefer känner av det när nya SKU:er landar varje vecka. Marknadsansvariga känner av det när kampanjer stannar upp för att materialet inte är klart. Och byråägaren som fastnar i att samordna båda sidor? Ärligt talat, de känner av det varje dag. Den här automatiseringen för produktfoto gör ett enkelt Google Sheet till ett repeterbart system för modell-liknande produktbilder.
Du får se hur flödet tar bild-URL:er från Sheets, genererar varumärkesanpassade ”mänsklig modell”-bilder med AI, sparar allt i Google Drive och lägger tillbaka de slutliga länkarna i kalkylarket så att teamet kan granska och publicera.
Så fungerar automatiseringen
Hela n8n-flödet, från trigger till slutligt resultat:
n8n Workflow Template: Google Sheets till Google Drive, proffsiga produktfoton
flowchart LR
subgraph sg0["When clicking 'Test workflow' Flow"]
direction LR
n0@{ icon: "mdi:brain", form: "rounded", label: "OpenAI Chat Model", pos: "b", h: 48 }
n1["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/merge.svg' width='40' height='40' /></div><br/>Merge"]
n2@{ icon: "mdi:database", form: "rounded", label: "Read Image URLs", pos: "b", h: 48 }
n3["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/httprequest.dark.svg' width='40' height='40' /></div><br/>Download Images"]
n4@{ icon: "mdi:robot", form: "rounded", label: "Analyze Images", pos: "b", h: 48 }
n5@{ icon: "mdi:robot", form: "rounded", label: "Product Photography Prompt", pos: "b", h: 48 }
n6["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/httprequest.dark.svg' width='40' height='40' /></div><br/>Send Image with Prompt to Op.."]
n7@{ icon: "mdi:cog", form: "rounded", label: "Convert Base64 to File", pos: "b", h: 48 }
n8@{ icon: "mdi:cog", form: "rounded", label: "Upload to Drive", pos: "b", h: 48 }
n9@{ icon: "mdi:database", form: "rounded", label: "Insert Image URL in Table", pos: "b", h: 48 }
n10@{ icon: "mdi:play-circle", form: "rounded", label: "When clicking 'Test workflow'", pos: "b", h: 48 }
n1 --> n6
n4 --> n5
n3 --> n4
n3 --> n1
n2 --> n3
n8 --> n9
n0 -.-> n5
n7 --> n8
n5 --> n1
n10 --> n2
n6 --> n7
end
subgraph sg1["Flow 2"]
direction LR
n11@{ icon: "mdi:cog", form: "rounded", label: "Convert to File", pos: "b", h: 48 }
n12["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/httprequest.dark.svg' width='40' height='40' /></div><br/>Generate Image"]
n12 --> n11
end
%% Styling
classDef trigger fill:#e8f5e9,stroke:#388e3c,stroke-width:2px
classDef ai fill:#e3f2fd,stroke:#1976d2,stroke-width:2px
classDef aiModel fill:#e8eaf6,stroke:#3f51b5,stroke-width:2px
classDef decision fill:#fff8e1,stroke:#f9a825,stroke-width:2px
classDef database fill:#fce4ec,stroke:#c2185b,stroke-width:2px
classDef api fill:#fff3e0,stroke:#e65100,stroke-width:2px
classDef code fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
classDef disabled stroke-dasharray: 5 5,opacity: 0.5
class n10 trigger
class n4,n5 ai
class n0 aiModel
class n2,n9 database
class n3,n6,n12 api
classDef customIcon fill:none,stroke:none
class n1,n3,n6,n12 customIcon
Problemet: produktfoton skalar inte med din katalog
När arbetsflödet är manuellt känns varje ny produkt som att börja om från början. Någon plockar en URL från ett ark, laddar ner bilden, laddar upp den i ett AI-verktyg, skriver en prompt från scratch, kör om för att modellen ser konstig ut, och sparar resultatet någonstans ”säkert” (vilket oftast betyder ”där de råkade komma ihåg”). Den svåraste delen är inte ens tiden. Det är inkonsekvensen. En produkt ser ut som en premium-studiosession, nästa ser ut som en slumpmässig lifestylebild, och plötsligt tappar din butik och dina annonser den där strukturerade, sammanhållna känslan som gör att folk litar på dig.
Friktionen byggs på. Här är var det faller isär.
- Varje produkt behöver en lite annorlunda prompt, så prompt-skrivande blir en flaskhals som i tysthet bromsar lanseringar.
- Team laddar ner och laddar upp samma bilder igen, eftersom det är svårt att hitta ”senaste” versionen.
- Granskning blir rörig när resultaten inte länkas tillbaka till källraden, vilket gör att Slack-meddelanden och kalkylark säger olika saker.
- Små fel smyger in (fel produkt, fel vinkel, fel fil), och du märker det oftast först när annonserna redan är igång.
Lösningen: gör ett Google Sheet till en AI-fotopipeline
Det här flödet läser produktbild-URL:er från ett Google Sheet och genererar automatiskt professionella, modell-liknande produktbilder för varje. Det börjar med att hämta rader som innehåller en Image-URL, och laddar sedan ner bilden så att den kan analyseras. AI tittar på produkten och beskriver vad det är (så du slipper gissa i prompten). Därefter skriver flödet en skräddarsydd fotoprompt som visar produkten med en mänsklig modell och håller en konsekvent ”studioskvalitet”-känsla. Sedan skickar det en bildredigerings-/genereringsförfrågan, konverterar resultatet till en riktig fil, laddar upp den till en Google Drive-mapp och uppdaterar originalraden i arket med den slutliga Drive-länken. Kalkylarket blir din tracker, din granskningskö och ditt överlämningsdokument.
Flödet startar med en manuell körning i n8n, vilket är perfekt när du vill ha kontroll under testning. Därifrån står Google Sheets för indata-listan, OpenAI hanterar analys och promptskapande, och Google Drive blir ”single source of truth” för de färdiga tillgångarna. Till sist uppdateras arket så att ingen behöver fråga: ”Vilken version är godkänd?”
Det du får: automatisering vs. resultat
| Det här flödet automatiserar | Resultat du får |
|---|---|
|
|
Exempel: så här ser det ut
Säg att du har 30 nya produkter som ska uppdateras den här veckan. Manuellt kanske du lägger cirka 10 minuter per produkt på att ladda ner, prompta, generera, spara och dela länkar, vilket blir ungefär 5 timmar av repetitivt arbete. Med det här flödet klistrar du in 30 bild-URL:er i Google Sheets, kör det en gång och låter det jobba medan du gör annat. Även om genereringen tar tid i bakgrunden sjunker din aktiva tid till cirka 20 minuter, och varje färdig bild hamnar i Google Drive med en länk direkt i arket.
Det här behöver du
- n8n-instans (prova n8n Cloud gratis)
- Självhostat alternativ om du föredrar det (Hostinger fungerar bra)
- Google Sheets för att lagra Image-URL, Prompt, Output.
- Google Drive för att lagra genererade bilder och dela länkar.
- OpenAI API-nyckel (hämta den i din OpenAI-dashboard och bekräfta åtkomst till gpt-image-1).
Svårighetsgrad: Medel. Du kopplar konton, mappar några kalkylarkskolumner och gör lätt prompt-justering.
Vill du inte sätta upp detta själv? Prata med en automationsspecialist (gratis 15-minuters konsultation).
Så fungerar det
Du startar en körning från n8n. Det börjar med en manuell start, vilket gör att du behåller kontrollen medan du finjusterar prompt-stil och mappstruktur i Drive.
Google Sheets blir inköpslistan. Flödet hämtar rader från ditt kalkylark och läser kolumnen Image-URL så att det vet exakt vilka produktbilder som ska bearbetas.
Bilder laddas ner och tolkas. En HTTP-förfrågan hämtar varje produktbild, och OpenAI analyserar vad som finns i bilden. Beskrivningen används för att skapa en specifik fotoprompt som inkluderar en mänsklig modell och en konsekvent studiokänsla, istället för en generisk ”gör detta bättre”-förfrågan.
Nya bilder genereras och arkiveras automatiskt. Flödet skickar redigerings-/genereringsförfrågan, konverterar den returnerade base64-datan till en bildfil, laddar upp den till din valda Google Drive-mapp och uppdaterar sedan samma kalkylarksrad med den slutliga länken.
Du kan enkelt justera prompt-stilen så att den matchar dina riktlinjer för varumärkesfotografering, utifrån dina behov. Se den fullständiga implementationsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementering
Steg 1: konfigurera den manuella triggern
Starta arbetsflödet med en manuell trigger så att ni kan validera bildpipen vid behov.
- Lägg till Manual Execution Start som triggernod.
- Låt standardinställningarna vara som de är; den här noden startar bara manuella körningar.
Steg 2: anslut Google Sheets för indata och uppdateringar
Hämta produktbilds-URL:er från ett kalkylark och skriv tillbaka de genererade resultaten till samma ark.
- Öppna Fetch Image Links och välj kalkylarket: ställ in Document till
[YOUR_ID]och Sheet tillProduct Images. - Autentisering krävs: anslut era googleSheetsOAuth2Api-uppgifter i Fetch Image Links.
- Öppna Update Sheet Row och behåll Operation inställd på
update. - I Update Sheet Row, mappa kolumner: Output till
{{ $json.webViewLink }}, Prompt till{{ $('Generate Photo Prompt').item.json.text }}, och Image-URL till{{ $('Fetch Image Links').item.json['Image-URL'] }}. - Autentisering krävs: anslut era googleSheetsOAuth2Api-uppgifter i Update Sheet Row.
Steg 3: hämta och tolka produktbilder (parallell bearbetning)
Det här steget laddar ner varje bild och kör parallella spår för att både beskriva den och förbereda den för sammanslagning.
- I Retrieve Image Files, ställ in URL till
{{ $json['Image-URL'] }}för att ladda ner varje bild från arket. - Konfigurera Interpret Visuals med Resource inställd på
image, Input Type tillbase64, och Text tillBriefly explain in less than 5 words what this image is about.. - Autentisering krävs: anslut era openAiApi-uppgifter i Interpret Visuals.
- Retrieve Image Files skickar utdata parallellt till både Interpret Visuals och Combine Streams.
Tips: Om bild-URL:erna ger 403- eller 404-fel, kontrollera att käll-URL:erna i arket är publika och direkt åtkomliga via HTTP.
Steg 4: sätt upp kedjan för generering av AI-prompt
Använd den visuella beskrivningen för att skapa en professionell prompt för produktfotografering för bildredigering.
- I Generate Photo Prompt, ställ in Text till
Image description: {{ $json.content }}. - Behåll Prompt Type inställd på
defineoch behåll instruktionen i långformat för konsekvent promptutdata. - OpenAI Chat Engine är ansluten som språkmodell för Generate Photo Prompt — säkerställ att autentiseringsuppgifter är tillagda i OpenAI Chat Engine.
- Autentisering krävs: anslut era openAiApi-uppgifter i OpenAI Chat Engine.
Steg 5: kombinera strömmar och skicka bildredigering
Slå ihop originalbilden med AI-prompten och skicka redigeringsbegäran till OpenAI.
- I Combine Streams, ställ in Mode till
combineoch Combine By tillcombineByPosition. - I Submit Image Edit Request, ställ in URL till
https://api.openai.com/v1/images/editsoch Method tillPOST. - Ställ in Content Type till
multipart-form-dataoch inkludera body-parametrar: modelgpt-image-1, prompt{{ $json.text }}, image[] från binärfältetdata, qualityhigh, och size1536x1024. - Autentisering krävs: anslut era openAiApi-uppgifter i Submit Image Edit Request.
⚠️ Vanlig fallgrop: Om bildredigeringen misslyckas, bekräfta att inkommande binärfältsnamn är data och att prompten kommer från Generate Photo Prompt via Combine Streams.
Steg 6: avkoda, lagra och logga utdata
Konvertera OpenAI-svaret till en binär bild, lagra den i Drive och uppdatera ert spårningsark.
- I Decode Base64 File, ställ in Operation till
toBinaryoch Source Property tilldata[0].b64_json. - I Store in Drive, ställ in Name till
{{ $('Interpret Visuals').item.json.content }}, välj Drive somMy Drive, och ställ in Folder till[YOUR_ID]. - Autentisering krävs: anslut era googleDriveOAuth2Api-uppgifter i Store in Drive.
- Säkerställ att Store in Drive är ansluten till Update Sheet Row för att logga
webViewLink-utdata.
Steg 7: valfria verktygsnoder för rendering
Arbetsflödet innehåller verktygsnoder för fristående bildgenerering och binär konvertering, användbart för testning eller framtida utbyggnad.
- Granska Utility: Create Image Render med URL inställd på
https://api.openai.com/v1/images/generationsoch ett statiskt prompt-värde. - Autentisering krävs: anslut era openAiApi-uppgifter i Utility: Create Image Render.
- Bekräfta att Utility: Create Image Render skickar utdata till Utility: Binary File Builder med Source Property inställd på
data[0].b64_json.
Steg 8: testa och aktivera ert arbetsflöde
Kör ett manuellt test för att säkerställa att bilder bearbetas, lagras och loggas korrekt innan ni aktiverar användning i produktion.
- Klicka på Execute Workflow från Manual Execution Start och följ hur körningen går via Fetch Image Links till Update Sheet Row.
- En lyckad körning ska skapa en fil i Google Drive via Store in Drive och skriva utdata-länken samt prompten till arket via Update Sheet Row.
- Om allt ser korrekt ut, växla arbetsflödet till Active för löpande användning.
Vanliga fallgropar
- Google Sheets-inloggningar kan gå ut eller kräva specifika behörigheter. Om något skapar fel, kontrollera först n8n-inloggningen och delningsåtkomsten till kalkylarket.
- Om du använder Wait-noder eller extern rendering varierar processtiderna. Öka väntetiden om noder längre fram misslyckas på grund av tomma svar.
- Standardprompter i AI-noder är generiska. Lägg in din varumärkesröst tidigt, annars kommer du redigera resultaten i all evighet.
Vanliga frågor
Räkna med cirka 30 minuter om dina konton och din mapp redan är klara.
Nej. Du kopplar främst Google- och OpenAI-konton och mappar sedan kolumner som Image-URL och Output.
Ja. n8n har ett gratis självhostat alternativ och en gratis provperiod på n8n Cloud. Cloud-planer börjar på 20 USD/månad för högre volym. Du behöver också räkna in OpenAI API-kostnader (ofta några cent per bild, beroende på storlek och volym).
Två alternativ: n8n Cloud (hanterat, enklast att komma igång) eller självhostning på en VPS. För självhostning är Hostinger VPS prisvärd och hanterar n8n bra. Självhostning ger dig obegränsade körningar men kräver grundläggande serveradministration.
Ja, och det bör du. Du kan justera steget ”Generate Photo Prompt” för att styra ljus, bakgrund, modellbeskrivning och inramning, och du kan också ändra steget ”Submit Image Edit Request” så att det matchar den outputstorlek du använder för annonser eller PDP:er. Vanliga justeringar är ”white seamless studio”, ”lifestyle indoor” och ”hands-only model shots” för produkter där en hel person blir distraherande. Om du redan har en stilguide, klistra in nyckelrader i prompten så att AI:n slutar gissa.
Oftast beror det på utgångna inloggningsuppgifter eller att arket inte är delat till samma Google-konto som du autentiserade i n8n. Återanslut Google Sheets-inloggningen och bekräfta sedan att kalkylarkets namn och flik fortfarande matchar vad noden förväntar sig. Om kolumnrubriken är felstavad (den måste vara ”Image-URL”) kommer noden att köras, men stegen efteråt har inget användbart att bearbeta.
Den kan hantera hundratals rader i en batch, men den verkliga begränsningen är din n8n-körkvot (om du kör Cloud) plus OpenAI:s hastighetsbegränsningar på ditt konto.
Ofta, ja. Den här typen av flöde behöver vanligtvis flera steg (ladda ner bilden, tolka den, skriva en prompt, generera, konvertera filen, ladda upp och sedan uppdatera arket), och n8n hanterar förgreningar och dataformning utan att varje steg blir en extra debiterbar uppgift. Du får också möjligheten att självhosta, vilket spelar roll om du kör stora batchar. Zapier eller Make kan fortfarande fungera för enklare flöden, men pipelines för bildgenerering blir snabbt klumpiga. Om du vill ha en second opinion innan du lägger tid, prata med en automationsspecialist.
När detta är på plats blir ditt ark produktionslinan och Google Drive blir biblioteket. Du får bättre produktbilder utan att förvandla veckan till ett ladda ner–ladda upp–upprepa-maraton.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.