Sora GPT, Google Drive, Sheets를 사용하여 AI 이미지 생성 및 저장
중급
이것은Content Creation, Multimodal AI분야의자동화 워크플로우로, 11개의 노드를 포함합니다.주로 Code, FormTrigger, GoogleDrive, HttpRequest, GoogleSheets 등의 노드를 사용하며. Sora GPT, Google Drive, 및 Sheets를 사용하여 AI 이미지 생성 및 저장
사전 요구사항
- •Google Drive API 인증 정보
- •대상 API의 인증 정보가 필요할 수 있음
- •Google Sheets API 인증 정보
워크플로우 미리보기
노드 연결 관계를 시각적으로 표시하며, 확대/축소 및 이동을 지원합니다
워크플로우 내보내기
다음 JSON 구성을 복사하여 n8n에 가져오면 이 워크플로우를 사용할 수 있습니다
{
"meta": {
"instanceId": "60c025075753afcab9f803964b4caaca9402f435deb4efafbb8e3b93b54d8752"
},
"nodes": [
{
"id": "ffd9cc3e-8d6b-4b7c-a600-39f9511f4e19",
"name": "폼 제출 시",
"type": "n8n-nodes-base.formTrigger",
"position": [
80,
-60
],
"webhookId": "664f5a3c-d13b-4831-96e7-5a80567a5dbe",
"parameters": {
"options": {},
"formTitle": "Image to Image Using GPT Sora",
"formFields": {
"values": [
{
"fieldType": "textarea",
"fieldLabel": "Prompt",
"requiredField": true
},
{
"fieldLabel": "Image url",
"requiredField": true
}
]
},
"formDescription": "Add Image and prompt to recreate your desired image"
},
"typeVersion": 2.2
},
{
"id": "1b9fef9c-259e-4885-8596-c9319de01180",
"name": "HTTP 요청",
"type": "n8n-nodes-base.httpRequest",
"position": [
300,
-60
],
"parameters": {
"url": "https://sora-gpt-image.p.rapidapi.com/ai-img/img-to-img.php",
"method": "POST",
"options": {},
"sendBody": true,
"sendHeaders": true,
"bodyParameters": {
"parameters": [
{
"name": "prompt",
"value": "={{ $json.Prompt }}"
},
{
"name": "img_url",
"value": "={{ $json['Image url'] }}"
},
{
"name": "width",
"value": "1024"
},
{
"name": "height",
"value": "1024"
}
]
},
"headerParameters": {
"parameters": [
{
"name": "x-rapidapi-host",
"value": "sora-gpt-image.p.rapidapi.com"
},
{
"name": "x-rapidapi-key",
"value": "your key"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "1f2d4911-0151-4e7a-a3f5-f2f4ab2230ea",
"name": "Google Sheets",
"type": "n8n-nodes-base.googleSheets",
"position": [
1740,
-360
],
"parameters": {
"columns": {
"value": {
"Image": "={{ $binary.data.fileName }}",
"Prompt": "={{ $('On form submission').item.json.Prompt }}",
"Generated Date": "={{ $('On form submission').item.json.submittedAt }}"
},
"schema": [
{
"id": "Prompt",
"type": "string",
"display": true,
"required": false,
"displayName": "Prompt",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Image",
"type": "string",
"display": true,
"required": false,
"displayName": "Image",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Generated Date",
"type": "string",
"display": true,
"required": false,
"displayName": "Generated Date",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "append",
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/19RkfJHHLt15sIwaeN5Fgrd4BuVTacA0_mYP-gPcBVao/edit#gid=0",
"cachedResultName": "Sheet1"
},
"documentId": {
"__rl": true,
"mode": "url",
"value": ""
},
"authentication": "serviceAccount"
},
"credentials": {
"googleApi": {
"id": "qUtlCnYpk7bXXaYp",
"name": "Google Sheets account 3"
}
},
"typeVersion": 4.6
},
{
"id": "214a0309-83a7-4d8b-99b3-5809a97533cd",
"name": "Google Drive",
"type": "n8n-nodes-base.googleDrive",
"position": [
1340,
-220
],
"parameters": {
"name": "={{ $binary.data.fileName }}",
"driveId": {
"__rl": true,
"mode": "url",
"value": ""
},
"options": {},
"folderId": {
"__rl": true,
"mode": "url",
"value": ""
},
"authentication": "serviceAccount"
},
"credentials": {
"googleApi": {
"id": "qUtlCnYpk7bXXaYp",
"name": "Google Sheets account 3"
}
},
"typeVersion": 3
},
{
"id": "bc885b5f-d31b-4f5e-9ada-a4a5e421eb82",
"name": "코드",
"type": "n8n-nodes-base.code",
"position": [
880,
-60
],
"parameters": {
"jsCode": "const base64String = $input.first().json.image_base64;\nconsole.log(base64String);\n// If it includes a prefix like 'data:image/jpeg;base64,', split it\nconst cleanedBase64 = base64String.includes(\",\")\n ? base64String.split(\",\")[1]\n : base64String;\n\nreturn [\n {\n binary: {\n data: {\n data: Buffer.from(cleanedBase64, 'base64'),\n mimeType: 'image/jpeg', // or image/png depending on the format\n fileName: 'output.jpg'\n }\n }\n }\n];\n"
},
"typeVersion": 2
},
{
"id": "26c911dc-2f63-4d8e-b8a0-b54634d17b81",
"name": "스티커 메모",
"type": "n8n-nodes-base.stickyNote",
"position": [
-920,
-540
],
"parameters": {
"width": 580,
"height": 3080,
"content": "# **Image to Image Using GPT Sora**\n\n## **How It Works**\n\n1. **Form Submission**: \n - Users submit a **prompt** and an **image URL** through the form. The prompt is the description for the image, and the URL points to an image to be used in conjunction with the prompt.\n\n2. **Image Generation via GPT AI**: \n - The flow sends the prompt and the image URL to the **GPT AI-powered service** via the **Sora GPT Image API**. The AI processes the request and generates a new image based on the input prompt.\n\n3. **Base64 Image Conversion**: \n - Once the image is generated, the flow converts the returned base64-encoded image data into a usable image file (e.g., JPEG) using the **Code Node**.\n\n4. **Google Drive Integration**: \n - The image file is then automatically uploaded to **Google Drive** for storage, making it easily shareable and accessible.\n\n5. **Google Sheets Logging**: \n - The details of the image (e.g., the prompt, generated image file, and generation date) are logged in **Google Sheets**, ensuring that a record is kept of all generated images for easy tracking and management.\n\n## **Use Case**\n\nThis flow allows users to leverage GPT-powered AI for generating images based on prompts, perfect for content creators, designers, marketers, and businesses needing quick image creation. It’s a great solution for the following scenarios:\n\n- **Content Creators**: Quickly generate unique, AI-powered images based on detailed prompts or themes.\n- **Marketers**: Create promotional images or visuals that align with specific marketing campaigns, increasing engagement.\n- **Designers**: Prototype new visual ideas or generate variations of designs based on specific themes or concepts.\n- **Developers/Tech Enthusiasts**: Automate and integrate image creation within other workflows or applications to scale content production.\n \nThe integration with **Google Sheets** and **Google Drive** ensures that all generated images are stored and organized for easy access and sharing.\n\n## **Benefits**\n\n### **1. Time-Saving Automation**\nThis process automates multiple tasks, from generating images with GPT AI to uploading them to **Google Drive** and recording the relevant details in **Google Sheets**. It eliminates the need for manual image generation and management.\n\n### **2. AI-Powered Creativity**\nHarness the power of GPT and AI to generate images that align with the user’s input prompts. It allows users to create unique visuals that may not be possible through traditional methods or tools.\n\n### **3. Seamless Integration with Google Tools**\nThe flow integrates with **Google Drive** for image storage and **Google Sheets** for organizing and tracking image data. This ensures that all assets and their corresponding data (such as prompts, generated date, and file names) are easily accessible and stored securely.\n\n### **4. Scalable Image Generation**\nThe flow can handle large volumes of image generation requests. This is ideal for businesses that need a high quantity of images on a regular basis, such as social media managers, eCommerce businesses, or digital marketing agencies.\n\n### **5. Easy Access and Sharing**\nGenerated images are automatically stored in **Google Drive**, allowing for easy sharing and access. Whether you need to share the image with a team member or download it for use, the process is smooth and quick.\n\n### **6. Flexibility**\nUsers can specify the desired **prompt** and **image URL** to customize the image generation process. Additionally, users can adjust image parameters (such as size) to suit their specific needs.\n\n## **Problems Resolved**\n\n### **1. Manual Image Generation**\nCreating images manually is time-consuming, especially if you're trying to match specific prompts. By leveraging GPT-powered AI, this flow allows for quick, automated image generation based on detailed descriptions. This eliminates the need for manual image design or edits.\n\n### **2. Poor Data Organization**\nWithout proper organization, it can be challenging to manage and track images. This flow ensures that every image is not only generated but also saved in **Google Drive** and logged in **Google Sheets** with relevant details (prompt, image URL, generation date). This makes it easy to keep track of images over time.\n\n### **3. Storage Issues**\nManually uploading images to cloud storage can be cumbersome and prone to errors. With the automated integration with **Google Drive**, images are automatically uploaded and stored, ensuring they are safe and accessible at all times without requiring manual intervention.\n\n### **4. Lack of Integration**\nIn many workflows, users have to use multiple platforms for various tasks. This flow connects **GPT AI for image generation**, **Google Drive for storage**, and **Google Sheets for tracking** into one streamlined process. It removes the need for managing separate tools and consolidates the entire process into a single, automated flow.\n\n### **5. Inconsistent File Handling**\nHandling different image formats and file names manually can lead to inconsistencies. This flow uses **n8n** to cleanly handle images, converting base64 strings into actual image files and saving them in the correct format, eliminating errors in file handling.\n\n## **Technical Specifications**\n\n- **GPT API**: Uses the **Sora GPT Image API** to generate images based on text prompts.\n - **API Endpoint**: [Sora GPT Image API](https://sora-gpt-image.p.rapidapi.com/ai-img/img-to-img.php)\n - **RapidAPI Key**: You must provide your RapidAPI key for authentication.\n \n- **Google Drive**: Uploads the generated image to a specified Google Drive folder.\n \n- **Google Sheets**: Logs relevant image details (prompt, image, and generation date) in a Google Sheets document.\n - **Spreadsheet URL**: [Google Sheets Link](https://docs.google.com/spreadsheets/d/19RkfJHHLt15sIwaeN5Fgrd4BuVTacA0_mYP-gPcBVao/edit#gid=0)\n\n## **Conclusion**\n\nThe **Image to Image Using GPT Sora** flow offers a simple yet powerful solution for generating and managing AI-powered images. By integrating the **Sora GPT Image API**, **Google Drive**, and **Google Sheets**, this flow streamlines the entire process, from image creation to storage and tracking. It’s an essential tool for content creators, marketers, designers, and businesses that need efficient image generation and management.\n"
},
"typeVersion": 1
},
{
"id": "6513598b-6cb9-4ae9-b1c2-167fcb57c581",
"name": "스티커 메모1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-240,
-380
],
"parameters": {
"width": 500,
"height": 440,
"content": "## 1. **On Form Submission**\n - **Type**: `n8n-nodes-base.formTrigger`\n - **Function**: \n - This node is triggered when a user submits a form. The form collects two inputs: a **prompt** (text) and an **image URL**.\n - It ensures that the **Prompt** and **Image URL** fields are filled out before proceeding to the next node in the flow.\n - **Parameters**:\n - **Form Title**: `Image to Image Using GPT Sora`\n - **Form Fields**: The form expects two fields, **Prompt** and **Image URL**.\n - **Webhook ID**: This is a unique identifier for the form submission webhook."
},
"typeVersion": 1
},
{
"id": "29045bc9-0dcd-453e-aa3c-722e94aef44d",
"name": "스티커 메모2",
"type": "n8n-nodes-base.stickyNote",
"position": [
280,
-560
],
"parameters": {
"width": 440,
"height": 660,
"content": "## 2. HTTP Request to Sora GPT Image API\n - **Type**: `n8n-nodes-base.httpRequest`\n - **Function**: \n - This node sends the **Prompt** and **Image URL** data to the **Sora GPT Image API** to generate a new image based on the provided prompt and image.\n - The request is made via a `POST` method to the API endpoint: \n **`https://sora-gpt-image.p.rapidapi.com/ai-img/img-to-img.php`**.\n - **Parameters**:\n - **Method**: `POST` \n - **Headers**: Authentication using the RapidAPI key for **Sora GPT Image API**.\n - **Body Parameters**:\n - **Prompt**: The user's prompt describing the desired image.\n - **Image URL**: The image URL provided by the user to be used as a reference.\n - **Width & Height**: Set to `1024` for both, defining the size of the output image."
},
"typeVersion": 1
},
{
"id": "73ecda33-8fb7-4d90-b510-b2c70914af02",
"name": "스티커 메모3",
"type": "n8n-nodes-base.stickyNote",
"position": [
760,
-540
],
"parameters": {
"width": 300,
"height": 640,
"content": "## 3. **Code (Base64 Conversion)**\n - **Type**: `n8n-nodes-base.code`\n - **Function**:\n - This node is used to process the base64-encoded image data returned from the API.\n - It converts the base64 string into a binary image file, which can then be uploaded to **Google Drive**.\n - **Code Logic**: \n - The code cleans the base64 string (if it contains a prefix) and decodes it to generate a proper image file.\n - It stores the image in a `JPEG` format.\n - **Parameters**: \n - The generated binary image data is passed on to the next node (Google Drive)."
},
"typeVersion": 1
},
{
"id": "4c95d81d-907d-4c15-af58-e08f919234c6",
"name": "스티커 메모4",
"type": "n8n-nodes-base.stickyNote",
"position": [
1180,
-660
],
"parameters": {
"width": 380,
"height": 680,
"content": "## 4. **Upload Image to Google Drive**\n - **Type**: `n8n-nodes-base.googleDrive`\n - **Function**:\n - This node uploads the generated image (from the **Code** node) to **Google Drive**.\n - It ensures that the image is saved with the name specified in the code and is stored in a designated folder.\n - **Parameters**:\n - **Authentication**: Uses a **Google Service Account** to authenticate and access the Google Drive.\n - **File Name**: The name of the image (generated file) as set in the **Code** node.\n - **Folder ID**: A folder on **Google Drive** where the image will be stored."
},
"typeVersion": 1
},
{
"id": "9a8d33bc-572d-48ea-9585-20eeb24e24c4",
"name": "스티커 메모5",
"type": "n8n-nodes-base.stickyNote",
"position": [
1600,
-880
],
"parameters": {
"width": 420,
"height": 720,
"content": "## 5. **Log Details to Google Sheets**\n - **Type**: `n8n-nodes-base.googleSheets`\n - **Function**:\n - This node logs the **Prompt**, **Generated Image**, and **Generation Date** into a **Google Sheets** document for tracking.\n - It ensures that all relevant information is stored in an organized manner for later reference or auditing.\n - **Parameters**:\n - **Authentication**: Uses a **Google Service Account** for authentication.\n - **Google Sheets Document ID**: Identifies the specific Google Sheets document where the details will be logged.\n - **Sheet Name**: Defines the specific sheet (e.g., **Sheet1**) within the Google Sheets document.\n - **Columns Mapped**:\n - **Prompt**: The prompt entered by the user.\n - **Image**: The file name of the generated image.\n - **Generated Date**: The date and time when the image was generated.\n - **Mapping Mode**: Defines how to map the data from the input to the appropriate sheet columns.\n"
},
"typeVersion": 1
}
],
"pinData": {},
"connections": {
"bc885b5f-d31b-4f5e-9ada-a4a5e421eb82": {
"main": [
[
{
"node": "214a0309-83a7-4d8b-99b3-5809a97533cd",
"type": "main",
"index": 0
}
]
]
},
"214a0309-83a7-4d8b-99b3-5809a97533cd": {
"main": [
[
{
"node": "1f2d4911-0151-4e7a-a3f5-f2f4ab2230ea",
"type": "main",
"index": 0
}
]
]
},
"1b9fef9c-259e-4885-8596-c9319de01180": {
"main": [
[
{
"node": "bc885b5f-d31b-4f5e-9ada-a4a5e421eb82",
"type": "main",
"index": 0
}
]
]
},
"ffd9cc3e-8d6b-4b7c-a600-39f9511f4e19": {
"main": [
[
{
"node": "1b9fef9c-259e-4885-8596-c9319de01180",
"type": "main",
"index": 0
}
]
]
}
}
}자주 묻는 질문
이 워크플로우를 어떻게 사용하나요?
위의 JSON 구성 코드를 복사하여 n8n 인스턴스에서 새 워크플로우를 생성하고 "JSON에서 가져오기"를 선택한 후, 구성을 붙여넣고 필요에 따라 인증 설정을 수정하세요.
이 워크플로우는 어떤 시나리오에 적합한가요?
중급 - 콘텐츠 제작, 멀티모달 AI
유료인가요?
이 워크플로우는 완전히 무료이며 직접 가져와 사용할 수 있습니다. 다만, 워크플로우에서 사용하는 타사 서비스(예: OpenAI API)는 사용자 직접 비용을 지불해야 할 수 있습니다.
관련 워크플로우 추천
IMDB 동영상 자동 다운로더 (Google Drive 업로드 및 이메일 알림 포함)
IMDB 비디오 자동 다운로더 (Google Drive 업로드 및 이메일 알림 포함)
If
Wait
Email Send
+
If
Wait
Email Send
19 노드Sk developer
콘텐츠 제작
RapidAPI 및 Google Sheets를 사용한 자동 표절 감지 및 이메일 보고서
RapidAPI 및 Google Sheets를 사용한 자동 표절 감지 및 이메일 보고서
If
Code
Email Send
+
If
Code
Email Send
19 노드Sk developer
콘텐츠 제작
최고의 백링크 체커 API를 사용한 웹사이트 백링크 분석 및 Google Sheets에 기록
최고의 백링크 검사기 API를 사용하여 웹사이트 백링크 분석 및 Google Sheets에 기록
Code
Form Trigger
Http Request
+
Code
Form Trigger
Http Request
13 노드Sk developer
시장 조사
RapidAPI와 Google 스프레드시트를 사용한 SEO 키워드 분석 자동화
RapidAPI 및 Google 스프레드시트를 사용한 SEO 키워드 분석 자동화
Code
Form Trigger
Http Request
+
Code
Form Trigger
Http Request
9 노드Sk developer
시장 조사
WordPress 블로그 자동화 프로페셔널 에디션(심층 연구) v2.1 마켓
GPT-4o, Perplexity AI 및 다국어 지원을 사용한 SEO 최적화 블로그 생성 자동화
If
Set
Xml
+
If
Set
Xml
125 노드Daniel Ng
콘텐츠 제작
판매세 계산기 API와 Google Sheets를 사용한 판매세 계산 자동화
판매세 계산기 API 및 Google Sheets를 사용한 판매세 계산 자동화
Code
Form Trigger
Http Request
+
Code
Form Trigger
Http Request
9 노드Sk developer
청구서 처리