[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"github-stars":3,"marketplace-site-banners":110,"@directus-labs\u002Fai-image-generation-operation":115},{"id":4,"node_id":5,"name":6,"full_name":7,"private":8,"owner":9,"html_url":27,"description":28,"fork":8,"url":29,"forks_url":30,"keys_url":31,"collaborators_url":32,"teams_url":33,"hooks_url":34,"issue_events_url":35,"events_url":36,"assignees_url":37,"branches_url":38,"tags_url":39,"blobs_url":40,"git_tags_url":41,"git_refs_url":42,"trees_url":43,"statuses_url":44,"languages_url":45,"stargazers_url":46,"contributors_url":47,"subscribers_url":48,"subscription_url":49,"commits_url":50,"git_commits_url":51,"comments_url":52,"issue_comment_url":53,"contents_url":54,"compare_url":55,"merges_url":56,"archive_url":57,"downloads_url":58,"issues_url":59,"pulls_url":60,"milestones_url":61,"notifications_url":62,"labels_url":63,"releases_url":64,"deployments_url":65,"created_at":66,"updated_at":67,"pushed_at":68,"git_url":69,"ssh_url":70,"clone_url":71,"svn_url":27,"homepage":72,"size":73,"stargazers_count":74,"watchers_count":74,"language":75,"has_issues":76,"has_projects":76,"has_downloads":76,"has_wiki":8,"has_pages":8,"has_discussions":76,"forks_count":77,"mirror_url":78,"archived":8,"disabled":8,"open_issues_count":79,"license":80,"allow_forking":76,"is_template":8,"web_commit_signoff_required":8,"has_pull_requests":76,"pull_request_creation_policy":85,"topics":86,"visibility":26,"forks":77,"open_issues":79,"watchers":74,"default_branch":106,"temp_clone_token":78,"custom_properties":107,"organization":108,"network_count":77,"subscribers_count":109},7122594,"MDEwOlJlcG9zaXRvcnk3MTIyNTk0","directus","directus\u002Fdirectus",false,{"login":6,"id":10,"node_id":11,"avatar_url":12,"gravatar_id":13,"url":14,"html_url":15,"followers_url":16,"following_url":17,"gists_url":18,"starred_url":19,"subscriptions_url":20,"organizations_url":21,"repos_url":22,"events_url":23,"received_events_url":24,"type":25,"user_view_type":26,"site_admin":8},15967950,"MDEyOk9yZ2FuaXphdGlvbjE1OTY3OTUw","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F15967950?v=4","","https:\u002F\u002Fapi.github.com\u002Fusers\u002Fdirectus","https:\u002F\u002Fgithub.com\u002Fdirectus","https:\u002F\u002Fapi.github.com\u002Fusers\u002Fdirectus\u002Ffollowers","https:\u002F\u002Fapi.github.com\u002Fusers\u002Fdirectus\u002Ffollowing{\u002Fother_user}","https:\u002F\u002Fapi.github.com\u002Fusers\u002Fdirectus\u002Fgists{\u002Fgist_id}","https:\u002F\u002Fapi.github.com\u002Fusers\u002Fdirectus\u002Fstarred{\u002Fowner}{\u002Frepo}","https:\u002F\u002Fapi.github.com\u002Fusers\u002Fdirectus\u002Fsubscriptions","https:\u002F\u002Fapi.github.com\u002Fusers\u002Fdirectus\u002Forgs","https:\u002F\u002Fapi.github.com\u002Fusers\u002Fdirectus\u002Frepos","https:\u002F\u002Fapi.github.com\u002Fusers\u002Fdirectus\u002Fevents{\u002Fprivacy}","https:\u002F\u002Fapi.github.com\u002Fusers\u002Fdirectus\u002Freceived_events","Organization","public","https:\u002F\u002Fgithub.com\u002Fdirectus\u002Fdirectus","The flexible backend for all your projects 🐰 Turn your DB into a headless CMS, admin panels, or apps with a custom UI, instant APIs, auth & more.","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fforks","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fkeys{\u002Fkey_id}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fcollaborators{\u002Fcollaborator}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fteams","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fhooks","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fissues\u002Fevents{\u002Fnumber}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fevents","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fassignees{\u002Fuser}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fbranches{\u002Fbranch}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Ftags","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fgit\u002Fblobs{\u002Fsha}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fgit\u002Ftags{\u002Fsha}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fgit\u002Frefs{\u002Fsha}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fgit\u002Ftrees{\u002Fsha}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fstatuses\u002F{sha}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Flanguages","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fstargazers","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fcontributors","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fsubscribers","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fsubscription","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fcommits{\u002Fsha}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fgit\u002Fcommits{\u002Fsha}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fcomments{\u002Fnumber}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fissues\u002Fcomments{\u002Fnumber}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fcontents\u002F{+path}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fcompare\u002F{base}...{head}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fmerges","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002F{archive_format}{\u002Fref}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fdownloads","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fissues{\u002Fnumber}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fpulls{\u002Fnumber}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fmilestones{\u002Fnumber}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fnotifications{?since,all,participating}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Flabels{\u002Fname}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Freleases{\u002Fid}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fdeployments","2012-12-12T01:35:36Z","2026-07-18T05:08:19Z","2026-07-17T21:10:45Z","git:\u002F\u002Fgithub.com\u002Fdirectus\u002Fdirectus.git","git@github.com:directus\u002Fdirectus.git","https:\u002F\u002Fgithub.com\u002Fdirectus\u002Fdirectus.git","https:\u002F\u002Fdirectus.com",447310,36507,"TypeScript",true,4850,null,399,{"key":81,"name":82,"spdx_id":83,"url":78,"node_id":84},"other","Other","NOASSERTION","MDc6TGljZW5zZTA=","all",[87,88,89,90,91,92,6,93,94,95,96,97,98,99,100,101,102,103,104,105],"api","app","cms","composable","data-visualization","database","graphql","headless-cms","javascript","mariadb","mssql","mysql","no-code","node","postgresql","sql","sqlite","typescript","vue","main",{},{"login":6,"id":10,"node_id":11,"avatar_url":12,"gravatar_id":13,"url":14,"html_url":15,"followers_url":16,"following_url":17,"gists_url":18,"starred_url":19,"subscriptions_url":20,"organizations_url":21,"repos_url":22,"events_url":23,"received_events_url":24,"type":25,"user_view_type":26,"site_admin":8},326,[111],{"id":112,"icon":78,"content":113,"link":114,"include_paths":78,"exclude_paths":78},"5cf2f5f6-aecf-4395-8c23-69de326fdf02","Directus V12 is here","https:\u002F\u002Fdirectus.com\u002Fresources\u002Fv12-built-for-the-whole-team",{"name":116,"description":117,"verified":8,"id":118,"readme":119,"type":120,"last_updated":121,"host_version":122,"downloads":123,"total_downloads":124,"sandbox":76,"license":125,"publisher":126,"versions":135,"formatted_name":185,"formatted_readme":186,"formatted_description":117,"featured_image":187,"images":188,"recent_downloads_7_days":124,"recent_downloads_30_days":124},"@directus-labs\u002Fai-image-generation-operation","Use DALLE•E 3 to generate images based on a user prompt.","1c09c3a4-2750-4a01-94fd-c0d91fe35870","# AI Image Generation Operation\n\nGenerate new images within Directus Flows with this custom operation, powered by [OpenAI](https:\u002F\u002Fplatform.openai.com).\n\n![The AI Image Generation operation, showing an OpenAI API Key field, and fields for a prompt, quality, and size selection](https:\u002F\u002Fraw.githubusercontent.com\u002Fdirectus-labs\u002Fextensions\u002Fmain\u002Fpackages\u002Fai-image-generation-operation\u002Fdocs\u002Foptions.png)\n\nThis operation contains four required configuration options - an [OpenAI API Key](https:\u002F\u002Fplatform.openai.com), a text prompt, a quality (standard or high), and a size (square, portrait, or landscape). It returns a string which is a direct URL to the generated image.\n\nYou can use an operation to then import the image to your project, or run further automation on the output.\n\n## Output\n\nThe output is a plain string which is a URL to the generated image.\n\n## Flow Setup\n\nUse the **AI Image Generation** operation, using the `{{ step }}` variable syntax to dynamically create a prompt.\n\nImmediately after the operation, create a **Webhook \u002F Request URL** operation with the name \"Import\". Use a `POST` Method and a URL of `https:\u002F\u002Fyour-directus-project-url\u002Ffiles\u002Fimport`, being sure to provide your specific Directus Project URL. If public file uploads are not enabled, you will need to add an `Authorization` header with the value `Bearer token`, where `token` must be a static token from a user who has permissions to create files.\n\nUse the following Request Body:\n\n```json\n{\n\t\"url\": \"{{$last}}\"\n}\n```\n\nThis operation will return the id of the new file at `{{ import.data.data.id }}`. You can use this ID in file\u002Fimage relational fields.\n","operation","2024-12-18T11:07:20.267Z","^10.10.0",[],0,"MIT",{"username":127,"verified":76,"id":128,"github_username":127,"github_name":129,"github_blog":130,"github_bio":131,"github_location":132,"github_company":133,"github_avatar_url":134},"ukmadlz","74ce2e77-733a-4e9a-b96d-93bf6264f622","Mike Elsmore","http:\u002F\u002Felsmore.me","(╯°□°）╯︵ TABLEFLIP","UK","@DigitalSpeed","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F804683?v=4",[136,155,170],{"version":137,"package":118,"publisher":138,"type":120,"host_version":122,"publish_date":139,"verified":8,"id":140,"url_repository":78,"url_homepage":78,"url_bugs":78,"file_count":141,"unpacked_size":142,"sandbox":76,"sandbox_requested_scopes":143,"license":125,"bundled":150,"maintainers":151},"1.0.1","8486d50d-a6bc-45c6-8627-60f3c144732c","2024-03-14T11:49:39.027Z","467d87ba-5246-41b7-be33-2bd0aa9c6c5e",4,5036,{"request":144,"log":149},{"urls":145,"methods":147},[146],"https:\u002F\u002Fapi.openai.com\u002Fv1\u002F**",[148],"POST",{},[],[152,153,154],10530,10531,10532,{"version":156,"package":118,"publisher":128,"type":120,"host_version":122,"publish_date":121,"verified":8,"id":157,"url_repository":78,"url_homepage":78,"url_bugs":78,"file_count":141,"unpacked_size":158,"sandbox":76,"sandbox_requested_scopes":159,"license":125,"bundled":164,"maintainers":165},"1.0.2","5adf580e-9ebe-434f-bab3-24529d46238a",4373,{"request":160,"log":163},{"urls":161,"methods":162},[146],[148],{},[],[166,167,168,169],11727,11728,11729,11730,{"version":171,"package":118,"publisher":138,"type":120,"host_version":122,"publish_date":172,"verified":8,"id":173,"url_repository":78,"url_homepage":78,"url_bugs":78,"file_count":141,"unpacked_size":174,"sandbox":76,"sandbox_requested_scopes":175,"license":125,"bundled":180,"maintainers":181},"1.0.0","2024-03-13T09:55:40.511Z","65426738-b4e5-428c-809d-8f0c7bb3564e",4228,{"request":176,"log":179},{"urls":177,"methods":178},[146],[148],{},[],[182,183,184],10514,10515,10516,"AI Image Generation Operation","\u003Ch1>AI Image Generation Operation\u003C\u002Fh1>\n\u003Cp>Generate new images within Directus Flows with this custom operation, powered by \u003Ca href=\"https:\u002F\u002Fplatform.openai.com\">OpenAI\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Fraw.githubusercontent.com\u002Fdirectus-labs\u002Fextensions\u002Fmain\u002Fpackages\u002Fai-image-generation-operation\u002Fdocs\u002Foptions.png\" alt=\"The AI Image Generation operation, showing an OpenAI API Key field, and fields for a prompt, quality, and size selection\">\u003C\u002Fp>\n\u003Cp>This operation contains four required configuration options - an \u003Ca href=\"https:\u002F\u002Fplatform.openai.com\">OpenAI API Key\u003C\u002Fa>, a text prompt, a quality (standard or high), and a size (square, portrait, or landscape). It returns a string which is a direct URL to the generated image.\u003C\u002Fp>\n\u003Cp>You can use an operation to then import the image to your project, or run further automation on the output.\u003C\u002Fp>\n\u003Ch2>Output\u003C\u002Fh2>\n\u003Cp>The output is a plain string which is a URL to the generated image.\u003C\u002Fp>\n\u003Ch2>Flow Setup\u003C\u002Fh2>\n\u003Cp>Use the \u003Cstrong>AI Image Generation\u003C\u002Fstrong> operation, using the \u003Ccode>{{ step }}\u003C\u002Fcode> variable syntax to dynamically create a prompt.\u003C\u002Fp>\n\u003Cp>Immediately after the operation, create a \u003Cstrong>Webhook \u002F Request URL\u003C\u002Fstrong> operation with the name \"Import\". Use a \u003Ccode>POST\u003C\u002Fcode> Method and a URL of \u003Ccode>https:\u002F\u002Fyour-directus-project-url\u002Ffiles\u002Fimport\u003C\u002Fcode>, being sure to provide your specific Directus Project URL. If public file uploads are not enabled, you will need to add an \u003Ccode>Authorization\u003C\u002Fcode> header with the value \u003Ccode>Bearer token\u003C\u002Fcode>, where \u003Ccode>token\u003C\u002Fcode> must be a static token from a user who has permissions to create files.\u003C\u002Fp>\n\u003Cp>Use the following Request Body:\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-json\">{\n\t\"url\": \"{{$last}}\"\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>This operation will return the id of the new file at \u003Ccode>{{ import.data.data.id }}\u003C\u002Fcode>. You can use this ID in file\u002Fimage relational fields.\u003C\u002Fp>\n","https:\u002F\u002Fraw.githubusercontent.com\u002Fdirectus-labs\u002Fextensions\u002Fmain\u002Fpackages\u002Fai-image-generation-operation\u002Fdocs\u002Foptions.png",[187]]