{"id":798,"date":"2025-03-24T08:31:17","date_gmt":"2025-03-24T08:31:17","guid":{"rendered":"https:\/\/portfolio.paoloronco.it\/?p=798"},"modified":"2025-11-18T10:08:38","modified_gmt":"2025-11-18T10:08:38","slug":"ai-instagram-reels-automazione-avanzata-con-make-com-openai-e-google-cloud","status":"publish","type":"post","link":"https:\/\/paoloronco.it\/en\/ai-instagram-reels-automazione-avanzata-con-make-com-openai-e-google-cloud\/","title":{"rendered":"AI Instagram Reels: Advanced Automation with Make.com, OpenAI, and Google Cloud"},"content":{"rendered":"<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">? <strong>GitHub<\/strong>: <a class=\"\" href=\"https:\/\/github.com\/paoloronco\/makecom-openai-gcp-instagramreel\">paoloronco\/makecom-openai-gcp-instagramreel<\/a><br>? <strong>Publishing on ReadyTensor<\/strong>: <a class=\"\" href=\"https:\/\/app.readytensor.ai\/publications\/automated-instagram-reels-with-ai-text-to-video-using-makecom-openai-google-cloud-Cv2rZImtcu5H\">Automated Instagram Reels with AI<\/a><\/p>\n<\/blockquote>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Introduction: More than a social project<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The \u201cAI Instagram Reels\u201d project was born with the aim of automating the creation of content for social media, but in reality it turned out to be much more: an advanced exercise in orchestration between generative AI, cloud computing, and no-code automation.<br>During the development, I acquired transversal skills in:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Complex automations with Make.com<\/strong><\/li>\n\n\n\n<li><strong>Using OpenAI APIs (ChatGPT, TTS, DALL\u00b7E)<\/strong><\/li>\n\n\n\n<li><strong>Managing files and buckets on Google Cloud Platform<\/strong><\/li>\n\n\n\n<li><strong>Container deployment on Google Cloud Run<\/strong><\/li>\n\n\n\n<li><strong>Integrate multiple tools into a single, seamless workflow<\/strong><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">More than a project \u201cfor Instagram,\u201d it was a training ground for building a scalable and intelligent infrastructure capable of automatically generating and publishing multimedia content, starting from a text prompt.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"290\" src=\"https:\/\/portfolio.paoloronco.it\/wp-content\/uploads\/2025\/03\/image-1024x290.png\" alt=\"\" class=\"wp-image-799\" srcset=\"https:\/\/paoloronco.it\/wp-content\/uploads\/2025\/03\/image-1024x290.png 1024w, https:\/\/paoloronco.it\/wp-content\/uploads\/2025\/03\/image-300x85.png 300w, https:\/\/paoloronco.it\/wp-content\/uploads\/2025\/03\/image-768x218.png 768w, https:\/\/paoloronco.it\/wp-content\/uploads\/2025\/03\/image-1536x436.png 1536w, https:\/\/paoloronco.it\/wp-content\/uploads\/2025\/03\/image-2048x581.png 2048w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Technical infrastructure: AI, Cloud, automation and file management<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Generative AI: Original content at the heart of the project<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The creative heart of the project is OpenAI&#039;s artificial intelligence. Using GPT-4o, I set a specific prompt to generate short but engaging scripts, optimized for narration in a Reel. The text is then transformed into speech using the TTS-1 model, resulting in an audio file. <code>.mp3<\/code> Clear and natural. To complete the visual aspect, DALL\u00b7E 3 generates a vertical, flat-style image, designed as a visual cover for the content.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Google Cloud Run: A Tailor-Made Video Microservice<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">One of the most interesting and advanced aspects of this project was undoubtedly the development of the backend on Google Cloud Platform, in particular the use of <strong>Cloud Run combined with Docker<\/strong>.<br>I made a <strong>custom microservice<\/strong>, containerized via Docker, capable of dynamically merging the file <code>.png<\/code> (cover image) with the file <code>.mp3<\/code> (voice-over) and return a video <code>.mp4<\/code>To do this, I have:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>wrote a Python script (<code>main.py<\/code>) for merging files<\/li>\n\n\n\n<li>configured a Docker environment to run<\/li>\n\n\n\n<li>created a Docker repository on <strong>Artifact Registry<\/strong><\/li>\n\n\n\n<li>deployed the service on Cloud Run, making it publicly accessible via HTTP POST<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">The infrastructure is highly scalable and serverless: Cloud Run runs the service only when called, reducing costs and ensuring consistent performance.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">To connect Make.com to this endpoint I also created a Service Account with the appropriate permissions, configured <strong>OAuth <\/strong>and defined the <strong>necessary policies <\/strong>to allow the <strong>secure communication <\/strong>between the two environments.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>File recovery and management: everything goes through the cloud<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Once the video is generated <code>.mp4<\/code>, is saved on <strong>Google Cloud Storage<\/strong>, which serves as a central repository for all temporary and final files. To get the public link to the most recent file, I integrated an API call directly from the Make.com pipeline, which queries the bucket and returns the files sorted by creation date. This way, I can unambiguously locate the correct output.<br>This feature is essential to keep automation running smoothly, especially when the system runs multiple times a day.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Google Drive: Backup and traceability archive<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Google Drive is not used as an active work environment, but as <strong>backup space<\/strong>, useful for always having a copy of the generated content available. In the Make.com pipeline, I&#039;ve inserted two specific steps that upload the raw image and audio to a shared Drive folder.<br>To achieve this integration, a simple connection was not enough: I had to go through the <strong>Google Cloud Console<\/strong>, create a project, enable the necessary APIs, configure an OAuth authentication system and create a <strong>Dedicated Service Account<\/strong> to allow Make.com to access Google Drive in a secure and controlled way.<br>This phase was very formative, because it allowed me to understand how the complete credential cycle between third-party environments and Google Workspace works.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Conclusion<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u201cAI Instagram Reels\u201d was not just a creative project, but a true distributed architecture, built through the deep integration of advanced tools such as OpenAI, Make.com and Google Cloud Platform.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Far from being a no-code project, this work required <strong>real technical skills<\/strong>From writing Python code for video generation, to managing Docker containers, to configuring service accounts, OAuth permissions, and deploying to Cloud Run.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The result is a fully automated, yet highly <strong>controllable, scalable and customizable<\/strong>, capable of producing video content from scratch, and doing so with precision, speed and consistency.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">More than a flow to create Reels, it is a <strong>intelligent multimedia production machine<\/strong>, ready to be reused, extended, or adapted to other contexts \u2014 educational, branding, social media automation, or content marketing.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This project strengthened my ability to manage complex cloud environments, connect external APIs, design robust pipelines, and write code that communicates with distributed infrastructures. This experience is something I&#039;ll bring with me to every new project.<\/p>","protected":false},"excerpt":{"rendered":"<p>? GitHub: paoloronco\/makecom-openai-gcp-instagramreel? Pubblicazione su ReadyTensor: Automated Instagram Reels with AI Introduzione: pi\u00f9 di un progetto social Il progetto \u201cAI Instagram Reels\u201d nasce con l\u2019obiettivo di automatizzare la creazione di contenuti per i social, ma in realt\u00e0 si \u00e8 rivelato molto di pi\u00f9: un esercizio avanzato di orchestrazione tra AI generativa, cloud computing e automazioni &hellip; <a href=\"https:\/\/paoloronco.it\/en\/ai-instagram-reels-automazione-avanzata-con-make-com-openai-e-google-cloud\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;AI Instagram Reels: Automazione avanzata con Make.com, OpenAI e Google Cloud&#8221;<\/span><\/a><\/p>","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[23],"class_list":["post-798","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-portfolio"],"_links":{"self":[{"href":"https:\/\/paoloronco.it\/en\/wp-json\/wp\/v2\/posts\/798","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/paoloronco.it\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/paoloronco.it\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/paoloronco.it\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/paoloronco.it\/en\/wp-json\/wp\/v2\/comments?post=798"}],"version-history":[{"count":1,"href":"https:\/\/paoloronco.it\/en\/wp-json\/wp\/v2\/posts\/798\/revisions"}],"predecessor-version":[{"id":1315,"href":"https:\/\/paoloronco.it\/en\/wp-json\/wp\/v2\/posts\/798\/revisions\/1315"}],"wp:attachment":[{"href":"https:\/\/paoloronco.it\/en\/wp-json\/wp\/v2\/media?parent=798"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/paoloronco.it\/en\/wp-json\/wp\/v2\/categories?post=798"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/paoloronco.it\/en\/wp-json\/wp\/v2\/tags?post=798"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}