anaksor-ocr
Sokheng · Kit
Reads Khmer and English text from documents, receipts and photos of signs, using a detector for text lines and a recogniser for each line. Suits developers who…
An n8n workflow that answers a web address with a page. The address carries a request such as a signup form, OpenAI designs it as structured data, a second step writes the HTML, and the browser gets the page.
Web page built by OpenAI from a request in the web address is an n8n workflow in the Developer category, listed by Mindket. It is free. This is version 1, last updated on . Download it on this page or copy its JSON, then import it into an n8n canvas. Nothing runs until you activate it in n8n.
Web request
It starts when a browser opens the webhook’s address with a request in it:
The browser shows a page built from the request
What you need before you start.
Language model
Runs gpt-6-luna twice: once to design the page under a strict schema and once to turn the design into HTML.
NeedsOpenAI API key
Checked by Mindket on 13 Nov 2026
This n8n workflow turns a sentence in a link into a web page. Someone opens the workflow’s address with a query such as a signup form. OpenAI first returns the page as a tree of elements that follows a strict schema. A second OpenAI step turns the tree into a title and HTML. A last node wraps them in a full page that loads Tailwind, and the workflow sends it to the browser. Five nodes do the work, beside two sticky notes.
Developers and designers who want to try structured output, and anyone who wants a quick mock-up from a plain request. Skip it for a page you will publish as it is. The results are rough drafts, and they differ from one run to the next.
| Industry | Who uses it | How they use it | Example |
|---|---|---|---|
| Software | Developers | Try OpenAI’s structured output on a task with a visible result | A developer changes the element list in the schema and sees the pages change. |
| Design | Designers | Get a first layout idea from one line of text | A designer asks for a pricing page for a bakery and takes the layout ideas. |
| Education | Teachers | Show how a strict schema shapes a model’s answer | A teacher compares the tree with the page it becomes. |
| Agencies | Prototype builders | Show a client a rough page before any design work | A builder opens a link for a landing page and shares the draft. |
You need a little n8n: import a file, add one OpenAI credential in two nodes and open a link.
Any n8n that can reach OpenAI and that a browser can reach will run it. The page appears in the browser that opened the link.
query addedWebhook node waits for a test eventDownload saves a zip with workflow.json and Mindket’s setup notes in your downloads folder. One OpenAI key covers both model calls.
| Need | Detail |
|---|---|
| n8n | On n8n Cloud or on a server of your own, reachable from a browser |
| OpenAI | An API key with access to gpt-6-luna |
workflow.json.OpenAI Structured Output and OpenAI JSON to HTML. Add an OpenAI credential with your key and select it in both.Webhook, copy its test address and add ?query=a%20signup%20form to the end. Open it in a browser while the node waits for a test event.Open the address with ?query= and your request after it, written with %20 for spaces. The browser shows the finished page after both model calls end.
| To change | Where |
|---|---|
| The models | model in the first node’s request body, and Model in the second node |
| The designer’s brief | The system message in the first node’s request body |
| The elements the model may use | The enum list in the schema, in the same body |
| The page frame | The HTML in Format the HTML result |
| Who may ask | The authentication options of Webhook |
Someone opens the address with ?query=a%20pricing%20page%20for%20a%20bakery.
OpenAI returns a tree of headings, sections and buttons with Tailwind classes. The second step writes the HTML and a title, and the browser shows a styled page for that bakery.
If you are new. n8n draws a workflow as boxes joined by lines, and each box, a node, does one job. This one is a straight line from the link to the page. Open the link once, then open the run and read the tree that the first model call returned.
For experts. The first call forces response_format to a strict JSON schema named ui, and the second asks for a JSON object with html and title.
| Node | What it does | What to know |
|---|---|---|
Webhook | Version 2, answering through a Respond to Webhook node | It takes GET and allows any origin, with no authentication |
OpenAI Structured Output | HTTP Request 4.2, POST to https://api.openai.com/v1/chat/completions | The query goes in as the user message, escaped for JSON |
OpenAI JSON to HTML | OpenAI 1.3, message a model, with JSON output on | Its output is read as message.content.html and message.content.title |
Format the HTML result | HTML 1.2, a full page around the title and markup | The page loads Tailwind from https://cdn.tailwindcss.com |
Respond to Webhook | Version 1.1, answering with text | It sets the content type to HTML with the UTF-8 character set |
Anyone with the address can start a run on your key, and the page the model writes runs in the visitor’s browser.
gpt-4o and gpt-4o-mini as shut down on 14 January 2027, with gpt-6-luna as the replacement. Mindket’s copy uses gpt-6-luna in both steps, and its model page lists Chat Completions and structured outputsgpt-6-luna, so a page can take a little longerquery was written with bad intent can make the model write script that runs on your n8n’s address, so share it only with people you trustAn n8n workflow that answers a web address with a page. The address carries a query such as a signup form. OpenAI first
returns the page as a structured tree of elements, a second OpenAI step turns the tree into HTML, and the workflow sends that
HTML to the browser.
workflow.json: the workflow as n8n exports it, five working nodes and two sticky notes. It holds no credential.README.md: these notes.gpt-4o-2024-08-06 and the second step gpt-4o-mini. OpenAI's deprecations page, read on 12 Novembergpt-6-luna as the replacement. Both now usegpt-6-luna. Its model page lists Chat Completions and structured outputs as supported.gpt-6-luna says nothing about temperature, so the option isJSON.stringify(...).slice(1, -1).OpenAI Structured Output and OpenAI JSON to HTML.gpt-6-luna.workflow.json.OpenAI Structured Output and OpenAI JSON to HTML. Add an OpenAI credential with your key and select it inWebhook and copy its test address. Add ?query=a%20signup%20form to the end and open it in a browser while theWebhook (version 2) takes the GET request. It answers through a Respond to Webhook node, and its allowed origins are *.OpenAI Structured Output (HTTP Request 4.2) posts to https://api.openai.com/v1/chat/completions with thequery. A system message casts the model as an interface designer and copywriter who uses Tailwind. The replyui: an element type from a fixed list of HTML and SVG names, a label, a list ofchildren of the same shape and a list of attributes.OpenAI JSON to HTML (OpenAI 1.3, message a model, JSON output on) turns that tree into a JSON object with html andtitle.Format the HTML result (HTML 1.2) puts the title and the markup into a full page that loads Tailwind's script fromhttps://cdn.tailwindcss.com.Respond to Webhook (version 1.1) sends the page as text with the header Content-Type: text/html; charset=UTF-8.model in the request body of the first node, and Model in the second.enum list in the schema, in the same body.Format the HTML result.Webhook.gpt-6-luna reasons before it answers (OpenAI's page gives medium as the default effort), so it can be slower than the modelsquery was written with bad intent can make it write script that runsNOTICE.md 696 B README.md 4 KB workflow.json 8 KB
Sokheng · Kit
Reads Khmer and English text from documents, receipts and photos of signs, using a detector for text lines and a recogniser for each line. Suits developers who…
Qwen · Kit
Qwen2.5-7B-Instruct as GGUF files in eight quantization sizes, to chat with locally through llama.cpp. For people who want a capable 7.6B model on their own co…
ACE-Step · Kit
Generates music from text with a 4B diffusion decoder, 50 steps and guidance control, aiming for higher audio quality than the base. For creators with a GPU of…
alirezarezvani · Skill
Adds 411 ready-made skills for Claude Code and other coding agents, grouped by role from engineering and product to marketing, finance and compliance. Installs…
block · Kit
Self-hostable workspace where people and AI agents share the same rooms, built on a Nostr relay that logs every action as a signed event. For teams that want t…
backnotprop · Kit
Opens your AI coding agent's plans, specs and code changes in a browser so you can annotate or comment on them and send the feedback straight back to the agent.