{ "id": "AqWXpCre4fsPEkAH", "meta": { "instanceId": "workflow-e06b8aa0", "versionId": "1.0.0", "createdAt": "2025-09-29T07:07:44.958722", "updatedAt": "2025-09-29T07:07:44.958738", "owner": "n8n-user", "license": "MIT", "category": "automation", "status": "active", "priority": "high", "environment": "production" }, "name": "Simple OpenAI Image Generator", "tags": [ "automation", "n8n", "production-ready", "excellent", "optimized" ], "nodes": [ { "id": "526c24bc-3bc5-48c3-ae1e-5b0c0352d07f", "name": "Convert to File", "type": "n8n-nodes-base.convertToFile", "position": [ 440, 0 ], "parameters": { "options": {}, "operation": "toBinary", "sourceProperty": "data[0].b64_json" }, "typeVersion": 1.1, "notes": "This convertToFile node performs automated tasks as part of the workflow." }, { "id": "20fdcc11-5e8a-4788-b3a3-e556996b59f7", "name": "Prompt and options", "type": "n8n-nodes-base.formTrigger", "position": [ 0, 0 ], "webhookId": "b749da3f-836f-4996-a8ee-bc26f8677582", "parameters": { "options": {}, "formTitle": "OpenAI Image Generator", "formFields": { "values": [ { "fieldLabel": "Prompt", "placeholder": "Snow-covered mountain village in the Alps", "requiredField": true }, { "fieldType": "dropdown", "fieldLabel": "Image size", "fieldOptions": { "values": [ { "option": "1024x1024" }, { "option": "1024x1536" }, { "option": "1536x1024" } ] }, "requiredField": true } ] } }, "typeVersion": 2.2, "notes": "This formTrigger node performs automated tasks as part of the workflow." }, { "id": "eb220b1f-2091-492a-931f-1f2e344b32a6", "name": "OpenAI Image Generation", "type": "n8n-nodes-base.httpRequest", "position": [ 220, 0 ], "parameters": { "url": "{{ $env.API_BASE_URL }}", "method": "POST", "options": {}, "sendBody": true, "sendHeaders": true, "authentication": "{{ $credentials.predefinedCredentialType }}", "bodyParameters": { "parameters": [ { "name": "model", "value": "gpt-image-1" }, { "name": "prompt", "value": "={{ $json.Prompt }}" }, { "name": "n", "value": "={{ 1 }}" }, { "name": "size", "value": "={{ $json['Image size'] }}" } ] }, "nodeCredentialType": "YOUR_CREDENTIAL_HERE" }, "credentials": { "openAiApi": { "id": "x1byAha0t8ltLIeW", "name": "OpenAi account" } }, "typeVersion": 4.2, "notes": "This httpRequest node performs automated tasks as part of the workflow." }, { "id": "86718927-490e-4d97-9b0c-1118e2ccdcb6", "name": "Return to form", "type": "n8n-nodes-base.form", "position": [ 660, 0 ], "webhookId": "745af4a8-ab3c-4267-aa8d-a8998cc534e5", "parameters": { "options": { "formTitle": "Result" }, "operation": "completion", "respondWith": "returnBinary", "completionTitle": "Result", "completionMessage": "Here is the created image:" }, "typeVersion": 1, "notes": "This form node performs automated tasks as part of the workflow." }, { "id": "a069f63f-139e-4157-a44a-448224f2c119", "name": "Sticky Note", "type": "n8n-nodes-base.stickyNote", "position": [ -600, 0 ], "parameters": { "width": 500, "height": 620, "content": "# Welcome to my Simple OpenAI Image Generator Workflow!\n\nThis workflow creates an image with the new OpenAI image model \"GPT-Image-1\" based on a form input.\n\n## This workflow has the following sequence:\n\n1. Form trigger (image prompt and image size input)\n2. Generate the Image via OpenAI API.\n3. Return the image to the input form for download.\n\n## The following accesses are required for the workflow:\n- OpenAI API access: [Documentation]({{ $env.WEBHOOK_URL }}\n\nYou can contact me via LinkedIn, if you have any questions: {{ $env.WEBHOOK_URL }}" }, "typeVersion": 1, "notes": "This stickyNote node performs automated tasks as part of the workflow." } ], "active": false, "pinData": {}, "settings": { "executionOrder": "v1", "saveManualExecutions": true, "callerPolicy": "workflowsFromSameOwner", "errorWorkflow": null, "timezone": "UTC", "executionTimeout": 3600, "maxExecutions": 1000, "retryOnFail": true, "retryCount": 3, "retryDelay": 1000 }, "versionId": "d2376df0-9c26-4723-9e97-07fc226e7a53", "connections": { "eb220b1f-2091-492a-931f-1f2e344b32a6": { "main": [ [ { "node": "error-handler-eb220b1f-2091-492a-931f-1f2e344b32a6", "type": "main", "index": 0 } ], [ { "node": "error-handler-eb220b1f-2091-492a-931f-1f2e344b32a6-c3743f80", "type": "main", "index": 0 } ], [ { "node": "error-handler-eb220b1f-2091-492a-931f-1f2e344b32a6-463df05c", "type": "main", "index": 0 } ], [ { "node": "error-handler-eb220b1f-2091-492a-931f-1f2e344b32a6-0519d12c", "type": "main", "index": 0 } ], [ { "node": "error-handler-eb220b1f-2091-492a-931f-1f2e344b32a6-49d71f1e", "type": "main", "index": 0 } ], [ { "node": "error-handler-eb220b1f-2091-492a-931f-1f2e344b32a6-d98b0977", "type": "main", "index": 0 } ], [ { "node": "error-handler-eb220b1f-2091-492a-931f-1f2e344b32a6-6cc20370", "type": "main", "index": 0 } ], [ { "node": "error-handler-eb220b1f-2091-492a-931f-1f2e344b32a6-986387c3", "type": "main", "index": 0 } ], [ { "node": "error-handler-eb220b1f-2091-492a-931f-1f2e344b32a6-e6518829", "type": "main", "index": 0 } ] ] }, "526c24bc-3bc5-48c3-ae1e-5b0c0352d07f": { "main": [ [ { "node": "error-handler-526c24bc-3bc5-48c3-ae1e-5b0c0352d07f-5d56e42a", "type": "main", "index": 0 } ] ] } }, "description": "Automated workflow: Simple OpenAI Image Generator. This workflow integrates 6 different services: convertToFile, stickyNote, httpRequest, formTrigger, stopAndError. It contains 8 nodes and follows best practices for error handling and security.", "notes": "Excellent quality workflow: Simple OpenAI Image Generator. This workflow has been optimized for production use with comprehensive error handling, security, and documentation." }