Du lyckas till slut få alla att skicka en porträttbild. Sedan börjar det riktiga jobbet: beskära, fixa konstigt ljus, byta stökiga bakgrunder och jaga omtagningar för att någon laddade upp en selfie från bilen.
HR-chefer känner igen det här vid varje onboarding. Rekryteringsteam och kontorsadministratörer också. Den här Drive Defapi-automationen förvandlar en rörig Google Drive-mapp till konsekventa, ID-klara porträtt utan att du behöver bo i Photoshop.
Du får se hur flödet körs, vad det levererar och vad du behöver för att sätta upp det så att teamet kan hantera porträttbilder i bulk, på beställning.
Så fungerar den här automationen
Hela n8n-flödet, från trigger till slutresultat:
n8n Workflow Template: Google Drive till Defapi: enhetliga id-foton i bulk
flowchart LR
subgraph sg0["On form submission Flow"]
direction LR
n0["<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/>Obtain the generated status"]
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/httprequest.dark.svg' width='40' height='40' /></div><br/>Send Image Generation Reques.."]
n2@{ icon: "mdi:cog", form: "rounded", label: "Wait for Image Processing Co..", pos: "b", h: 48 }
n3@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Check if Image Generation is..", pos: "b", h: 48 }
n4@{ icon: "mdi:swap-vertical", form: "rounded", label: "Format and Display Image Res..", pos: "b", h: 48 }
n5@{ icon: "mdi:cog", form: "rounded", label: "Search files and folders", 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/form.svg' width='40' height='40' /></div><br/>On form submission"]
n7["<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/code.svg' width='40' height='40' /></div><br/>Code in JavaScript"]
n8@{ icon: "mdi:cog", form: "rounded", label: "Upload file", pos: "b", h: 48 }
n9["<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/>HTTP Request"]
n9 --> n8
n7 --> n1
n6 --> n5
n5 --> n7
n0 --> n3
n4 --> n9
n2 --> n0
n3 --> n4
n3 --> n2
n1 --> n2
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 n6 trigger
class n3 decision
class n0,n1,n9 api
class n7 code
classDef customIcon fill:none,stroke:none
class n0,n1,n6,n7,n9 customIcon
Problemet: ID-foton är ”enkla” tills de inte är det
Att få ett ID-foto att se okej ut är enkelt. Att få 40 att se konsekventa ut är där team tappar hela eftermiddagar. Du får en mix av bakgrunder, kameravinklar, skuggor och inramning som kapar axlar eller lämnar massor av tom yta ovanför någons huvud. Sedan kommer fram och tillbaka: ”Kan du ta om den här mot en slät vägg?” och ”Snälla, använd inga filter.” Det handlar inte bara om tid. Det är den konstanta kontextväxlingen, de små subjektiva besluten och att du ändå landar i ett badge-ark som ser osammanhängande ut.
Inget av det här är problemet i sig. Tillsammans är det det.
- Varje manuell beskärning skapar inkonsekvens, så slutresultatet ser ut som att det kommer från fem olika företag.
- Omtagningar saktar ner onboarding eftersom folk svarar när de känner för det, inte när du behöver att brickan blir utskriven.
- Små fel staplas snabbt när du exporterar, döper om och laddar upp dussintals filer igen.
- Även ”snabba fixar” tar timmar när du räknar in granskning, revideringar och att hålla koll på vad som är klart.
Lösningen: batchbearbeta porträttbilder från Google Drive med Defapi
Det här flödet börjar med en enkel formulärinsändning där du klistrar in två Google Drive-mapp-länkar: en mapp med råbilderna och en mapp där de färdiga porträtten ska hamna. Därifrån hämtar n8n varje bild från din indatamapp och förbereder en genereringsbegäran för varje fil. Det skickar bilderna till Defapi (med Googles Gemini-modell ”nano-banana”) med en prompt utformad för professionella ID-standarder: konsekvent inramning, en neutral bakgrundsfärg och business casual-klädsel som ser naturlig ut. Medan bilderna renderas pollar flödet genereringsstatus var 10:e sekund och går vidare först när varje resultat är klart. Till sist laddar det ner det färdiga porträttet och laddar upp det direkt tillbaka till din utdatamapp i Google Drive.
Flödet startar när formuläret skickas in. Sedan loopar det igenom varje foto i Drive-mappen, skickar det till Defapi, väntar tills bearbetningen är klar och sparar det förbättrade resultatet på din valda destination. Du granskar utdatamappen, inte ett dussin webbläsarflikar.
Vad du får: automation vs. resultat
| Vad det här flödet automatiserar | Resultat du får |
|---|---|
|
|
Exempel: så här ser det ut
Säg att du behöver 25 passerkortsbilder för ett nytt intag. Manuellt kan du lägga cirka 7 minuter per bild på beskärning, bakgrundsstädning, grundläggande färgjusteringar och ny export, vilket blir ungefär 3 timmar (och det är innan omtagningar). Med det här flödet laddar du upp alla 25 foton till en Drive-mapp, klistrar in två mapp-URL:er i formuläret (cirka 2 minuter) och väntar sedan medan Defapi bearbetar varje bild. När det är klart har utdatamappen 25 konsekventa porträtt redo att granskas.
Det här behöver du
- n8n-instans (testa n8n Cloud gratis)
- Alternativ för self-hosting om du föredrar det (Hostinger fungerar bra)
- Google Drive för att lagra mappar för indata och utdata
- Defapi för att generera konsekventa porträtt i ID-stil
- Defapi API-nyckel (hämta den i din Defapi-kontos dashboard)
Kunskapsnivå: Medel. Du kopplar Google Drive OAuth, lägger till en bearer token-credential och klistrar in mapp-URL:er i formuläret.
Vill du inte sätta upp det här själv? Prata med en automationsexpert (gratis 15-minuters konsultation).
Så fungerar det
En formulärinsändning startar allt. Du klistrar in URL till din Google Drive-indatamapp, URL till utdatamappen och kan även lägga till en egen prompt om du har specifika ID-krav.
Foton samlas in från din Drive-mapp. n8n söker i indatamappen och hämtar format som stöds, som JPG, PNG och WebP, så du slipper välja filer en och en.
Defapi genererar de standardiserade porträtten. Varje bild skickas via en HTTP-request med standardprompten ”professionellt ID-foto” (eller din egen variant), och sedan väntar n8n och pollar tills Defapi rapporterar att genereringen är klar.
Färdiga bilder sparas tillbaka till Google Drive. Flödet laddar ner den renderade filen och laddar upp den till din utdatamapp, så du får en plats att granska och godkänna.
Du kan enkelt ändra bakgrundsfärgen och regler för ansiktsuttryck för att matcha lokala ID-krav. Se hela implementationsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementation
Steg 1: konfigurera formulärtriggern
Konfigurera formuläret som samlar in webbadresserna till Google Drive-mapparna för indata och utdata samt en valfri prompt för bildförbättringen.
- Lägg till och öppna Form Submission Trigger.
- Ställ in Form Title på
Set Google Drive. - Bekräfta att formulärfälten inkluderar Google Drive - Input Folder URL, Google Drive - Output Folder URL och Prompt med den angivna platshållartexten.
Steg 2: anslut Google Drive
Hämta källbilderna från Drive och spara senare de förbättrade bilderna i utdatamappen.
- Öppna Retrieve Drive Items och ställ in Folder ID på
{{ $json['Google Drive - Input Folder URL'] }}. - Ställ in Fields på
{{ ["mimeType","name","id","webViewLink", "imageMediaMetadata", "webContentLink", "thumbnailLink"] }}och aktivera Return All. - Autentiseringsuppgifter krävs: Anslut era googleDriveOAuth2Api-autentiseringsuppgifter i Retrieve Drive Items.
- Öppna Store Image to Drive och ställ in Folder ID på
{{ $('Form Submission Trigger').item.json['Google Drive - Output Folder URL'] }}. - Autentiseringsuppgifter krävs: Anslut era googleDriveOAuth2Api-autentiseringsuppgifter i Store Image to Drive.
Steg 3: konfigurera byggaren för bild-payload
Omvandla varje Google Drive-fil till en payload som innehåller prompten och bildens URL.
- Öppna Prepare Image Payloads och bekräfta att JavaScript bygger
prompt,imageochnameför varje objekt. - Verifiera att fallback-logiken för prompten använder
{{ $('Form Submission Trigger').first().json.Prompt }}eller platshållaren från formulärkonfigurationen. - Säkerställ att Prepare Image Payloads är kopplad till Dispatch Generation Request enligt exekveringsflödet.
webContentLink misslyckas när det externa API:et försöker hämta bilden.Steg 4: konfigurera genereringsförfrågan och pollningsloopen
Skicka förbättringsförfrågan till det externa API:et, vänta och polla tills uppgiften är klar.
- Öppna Dispatch Generation Request och ställ in URL på
https://api.defapi.org/api/image/genoch Method påPOST. - Ställ in JSON Body på
{ "prompt": "{{$json.prompt}}", "model": "google/nano-banana", "images": ["{{ $json.image }}"] }och låt Send Body vara aktiverat. - Autentiseringsuppgifter krävs: Anslut era httpBearerAuth-autentiseringsuppgifter i Dispatch Generation Request.
- Öppna Delay for Processing och ställ in Amount på
10för att pausa innan pollning. - Öppna Fetch Generation Status och ställ in URL på
https://api.defapi.org/api/task/querymed Query Parametertask_idsatt till{{ $json.data.task_id }}. - Autentiseringsuppgifter krävs: Anslut era httpBearerAuth-autentiseringsuppgifter i Fetch Generation Status.
- I Validate Completion State behåller ni villkoret Left Value
{{ $json.data.status }}notEqualspendingför att skicka slutförda uppgifter vidare och väntande uppgifter tillbaka till Delay for Processing.
Steg 5: konfigurera resultatkomposition och fillagring
Sammanfatta resultatet, ladda ned den renderade bilden och spara den tillbaka till Google Drive.
- Öppna Compose Result Summary och bekräfta att tilldelningen av markdown_content använder
{{$json.data?.status}},{{$json.data?.result?.[0]?.text}}och{{$json.data?.result?.[0]?.image}}. - Säkerställ att tilldelningen av image är satt till
{{ $json.data?.result?.[0]?.image }}. - Öppna Download Rendered Image och ställ in URL på
{{ $json.image }}med Response Format som fil. - Verifiera att exekveringsflödet kopplar Download Rendered Image → Store Image to Drive.
Steg 6: testa och aktivera ert arbetsflöde
Kör ett fullständigt test för att bekräfta att formulärinskicket triggar förbättringspipelinen och sparar den slutliga bilden.
- Klicka på Execute Workflow och skicka in formuläret med giltiga URL:er till Drive-mapparna för indata och utdata.
- Verifiera att Retrieve Drive Items hämtar filer och att Dispatch Generation Request returnerar ett
task_id. - Bekräfta att Validate Completion State till slut routar till Compose Result Summary och Download Rendered Image.
- Kontrollera utdatamappen för att säkerställa att Store Image to Drive har sparat den nya bildfilen.
- När allt fungerar växlar ni arbetsflödet till Active för produktionsanvändning.
Vanliga fallgropar
- Google Drive-credentials kan löpa ut eller kräva specifika behörigheter. Om det skapar fel, kontrollera det anslutna kontot i n8n-credentials och bekräfta först Drive OAuth-scope.
- Om du använder Wait-noder eller extern rendering varierar behandlingstiderna. Öka väntetiden om nedströmsnoder fallerar på tomma svar.
- Defapi-prompter är kraftfulla men petiga. Om din ”professionell klädsel”-förändring ser konstig ut, skärp prompten tidigt så att du inte behöver köra om samma batch om och om igen.
Vanliga frågor
Cirka 30 minuter om dina Google Drive- och Defapi-konton är redo.
Nej, ingen kodning krävs. Du klistrar mest in mapp-URL:er, kopplar credentials och (valfritt) justerar prompttexten.
Ja. n8n har ett gratis self-hosted-alternativ och en gratis testperiod på n8n Cloud. Cloud-planer börjar på 20 USD/månad för högre volym. Du behöver också räkna in Defapi API-användning baserat på hur många bilder du genererar.
Två alternativ: n8n Cloud (hanterat, enklast att komma igång) eller self-hosting på en VPS. För self-hosting är Hostinger VPS prisvärd och klarar n8n bra. Self-hosting ger dig obegränsade körningar men kräver grundläggande serverhantering.
Ja, och det bör du. Byt ut standardprompten mot passkrav som en helt vit bakgrund (#ffffff), ett helt neutralt ansiktsuttryck och striktare inramningsregler (ansiktet tar upp större delen av bilden). Du behöver inte ändra Google Drive- eller Defapi-stegen alls; den stora förändringen sker i prompten som skickas vid genereringsbegäran. Många team lägger också till ”ingen glasögonreflex” och ”öron synliga” om de matchar myndighetsstandarder.
Oftast beror det på en utgången eller felaktig bearer token i dina n8n HTTP Bearer Auth-credentials som heter ”Defapi account”. Uppdatera token och kör sedan om en enda testbild. Om det fortfarande misslyckas, kontrollera om ditt konto har användningsbegränsningar eller om API:et returnerar ”pending” längre än vad din vänteloop förväntar sig.
En typisk batch med dussintals bilder fungerar bra; de faktiska begränsningarna beror på din n8n-plan och hur snabbt Defapi hanterar varje begäran.
Ofta, ja, helt enkelt eftersom den här typen av flöde kräver polling och villkorslogik. n8n hanterar ”vänta, kontrollera status, loopa tills klart” snyggt, och du fastnar inte i plattformsbegränsningar när du bearbetar en hel mapp med bilder. Self-hosting är också viktigt om du kör stora batcher, eftersom du inte betalar per litet steg på samma sätt. Zapier eller Make kan fortfarande fungera om dina behov är väldigt enkla, till exempel att bearbeta en bild i taget utan statuskontroller. Prata med en automationsexpert om du vill ha hjälp att välja rätt upplägg.
Sätt upp det en gång och hantera sedan ID-foton som ett batchjobb i stället för ett återkommande irritationsmoment. Flödet tar hand om den repetitiva finputsningen så att du kan lägga tiden på onboarding, inte beskärning.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.