Du kör ett bildjobb, du väntar, du uppdaterar. Sedan inser du att du aldrig sparade utdata-URL:en, eller att körningen misslyckades och ingen märkte det. Så blir ”snabba kreativa uppgifter” i tysthet en stökig backlog.
Marknadschefer som trycker ut kampanjvisualer känner igen det. En content lead som försöker hålla ordning på varumärkets tillgångar känner det också. Till och med en liten byråägare hamnar i detektivarbete. Den här Replicate Sheets-automationen stoppar jakten genom att generera porträtt och logga varje körning på ett ställe.
Nedan ser du hur arbetsflödet triggar ett bildgenereringsjobb i Replicate, kontrollerar att det blir klart med återförsökslogik och skriver korrekt formaterade resultat i Google Sheets så att du snabbt kan hämta färdiga porträtt.
Så här fungerar automatiseringen
Se hur detta löser problemet:
n8n Workflow Template: Replicate + Google Sheets: porträtt spåras åt dig
flowchart LR
subgraph sg0["Manual Flow"]
direction LR
n0@{ icon: "mdi:play-circle", form: "rounded", label: "Manual Trigger", pos: "b", h: 48 }
n1@{ icon: "mdi:swap-vertical", form: "rounded", label: "Set API Token", pos: "b", h: 48 }
n2@{ icon: "mdi:swap-vertical", form: "rounded", label: "Set Image Parameters", 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/>Create Image Prediction"]
n4@{ icon: "mdi:cog", form: "rounded", label: "Wait 5s", pos: "b", h: 48 }
n5["<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/>Check Status"]
n6@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Is Complete?", pos: "b", h: 48 }
n7@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Has Failed?", pos: "b", h: 48 }
n8@{ icon: "mdi:cog", form: "rounded", label: "Wait 10s", pos: "b", h: 48 }
n9@{ icon: "mdi:swap-vertical", form: "rounded", label: "Success Response", pos: "b", h: 48 }
n10@{ icon: "mdi:swap-vertical", form: "rounded", label: "Error Response", pos: "b", h: 48 }
n11@{ icon: "mdi:swap-vertical", form: "rounded", label: "Display Result", 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/code.svg' width='40' height='40' /></div><br/>Log Request"]
n4 --> n5
n8 --> n5
n7 --> n10
n7 --> n8
n12 --> n4
n5 --> n6
n6 --> n9
n6 --> n7
n1 --> n2
n10 --> n11
n0 --> n1
n9 --> n11
n2 --> n3
n3 --> n12
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 n0 trigger
class n6,n7 decision
class n3,n5 api
class n12 code
classDef customIcon fill:none,stroke:none
class n3,n5,n12 customIcon
Utmaningen: spåra porträttgenerering utan kaos
Att generera en porträttserie låter enkelt tills du gör det om och om igen. Du skickar in en bild och en prompt, och sedan hoppar du mellan flikar för att kolla status, kopiera URL:er och försöka komma ihåg vilka inställningar du använde för vilken körning. Om du testar variationer för en kampanj blir det ännu värre eftersom ”engångsstegen” multipliceras: begär, vänta, kontrollera, försök igen, dokumentera, dela. Kostnaden är inte bara tid. Det är den mentala belastningen av att hålla ordning på körningar och risken att tappa bort utdata precis när någon ber om ”versionen från i går”.
Det växer snabbt. Här är var det oftast faller isär i verkligheten.
- Du kör om samma prompt eftersom den tidigare utdata-länken inte fångades upp någonstans pålitligt.
- Statuskontroll blir en vana av ständig uppdatering, vilket innebär fler avbrott och fler misstag.
- Team tappar kontext eftersom parametrarna ligger i någons anteckningar, inte bredvid de resulterande bilderna.
- När API:et returnerar ett fel eller ett långsamt jobb blir manuella återförsök inkonsekventa och folk ger upp för tidigt.
Lösningen: Replicate-porträtt genereras och loggas i Google Sheets
Det här arbetsflödet automatiserar hela loopen ”skicka → vänta → kontrollera → registrera” för modellen Flux Kontext Apps Portrait Series på Replicate. Du startar körningen i n8n, arbetsflödet autentiserar med din Replicate API-token och paketerar dina bildindata och genereringsparametrar till en prediction-begäran. Efter att begäran skickats antar det inte att jobbet är klart direkt. Det väntar en kort stund, pollar Replicate efter status och fortsätter loopa vid behov. När predictionen är klar förbereder det en success-payload (inklusive viktiga utdata-detaljer) och skickar resultaten till ett Google Sheet så att du får en permanent logg. Om något misslyckas skapar det en strukturerad felutdata i stället för att lämna dig gissande.
Arbetsflödet börjar med dina API-uppgifter och bildparametrar i n8n. Därifrån skickar det en prediction-begäran till Replicate och loggar begärans detaljer för spårbarhet. Till sist kontrollerar det att jobbet blir klart med inbyggda återförsök och ger antingen ett korrekt formaterat ”success”-resultat eller ett tydligt fel som du kan agera på.
Vad som förändras: före vs. efter
| Detta elimineras | Effekten du kommer att se |
|---|---|
|
|
Effekt i verkligheten
Säg att du genererar 20 porträttvariationer för en veckovis content-batch. Manuellt kan du lägga cirka 5 minuter per körning på att skicka in, kontrollera status några gånger och klistra in utdata i ett dokument, vilket blir ungefär 1,5 timmar. Med det här arbetsflödet triggar du batchen i n8n, sedan hanterar det vänt-och-polla-loopen automatiskt och ditt Google Sheet fylls på när jobben blir klara. Du lägger fortfarande tid på att granska bilder, men spårningsarbetet försvinner till stor del.
Krav
- n8n-instans (prova n8n Cloud gratis)
- Alternativ för self-hosting om du föredrar det (Hostinger fungerar bra)
- Replicate API för att generera predictioner för porträttserier.
- Google Sheets för att logga körningar, utdata och statusar.
- Replicate API-token (hämta den i inställningarna för ditt Replicate-konto).
Kunskapsnivå: Nybörjare. Du klistrar in en API-token, kopplar Google Sheets och justerar några parametrar på ren svenska.
Behöver du hjälp att implementera detta? Prata med en automationsexpert (gratis 15-minuters konsultation).
Flödet i arbetsflödet
Manuell körning för att komma igång. Du startar arbetsflödet när du är redo att generera en porträttserie (för en ny kampanjbild, en kundförfrågan eller en ny uppsättning variationer).
Autentisering och indata förbereds. n8n laddar din Replicate API-token och sätter de bildgenereringsparametrar du vill använda (prompt, stilval och eventuella modellindata du vill standardisera).
Replicate tar emot en prediction-begäran. Arbetsflödet skickar jobbet till Replicate via HTTP Request och registrerar sedan begärans detaljer så att du har ett pålitligt underlag för statuskontroller och rapportering.
Statuspollning med tydliga utfall. Efter en kort väntan frågar det predictionens status. Om den inte är klar väntar det och försöker igen. När den är klar bygger det en success-utdata; när den misslyckas bygger det en felutdata som du snabbt kan felsöka. Slutresultatet kan skrivas till Google Sheets som ditt spårningslager.
Du kan enkelt ändra parametrarna för porträttserien så att de matchar din varumärkesstil eller testplan. Se hela implementationsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementation
Steg 1: konfigurera den manuella triggern
Konfigurera startpunkten så att ni kan köra arbetsflödet manuellt under testning.
- Lägg till och öppna Manual Start Trigger.
- Lämna alla fält på standardvärden (ingen konfiguration krävs).
- Bekräfta kopplingen från Manual Start Trigger till Define API Credential.
Steg 2: anslut Replicate API-åtkomst
Ange er API-nyckel och skicka med den i request-payloaden för autentisering.
- Öppna Define API Credential och ställ in api_token till er nyckel (ersätt
[CONFIGURE_YOUR_API_KEY]). - Öppna Configure Image Inputs och ställ in api_token till
={{ $('Define API Credential').item.json.api_token }}. - Bekräfta kopplingen från Define API Credential till Configure Image Inputs.
Steg 3: konfigurera parametrar för bildinmatning
Definiera de indata som modellen ska använda för att generera bilder. Dessa värden används i request-body.
- I Configure Image Inputs, ställ in background till
white. - Ställ in num_images till
4. - Ställ in input_image till
https://picsum.photos/512/512. - Ställ in output_format till
png. - Ställ in randomize_images till
falseoch safety_tolerance till2.
Steg 4: skicka prediktionsrequesten och logga den
Konfigurera API-anropet till Replicate och skapa en loggrad för övervakning.
- Öppna Send Prediction Request och ställ in URL till
https://api.replicate.com/v1/predictionsmed MethodPOST. - Ställ in JSON Body till
={ "version": "flux-kontext-apps/portrait-series:a7cb507cb19b970483f0b68f598d24b6d6a63e996fc972634a5b39b4d067e706", "input": { "background": "{{ $json.background }}", "num_images": {{ $json.num_images }}, "input_image": "{{ $json.input_image }}", "output_format": "{{ $json.output_format }}", "randomize_images": {{ $json.randomize_images }}, "safety_tolerance": {{ $json.safety_tolerance }} }}. - Under Header Parameters, ställ in Authorization till
=Bearer {{ $json.api_token }}och Prefer tillwait. - Öppna Record Request Log och behåll JavaScript-koden som den är för att logga
prediction_id. - Verifiera kopplingsflödet: Configure Image Inputs → Send Prediction Request → Record Request Log.
Steg 5: konfigurera statuspollning och routning av output
Poll:a prediktionsstatus och routa resultat till success- eller error-output.
- Öppna Pause 5 Seconds och ställ in Unit till
secondsoch Amount till5. - Öppna Query Prediction Status och ställ in URL till
=https://api.replicate.com/v1/predictions/{{ $('Send Prediction Request').item.json.id }}. - I Query Prediction Status, ställ in headern Authorization till
=Bearer {{ $('Define API Credential').item.json.api_token }}. - Öppna Completion Check och verifiera att villkoret
={{ $json.status }}är lika medsucceeded. - Öppna Failure Check och verifiera att villkoret
={{ $json.status }}är lika medfailed. - Öppna Delay 10 Seconds och ställ in Amount till
10sekunder för retry-tempo.
Körflöde: Record Request Log → Pause 5 Seconds → Query Prediction Status → Completion Check → (success) Build Success Output eller (failure) Failure Check → Build Error Output.
Steg 6: konfigurera formatering av output
Standardisera payloads för success och error och presentera slutligt svar.
- Öppna Build Success Output och ställ in response till
={{ { success: true, image_url: $json.output, prediction_id: $json.id, status: $json.status, message: 'Image generated successfully' } }}. - Öppna Build Error Output och ställ in response till
={{ { success: false, error: $json.error || 'Image generation failed', prediction_id: $json.id, status: $json.status, message: 'Failed to generate image' } }}. - Öppna Present Final Result och ställ in final_result till
={{ $json.response }}. - Bekräfta att både Build Success Output och Build Error Output är kopplade till Present Final Result.
Steg 7: testa och aktivera ert arbetsflöde
Kör ett manuellt test för att validera hela prediktionsloopen och output-formateringen innan aktivering.
- Klicka Execute Workflow från Manual Start Trigger för att köra ett test.
- Följ att Send Prediction Request returnerar ett
prediction_idoch säkerställ att Query Prediction Status tar emot statusuppdateringar. - Bekräfta att en lyckad körning avslutas vid Present Final Result med
final_result.successsatt tilltrueoch enimage_url. - När ni är redo, slå på arbetsflödet till Active för användning i produktion.
Se upp med
- Replicate-uppgifter kan löpa ut eller kräva specifika behörigheter. Om något slutar fungera, kontrollera först token i inställningarna för ditt Replicate-konto och uppdatera sedan noden ”Set API Token”.
- Om du använder Wait-noder eller extern rendering varierar processningstiderna. Öka väntetiden om efterföljande noder misslyckas på tomma svar.
- Standardprompts i AI-noder är generiska. Lägg in din varumärkesröst tidigt, annars kommer du att redigera utdata för alltid.
Vanliga frågor
Cirka 30 minuter om din Replicate-token och ditt Google Sheet är redo.
Ja. Du skriver ingen kod, men du kopplar konton och klistrar in en token i arbetsflödet.
Ja. n8n har ett gratis self-hosted-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 Replicate API-kostnader 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 hanterar n8n bra. Self-hosting ger dig obegränsade körningar men kräver grundläggande serveradministration.
Det kan du. De flesta anpassningar görs i ”Configure Image Inputs” (din prompt och modellparametrar) och i Google Sheets-steget där du bestämmer vilka kolumner som ska sparas. Vissa team lägger till extra fält som kampanjnamn, kund eller ”godkänd/inte godkänd”. Andra byter ut den manuella triggern mot en webhook så att körningen startar när ett formulär skickas in.
Oftast beror det på en ogiltig eller utgången API-token. Uppdatera värdet i noden ”Set API Token” och kör sedan en enskild test-prediction igen. Om det fortfarande misslyckas, kontrollera att ditt Replicate-konto har åtkomst till modellen du anropar och håll koll på rate limits när du skickar många begäranden tätt efter varandra.
Om du self-hostar n8n finns ingen hård gräns för antal körningar (det beror på din server). På n8n Cloud beror kapaciteten på din plans månatliga körningar, och det här arbetsflödet använder vanligtvis flera körningar per porträttkörning eftersom det pollar tills det är klart.
Ofta, ja, särskilt om du bryr dig om återförsökslogiken. Zapier och Make kan göra HTTP-anrop, men polling i flera varv (vänta, kolla status, vänta igen) blir klumpigt och kan bli dyrt när volymen växer. n8n hanterar förgreningar och loopar mer bekvämt, och self-hosting gör körningar mer förutsägbara. Nackdelen är uppsättningen: du lägger lite mer tid i början. Om du är osäker, prata med en automationsexpert så tar vi fram det enklaste upplägget för ditt team.
När detta är på plats slutar porträttgenerering att vara en ”fick vi med allt?”-uppgift. Du får strukturerade körningar, en pålitlig logg och ett arbetsflöde som fortsätter även när jobben blir klara långsamt.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.