Att kopiera text ur Instagram-bilder är den typen av uppgift som känns liten … tills den äter upp hela eftermiddagen. Du zoomar in, skriver om, missar ett ord, tappar bort inlägget och börjar om.
Den här Instagram Sheets OCR-lösningen träffar marknadsförare först (swipe-filer, hooks, erbjudanden), men byråägare som bygger konkurrentbibliotek känner av det också. Forskare som gör budskapsanalys? Samma röra. Resultatet är enkelt: strukturerad, kopierbar text från enskilda inlägg eller karuseller, sparad där du faktiskt kan använda den.
Nedan ser du hur arbetsflödet hämtar media från Instagram, kör OCR på varje bild och skickar den extraherade texten till ett kalkylark så att du kan söka, sortera och återanvända den.
Så fungerar den här automatiseringen
Hela n8n-arbetsflödet, från trigger till slutresultat:
n8n Workflow Template: Instagram till Google Sheets, kopierbar karuselltext
flowchart LR
subgraph sg0["When clicking ‘Execute workflow’ Flow"]
direction LR
n0@{ icon: "mdi:swap-vertical", form: "rounded", label: "IGPost URL", pos: "b", h: 48 }
n1@{ icon: "mdi:swap-vertical", form: "rounded", label: "Loop Over Items1", pos: "b", h: 48 }
n2@{ icon: "mdi:cog", form: "rounded", label: "Merge All Parsed Text", 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/>Retrieve Media"]
n4["<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/>getOnlyText"]
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/code.svg' width='40' height='40' /></div><br/>get_all_slide"]
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/>OCR_Slide"]
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/httprequest.dark.svg' width='40' height='40' /></div><br/>OCR_Single"]
n8["<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/>getSingleText"]
n9@{ icon: "mdi:cog", form: "rounded", label: "No Operation, do nothing", pos: "b", h: 48 }
n10["<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/>Result of Raw Text"]
n11@{ icon: "mdi:play-circle", form: "rounded", label: "When clicking ‘Execute workf..", pos: "b", h: 48 }
n12@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Post Type Selector", pos: "b", h: 48 }
n6 --> n4
n0 --> n3
n7 --> n8
n4 --> n1
n8 --> n2
n5 --> n1
n3 --> n12
n1 --> n2
n1 --> n6
n12 --> n7
n12 --> n5
n12 --> n9
n2 --> n10
n11 --> n0
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 n11 trigger
class n12 decision
class n3,n6,n7 api
class n4,n5,n8,n10 code
classDef customIcon fill:none,stroke:none
class n3,n4,n5,n6,n7,n8,n10 customIcon
Problemet: text i Instagram-karuseller är inlåst i bilder
Instagram är fullt av bra positionering, starka hooks och förvånansvärt bra landningssidetexter. Men mycket av det finns i karuseller, inte i bildtexter. Då hamnar du i den värsta typen av ”research”: skärmdumpa, zooma, skriva, rätta stavfel och klistra in i ett dokument som ingen kan söka i senare. Även när du är noggrann tappar du kontext (vilken slide sa vad?) och du råkar hoppa över en radbrytning som ändrar betydelsen. Gör du det för några inlägg i veckan blir det en tyst tidsläcka du aldrig får tillbaka.
Friktionen byggs på. Här är var det faller isär i verkligheten:
- Du kan inte snabbt göra en karusell till en sökbar swipe-fil utan att skriva om allt.
- Karuseller multiplicerar merarbetet eftersom varje slide blir en egen manuell transkriberingsuppgift.
- Små copy-missar smyger sig in, vilket gör att du inte kan lita på dina anteckningar senare.
- Bra idéer ”sparas till senare” och försvinner sedan i dina bokmärken för alltid.
Lösningen: extrahera text från Instagram-bilder till Google Sheets automatiskt
Det här n8n-arbetsflödet gör vilken Instagram-inläggs-URL som helst till kopierbar text och lagrar den i ett kalkylark så att det är enkelt att filtrera, tagga och återanvända. Du börjar med att klistra in en Instagram-länk i arbetsflödet. n8n anropar HikerAPI för att hämta mediadetaljerna bakom inlägget och kontrollerar sedan vilken typ av inlägg det är (en bild, karusell eller annat format). Är det en bild skickar arbetsflödet den bilden till OCR.Space och extraherar texten. Är det en karusell samlar det in varje slide-bild, loopar igenom dem i batcher, kör OCR på varje slide och slår ihop resultaten till en råutdata som du kan spara i Google Sheets (eller Excel 365 om du föredrar).
Arbetsflödet startar med en manuell trigger och en enda inläggs-URL. Därifrån levererar HikerAPI bild-URL:erna och n8n dirigerar jobbet baserat på inläggstyp. Till sist returnerar OCR.Space text per bild och n8n kombinerar allt till ett enda användbart textblock.
Det här får du: automatisering vs. resultat
| Vad det här arbetsflödet automatiserar | Resultat du får |
|---|---|
|
|
Exempel: så här ser det ut
Säg att du samlar 20 konkurrentkaruseller i veckan och att en genomsnittlig karusell har 7 slides. Manuellt kan du lägga runt 2 minuter per slide på att zooma, skriva av och rensa upp, vilket blir ungefär 5 timmar i veckan. Med det här arbetsflödet klistrar du in 20 URL:er (kanske 1 minut per styck utspritt över veckan) och låter sedan OCR köra i bakgrunden; även om bearbetningen tar ytterligare 20–30 minuter totalt är du i princip hands-off. Skillnaden är tydlig.
Det här behöver du
- n8n-instans (testa n8n Cloud gratis)
- Self-hosting-alternativ om du föredrar det (Hostinger fungerar bra)
- HikerAPI för att hämta Instagram-medadetaljer.
- OCR.Space för att extrahera text från bilder.
- OCR.Space API-nyckel (hämta den i din OCR.Space-dashboard).
Kunskapsnivå: Medel. Du klistrar in API-nycklar i n8n HTTP Request-noder och testar ett par körningar.
Vill du inte sätta upp det här själv? Prata med en automationsexpert (gratis 15-minuters konsultation).
Så fungerar det
Du klistrar in en Instagram-länk till ett inlägg. Arbetsflödet startar manuellt och tilldelar sedan den URL du vill behandla (enskilt inlägg eller karusell).
Mediadetaljer hämtas och klassificeras. n8n anropar HikerAPI för att hämta mediainformation och dirigerar sedan arbetsflödet baserat på inläggstyp så att rätt väg körs.
OCR körs på en bild eller många slides. För en karusell samlar arbetsflödet in slide-resurser, loopar igenom varje bild i batcher och skickar dem till OCR.Space. För en enskild bild kör det OCR en gång och extraherar den returnerade texten.
Text slås ihop till en utdata för loggning. All extraherad text kombineras till en slutlig råtextutdata som du kan skriva in i Google Sheets (eller Excel 365) som din swipe-filpost.
Du kan enkelt ändra var den slutliga texten hamnar (Google Sheets vs. Excel) och hur du formaterar rader utifrån dina behov. Se hela implementationsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementering
Steg 1: Konfigurera manuell trigger
Starta arbetsflödet med en manuell trigger för att testa OCR-extraktion på en specifik URL till ett Instagram-inlägg.
- Lägg till noden Manual Execution Start som din trigger.
- Koppla Manual Execution Start till Assign Post Link för att skicka in en inläggs-URL i arbetsflödet.
Steg 2: Anslut Instagram media lookup
Ange URL:en till Instagram-inlägget och hämta mediadetaljer från det externa API:et.
- Öppna Assign Post Link och ställ in värdet för post_url till
https://www.instagram.com/p/DQf3KpkE4cW/?img_index=11. - I Fetch Media Details ställer ni in URL till
https://api.hikerapi.com/v1/media/by/url. - Aktivera Send Query och ställ in query-parametern url till
{{ $json.post_url }}. - Aktivera Send Headers och lägg till headern accept med värdet
application/json. - Inloggningsuppgifter krävs: Anslut era httpHeaderAuth-uppgifter i Fetch Media Details.
Steg 3: Sätt upp routning för inläggstyp
Routa arbetsflödet baserat på Instagram-medietyp för att hantera enstaka bilder, karuseller och reels.
- Öppna Route Post Type och bekräfta de tre reglerna baserat på
{{ $json.product_type }}: - Regel 1: ställ in outputKey till
single_postoch jämför medfeed. - Regel 2: ställ in outputKey till
carouseloch jämför medcarousel_container. - Regel 3: ställ in outputKey till
reelsoch jämför medclips(denna utgång kopplas till No-Op Placeholder). - Säkerställ att Route Post Type skickar ut till Single Image OCR, Collect Slide Resources och No-Op Placeholder enligt kopplingarna.
Steg 4: Konfigurera OCR-bearbetning
Kör OCR på enstaka bilder eller karusellslides och extrahera sedan den tolkade texten.
- I Single Image OCR ställer ni in URL till
https://api.ocr.space/parse/imageurloch ställer in query url till{{ $json.image_versions[0].url }}. - Inloggningsuppgifter krävs: Anslut era httpQueryAuth-uppgifter i Single Image OCR.
- I Extract Single Text behåller ni JavaScript-koden som den är för att mappa
ParsedResults[0].ParsedTexttillvalue. - För karuseller: i Collect Slide Resources behåller ni JavaScript-koden som returnerar
$input.first().json.resources. - Använd Iterate Slides Batch för att bearbeta varje slide och koppla vidare till Carousel OCR Scan och Combine Parsed Text.
- I Carousel OCR Scan ställer ni in URL till
https://api.ocr.space/parse/imageurloch ställer in query url till{{ $json.image_versions[0].url }}. - Inloggningsuppgifter krävs: Anslut era httpQueryAuth-uppgifter i Carousel OCR Scan.
- I Extract OCR Text behåller ni JavaScript-koden som mappar
ParsedResults[0].ParsedTexttillvalue.
Steg 5: Konfigurera aggregering av output
Aggregera all tolkad text till en enda output och generera den slutliga sammanställda OCR-texten.
- I Combine Parsed Text ställer ni in Aggregate till
aggregateAllItemData. - Verifiera att Combine Parsed Text tar emot data från Extract Single Text och Iterate Slides Batch.
- I Final Raw Text Output behåller ni JavaScript-koden som plattar ut
data, extraherarvalueoch sammanfogar med radbrytningar.
ParsedResults och att arbetsflödet har minst en bild-URL.Steg 6: Testa och aktivera ert arbetsflöde
Kör ett manuellt test för att bekräfta OCR-extraktionen och aktivera sedan för produktion.
- Klicka på Execute Workflow i n8n för att köra Manual Execution Start.
- Bekräfta att Fetch Media Details returnerar mediadata och att Route Post Type skickar data via förväntad väg.
- Kontrollera Final Raw Text Output efter ett text-fält som innehåller de sammanställda OCR-resultaten.
- När ni är nöjda, växla arbetsflödet till Active för produktionsanvändning.
Vanliga fallgropar
- HikerAPI-credentials kan löpa ut eller kräva specifika behörigheter. Om det skapar fel, kontrollera först åtkomstinställningarna i din HikerAPI-dashboard och vilken plan-nivå du har för endpointen.
- Om du använder Wait-noder eller extern rendering varierar bearbetningstiderna. Öka väntetiden om noder längre fram fallerar på tomma svar.
- Standardprompter i AI-noder är generiska. Lägg in ditt varumärkes tonalitet tidigt, annars kommer du att redigera utdata i all evighet.
Vanliga frågor
Cirka 30 minuter om dina API-nycklar är redo.
Nej. Du klistrar mest in nycklar, testar en URL och justerar var den slutliga texten sparas.
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 användningen av HikerAPI och OCR.Space, vilket beror på hur många inlägg du bearbetar.
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 är en vanlig justering. Istället för att slå ihop allt till en råutdata kan du skriva varje ”slide OCR-resultat” som ett eget item medan karusell-loopen körs och sedan skicka de items direkt till Google Sheets som separata rader. Du justerar vanligtvis merge/aggregate-steget (delen ”Combine Parsed Text”) och mappar extra fält som slide-nummer och inläggs-URL. Vill du ha renare formatering kan du även lägga till en kort OpenAI-”cleanup”-pass innan du sparar.
Oftast handlar det om en utgången nyckel, fel plan/behörigheter för media-endpointen eller en blockerad förfrågan eftersom URL:en är felaktigt formaterad. Generera en ny nyckel i HikerAPI, uppdatera credential i HTTP Request-noden och kör igen med ett känt fungerande offentligt inlägg. Om du bearbetar mycket under en kort period kan rate limits också visa sig som intermittenta fel.
Om du self-hostar n8n finns ingen hård gräns för antal körningar (det beror främst på din server och API:ernas rate limits). På n8n Cloud beror dina månatliga körningar på din plan, och det här arbetsflödet använder normalt en körning per inlägg plus extra anrop per karusell-slide.
Ofta, ja. Det här arbetsflödet behöver villkorsstyrd routing (en bild vs. karusell), loopning över slide-items och sammanslagning av resultat, och n8n hanterar den typen av logik snyggt utan att det blir en skör kedja av zaps eller scenarier. Self-hosting är också viktigt om du planerar att bearbeta många inlägg utan att oroa dig för task-limiter. Zapier och Make kan vara enklare för väldigt enkla två-app-automatiseringar, men det här användningsfallet är sällan så enkelt i praktiken. Prata med en automationsexpert om du vill ha hjälp att välja.
När det här väl rullar slutar Instagram-research att vara ”spara och kanske använda senare”. Du får en levande swipe-fil som du faktiskt kan söka i, filtrera och bygga vidare på.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.