Update to HTML/CSS to Image API
Snapshot Oct 24, 2026 · 18:04 UTC · version 2.1.1
Package or technical metadata updated
Package or technical metadata updated
Observed in package metadata. These changes alone do not establish a new customer-facing feature.
Up to 10 plugins free · no card required.
All fields and original values.
These are saved file metadata. Open a changed file to read its text edits.
Package file
Sep 30, 2026 · 22:59 UTC
04feef025dcec10a664453af258304d270ca2e5e92964a4274fa59e1bd6eaca7
Oct 24, 2026 · 18:04 UTC
c51efa6013748466fcf4f1f5a3d7046834397a407492babf6de64149c7402494
Package file
Sep 30, 2026 · 22:59 UTC
127
Oct 24, 2026 · 18:04 UTC
96
Package file
Sep 30, 2026 · 22:59 UTC
Not present
Oct 24, 2026 · 18:04 UTC
{"sha256":"7a0ca728a10782df90a55398d1a3dfa59ab5da4424439ff1239cf2e703e06481","size":6148}
Package file
Sep 30, 2026 · 22:59 UTC
Not present
Oct 24, 2026 · 18:04 UTC
{"sha256":"e6c6616286235e2c91e2dc299d461ed3360408bd723487779f9ca9e6e25e1352","size":4417}
Compare saved observations
Download comparison JSONChanged files
Choose a file to see its text changes. Binary or large files show metadata only.
.codex-plugin/assets/icon.png →
.codex-plugin/assets/screenshot-demo.png →
.codex-plugin/assets/screenshot-templateeditor.png →
.codex-plugin/assets/screenshot-url-reader.png →
.codex-plugin/assets/screenshot-urls.png →
__MACOSX/.codex-plugin/._.DS_Store →
__MACOSX/.codex-plugin/._assets →
__MACOSX/.codex-plugin/._mcp.json →
__MACOSX/.codex-plugin/._plugin.json →
__MACOSX/.codex-plugin/assets/._icon.png →
__MACOSX/.codex-plugin/assets/._screenshot-demo.png →
__MACOSX/.codex-plugin/assets/._screenshot-templateeditor.png →
.codex-plugin/plugin.json
− removed · + added
--- before +++ after @@ -1,27 +1,96 @@ { - "apps": "./.app.json", + "name": "app-6a4d168031448191abcd6540497efb7b", + "version": "2.1.1", + "description": "Create images, website screenshots, and PDFs directly in ChatGPT with HTML/CSS to Image. Describe what you want, and ChatGPT writes the HTML and CSS and renders the result. ChatGPT can also create and manage reusable templates for you, update their designs, and render them with new content.\n\nUse it to:\n\n- Create social graphics, product images, reports, certificates, and other branded assets from HTML and CSS\n- Capture public website screenshots for previews, documentation, testing, and visual QA\n- Create, update, list, and version reusable image templates\n- Generate personalized images from templates and dynamic variables\n- Create batches of image variations with different dimensions, time zones, color schemes, and other settings\n- Export to PNG, JPG, WebP, or PDF with control over viewport size, device scale, selectors, render delays, and more\n- Deliver rendered files to your own Amazon S3 or S3-compatible storage\n- Route renders through HTTP or HTTPS proxies you configure\n- Generate dynamic Open Graph images from page metadata using a stable image URL, including for static sites", "author": { "name": "Code Happy, LLC" }, - "description": "The HTML/CSS to Image MCP server lets AI assistants create production-ready images, website screenshots, and PDFs through natural-language instructions.\n\nUse it to:\n\n- Render HTML and CSS into PNG, JPG, WebP, or PDF\n- Capture screenshots of public URLs\n- Generate images from reusable templates and variables\n- Create batches of multiple image variations\n- Create, update, list, and version image templates\n- Configure viewport size, device scale, selectors, render delays, and other rendering options", + "extensions": { + "com.openai": { + "review": { + "test_cases": { + "positive": [ + { + "description": "Create a precisely sized social image from HTML and CSS and return an inline preview.", + "prompt": "Create a 1200 by 630 social card with a dark blue background, a centered white heading that says 'Quarterly Results', and an orange accent line. Show me the finished image.", + "tools_triggered": "create_image", + "expected_behavior": "Returns a successfully rendered inline image with the requested dimensions and styling, plus its hosted asset URL." + }, + { + "description": "Capture a public webpage as a full-page PDF.", + "prompt": "Capture https://example.com as a full-page PDF and give me the hosted result.", + "tools_triggered": "create_url_image", + "expected_behavior": "Returns a successful PDF asset with a link to the captured webpage result." + }, + { + "description": "Create a reusable template containing clearly named placeholders.", + "prompt": "Create a reusable template named 'Event Announcement' with placeholders for title, date, and location, sized to 1200 by 630 pixels.", + "tools_triggered": "create_template", + "expected_behavior": "Creates the template and returns its template ID and version so it can be rendered or updated later." + }, + { + "description": "Resolve a template by name and render it with supplied placeholder values.", + "prompt": "Find my template named 'Event Announcement' and render it with title 'Launch Night', date 'October 8', and location 'Main Hall'. Show me the result.", + "tools_triggered": "list_templates, create_templated_image", + "expected_behavior": "Selects the unambiguous matching template and returns the rendered image with the supplied values and a hosted URL." + }, + { + "description": "Check the account limit before creating a small image batch.", + "prompt": "Check my maximum batch size, then create three 800 by 450 images that say 'Option A', 'Option B', and 'Option C' using the same dark background and white text.", + "tools_triggered": "get_max_batch_size, create_batch_images", + "expected_behavior": "Checks that three images fit the account limit and returns three successful deferred hosted asset URLs." + } + ], + "negative": [ + { + "description": "Do not trigger for requests to summarize webpage text.", + "prompt": "Read https://example.com and summarize what the page says.", + "expected_behavior": "The app should not be invoked because it captures webpages as visual assets rather than extracting or summarizing their text." + }, + { + "description": "Do not trigger for editing an existing photograph.", + "prompt": "Remove the background from this portrait and retouch the lighting.", + "expected_behavior": "The app should not be invoked because it does not edit or retouch uploaded images." + }, + { + "description": "Do not trigger for unrelated document creation.", + "prompt": "Create a spreadsheet that tracks my monthly household expenses.", + "expected_behavior": "The app should not be invoked because spreadsheet creation is outside its image, screenshot, PDF, and template workflows." + } + ] + } + }, + "publication": { + "release_notes": "Proxy and storage destination credential configuration is handled in the HCTI dashboard. Updated listing and review test cases." + } + } + }, "interface": { "brandColorDark": "#FFFFFF", "capabilities": [], "category": "Developer Tools", "defaultPrompt": [ - "Create a polished 1200\u00d7630 social image for a product launch with bold type, a modern gradient, and a clear call to action.", - "Create a batch of my website screenshots across desktop, tablet, and mobile sizes, time zones, and light and dark modes.", - "Create a reusable event image template with fields for the name, date, location, and call to action, then render an example." + "Create a 1200 by 630 product launch image with bold type, a modern gradient, and a clear call to action.", + "Capture my website as desktop and mobile screenshots.", + "Create an event template with title, date, and location fields, then render an example." ], "developerName": "Code Happy, LLC", "displayName": "HTML/CSS to Image API", - "longDescription": "The HTML/CSS to Image MCP server lets AI assistants create production-ready images, website screenshots, and PDFs through natural-language instructions.\n\nUse it to:\n\n- Render HTML and CSS into PNG, JPG, WebP, or PDF\n- Capture screenshots of public URLs\n- Generate images from reusable templates and variables\n- Create batches of multiple image variations\n- Create, update, list, and version image templates\n- Configure viewport size, device scale, selectors, render delays, and other rendering options", + "longDescription": "Create images, website screenshots, and PDFs directly in ChatGPT with HTML/CSS to Image. Describe what you want, and ChatGPT writes the HTML and CSS and renders the result. ChatGPT can also create and manage reusable templates for you, update their designs, and render them with new content.\n\nUse it to:\n\n- Create social graphics, product images, reports, certificates, and other branded assets from HTML and CSS\n- Capture public website screenshots for previews, documentation, testing, and visual QA\n- Create, update, list, and version reusable image templates\n- Generate personalized images from templates and dynamic variables\n- Create batches of image variations with different dimensions, time zones, color schemes, and other settings\n- Export to PNG, JPG, WebP, or PDF with control over viewport size, device scale, selectors, render delays, and more\n- Deliver rendered files to your own Amazon S3 or S3-compatible storage\n- Route renders through HTTP or HTTPS proxies you configure\n- Generate dynamic Open Graph images from page metadata using a stable image URL, including for static sites", "privacyPolicyURL": "https://htmlcsstoimage.com/privacy", "shortDescription": "HTML to Image & URL screenshot", "supportURL": "https://htmlcsstoimage.com", "termsOfServiceURL": "https://htmlcsstoimage.com/terms", - "websiteURL": "https://htmlcsstoimage.com" + "websiteURL": "https://htmlcsstoimage.com", + "logo": "./.codex-plugin/assets/icon.png", + "composerIcon": "./.codex-plugin/assets/icon.png", + "screenshots": [ + "./.codex-plugin/assets/screenshot-demo.png", + "./.codex-plugin/assets/screenshot-templateeditor.png", + "./.codex-plugin/assets/screenshot-urls.png", + "./.codex-plugin/assets/screenshot-url-reader.png" + ] }, - "name": "app-6a4d168031448191abcd6540497efb7b", - "version": "2.0.1" -} \ No newline at end of file + "mcpServers": "./.codex-plugin/mcp.json", + "apps": "./.app.json" +}
Full technical diff · 21 changed fields
changed /files/.app.json/sha256
"04feef025dcec10a664453af258304d270ca2e5e92964a4274fa59e1bd6eaca7"
"c51efa6013748466fcf4f1f5a3d7046834397a407492babf6de64149c7402494"
changed /files/.app.json/size
127
96
added /files/.codex-plugin~1.DS_Store
Field was absent
{
"sha256": "7a0ca728a10782df90a55398d1a3dfa59ab5da4424439ff1239cf2e703e06481",
"size": 6148
}added /files/.codex-plugin~1assets~1icon.png
Field was absent
{
"sha256": "e6c6616286235e2c91e2dc299d461ed3360408bd723487779f9ca9e6e25e1352",
"size": 4417
}added /files/.codex-plugin~1assets~1screenshot-demo.png
Field was absent
{
"sha256": "df9ee62112bff89ad372fe8f849de0cecb43bf4d7a398d11fa466425a9e04d4c",
"size": 663562
}added /files/.codex-plugin~1assets~1screenshot-templateeditor.png
Field was absent
{
"sha256": "dd38590d0a79d325d445246184f17753abd5dc240602f26025981a5b592e1d2c",
"size": 1811245
}added /files/.codex-plugin~1assets~1screenshot-url-reader.png
Field was absent
{
"sha256": "56bdd390f427102786a0ee9cbe91908fdde00b9ac1dfe589c1a745299110e9fd",
"size": 237048
}added /files/.codex-plugin~1assets~1screenshot-urls.png
Field was absent
{
"sha256": "9777e5301c27e839d236a2291ef2ca405744e65a8164784c81f70538a2e40c19",
"size": 90805
}added /files/.codex-plugin~1mcp.json
Field was absent
{
"sha256": "95c7a79fbfc61e632f40754ae63b1ab82dba95e9d8bba176211bd9fe8baa6d22",
"size": 81
}changed /files/.codex-plugin~1plugin.json/sha256
"db75767058d5925395c5a765ca6fc91153df17443b61c2df6e18d2d1791cc48c"
"d6fbdedcb12891bd1dc9bb71996053b018d2fa65c5b5454d9650b9b4ddf960fb"
changed /files/.codex-plugin~1plugin.json/size
2121
7474
added /files/__MACOSX~1._.codex-plugin
Field was absent
{
"sha256": "2c228da895fb349d49bbab6edb089bb988779dac6ef577a575b0eedf25c6798c",
"size": 212
}added /files/__MACOSX~1.codex-plugin~1._.DS_Store
Field was absent
{
"sha256": "2f380f4a3d05a8d90c2106f50da75064e9ce57a598599dc5404f8f69a0223aa9",
"size": 120
}added /files/__MACOSX~1.codex-plugin~1._assets
Field was absent
{
"sha256": "780d88b9f8fb33ec18256fc66c7092b32ac971cabd7b35bf99d39ba3e623a936",
"size": 263
}added /files/__MACOSX~1.codex-plugin~1._mcp.json
Field was absent
{
"sha256": "780d88b9f8fb33ec18256fc66c7092b32ac971cabd7b35bf99d39ba3e623a936",
"size": 263
}added /files/__MACOSX~1.codex-plugin~1._plugin.json
Field was absent
{
"sha256": "f7a49a6b793eb7b7a4a3164c51b0648804d30e5461ca9ad63b8f538a0de00256",
"size": 411
}added /files/__MACOSX~1.codex-plugin~1assets~1._icon.png
Field was absent
{
"sha256": "0b0176eb79487da934ea6573587c6940d8e91df7210c5ed146509902d8939d3f",
"size": 213
}added /files/__MACOSX~1.codex-plugin~1assets~1._screenshot-demo.png
Field was absent
{
"sha256": "24908c70bd47bd33126d561e17839c560b715280c4d31723c9734d0007414ada",
"size": 163
}added /files/__MACOSX~1.codex-plugin~1assets~1._screenshot-templateeditor.png
Field was absent
{
"sha256": "24908c70bd47bd33126d561e17839c560b715280c4d31723c9734d0007414ada",
"size": 163
}added /files/__MACOSX~1.codex-plugin~1assets~1._screenshot-url-reader.png
Field was absent
{
"sha256": "24908c70bd47bd33126d561e17839c560b715280c4d31723c9734d0007414ada",
"size": 163
}added /files/__MACOSX~1.codex-plugin~1assets~1._screenshot-urls.png
Field was absent
{
"sha256": "24908c70bd47bd33126d561e17839c560b715280c4d31723c9734d0007414ada",
"size": 163
}Full snapshot data
{
"files": {
".app.json": {
"sha256": "c51efa6013748466fcf4f1f5a3d7046834397a407492babf6de64149c7402494",
"size": 96
},
".codex-plugin/.DS_Store": {
"sha256": "7a0ca728a10782df90a55398d1a3dfa59ab5da4424439ff1239cf2e703e06481",
"size": 6148
},
".codex-plugin/assets/icon.png": {
"sha256": "e6c6616286235e2c91e2dc299d461ed3360408bd723487779f9ca9e6e25e1352",
"size": 4417
},
".codex-plugin/assets/screenshot-demo.png": {
"sha256": "df9ee62112bff89ad372fe8f849de0cecb43bf4d7a398d11fa466425a9e04d4c",
"size": 663562
},
".codex-plugin/assets/screenshot-templateeditor.png": {
"sha256": "dd38590d0a79d325d445246184f17753abd5dc240602f26025981a5b592e1d2c",
"size": 1811245
},
".codex-plugin/assets/screenshot-url-reader.png": {
"sha256": "56bdd390f427102786a0ee9cbe91908fdde00b9ac1dfe589c1a745299110e9fd",
"size": 237048
},
".codex-plugin/assets/screenshot-urls.png": {
"sha256": "9777e5301c27e839d236a2291ef2ca405744e65a8164784c81f70538a2e40c19",
"size": 90805
},
".codex-plugin/mcp.json": {
"sha256": "95c7a79fbfc61e632f40754ae63b1ab82dba95e9d8bba176211bd9fe8baa6d22",
"size": 81
},
".codex-plugin/plugin.json": {
"sha256": "d6fbdedcb12891bd1dc9bb71996053b018d2fa65c5b5454d9650b9b4ddf960fb",
"size": 7474
},
"__MACOSX/._.codex-plugin": {
"sha256": "2c228da895fb349d49bbab6edb089bb988779dac6ef577a575b0eedf25c6798c",
"size": 212
},
"__MACOSX/.codex-plugin/._.DS_Store": {
"sha256": "2f380f4a3d05a8d90c2106f50da75064e9ce57a598599dc5404f8f69a0223aa9",
"size": 120
},
"__MACOSX/.codex-plugin/._assets": {
"sha256": "780d88b9f8fb33ec18256fc66c7092b32ac971cabd7b35bf99d39ba3e623a936",
"size": 263
},
"__MACOSX/.codex-plugin/._mcp.json": {
"sha256": "780d88b9f8fb33ec18256fc66c7092b32ac971cabd7b35bf99d39ba3e623a936",
"size": 263
},
"__MACOSX/.codex-plugin/._plugin.json": {
"sha256": "f7a49a6b793eb7b7a4a3164c51b0648804d30e5461ca9ad63b8f538a0de00256",
"size": 411
},
"__MACOSX/.codex-plugin/assets/._icon.png": {
"sha256": "0b0176eb79487da934ea6573587c6940d8e91df7210c5ed146509902d8939d3f",
"size": 213
},
"__MACOSX/.codex-plugin/assets/._screenshot-demo.png": {
"sha256": "24908c70bd47bd33126d561e17839c560b715280c4d31723c9734d0007414ada",
"size": 163
},
"__MACOSX/.codex-plugin/assets/._screenshot-templateeditor.png": {
"sha256": "24908c70bd47bd33126d561e17839c560b715280c4d31723c9734d0007414ada",
"size": 163
},
"__MACOSX/.codex-plugin/assets/._screenshot-url-reader.png": {
"sha256": "24908c70bd47bd33126d561e17839c560b715280c4d31723c9734d0007414ada",
"size": 163
},
"__MACOSX/.codex-plugin/assets/._screenshot-urls.png": {
"sha256": "24908c70bd47bd33126d561e17839c560b715280c4d31723c9734d0007414ada",
"size": 163
}
}
}SHA-256 of public snapshot: 73ea31e511a44c2f625dc5304b9c62bafbf8cae7af2c3fe10de0283390edd6ec