bggg-creator-image2ppt
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseBGGG Creator Image2PPT
BGGG Creator Image2PPT
用这个 skill 把平面视觉稿转换成可编辑的 。核心设计是“先形成结构化 manifest,再由脚本生成 PPTX”。
.pptx- 二进制图片输入:Codex 负责识别版式、文字和组件;默认调用 skill 生成或清理背景、装饰、产品、图表等组件图片;文本尽量还原为 PowerPoint 文本框。
imagegen - HTML/SVG 输入:优先把代码结构解析为原生 PPT 元素;复杂节点再降级为图片组件。
- 所有中间图片、manifest、诊断和输出都必须放在本 skill 的 目录里。
projects/YYYYMMDD_slug/
Use this skill to convert flat visual drafts into editable files. The core design is "first form a structured manifest, then generate PPTX via scripts."
.pptx- Binary image input: Codex is responsible for identifying layout, text and components; it defaults to calling the skill to generate or clean component images such as backgrounds, decorations, products, charts, etc.; text is restored to PowerPoint text boxes as much as possible.
imagegen - HTML/SVG input: Prioritize parsing code structures into native PPT elements; complex nodes are downgraded to image components.
- All intermediate images, manifests, diagnostics and outputs must be placed in the directory of this skill.
projects/YYYYMMDD_slug/
Codex 默认策略
Codex Default Strategy
在 Codex 中处理 PNG/JPEG/WebP 等二进制图片时,默认执行这个顺序:
- 使用 Codex 视觉能力观察源图,列出幻灯片尺寸、背景、标题、正文、图标、照片、图表、装饰、阴影、遮罩等对象。
- 对于可编辑文字,直接写入 manifest 的 元素,不要把文字只做成图片。
text - 对于背景、照片、图标、复杂插画、图表、纹理、遮挡后需要补全的背景,使用 skill 生成、清理或重建独立组件图片。
imagegen - 把 生成的图片复制到当前项目目录的
imagegen或imagegen_assets/,不要让项目依赖component_images/的临时输出。$CODEX_HOME - 写 ,用
manifest.json生成 PPTX。scripts/image2pptx.py build - 验证 PPTX 能被 重新打开,并记录图层/文本/图片数量和已知限制。
python-pptx
如果用户明确要求“不重绘”“保持原图像素”,可以用原图裁切或全画布透明 PNG 作为组件图片;但默认仍要用 Codex imagegen 能力辅助背景清理、缺失区域补全和组件干净化。
When processing binary images such as PNG/JPEG/WebP in Codex, the following sequence is executed by default:
- Use Codex's visual capability to observe the source image, list objects such as slide size, background, title, body text, icons, photos, charts, decorations, shadows, masks, etc.
- For editable text, directly write it into the element of the manifest; do not only render text as images.
text - For backgrounds, photos, icons, complex illustrations, charts, textures, and backgrounds that need to be completed after occlusion, use the skill to generate, clean or rebuild independent component images.
imagegen - Copy the images generated by to the
imagegenorimagegen_assets/directory of the current project; do not let the project depend on temporary outputs fromcomponent_images/.$CODEX_HOME - Write , then use
manifest.jsonto generate PPTX.scripts/image2pptx.py build - Verify that the PPTX can be reopened by , and record the number of layers/text/images and known limitations.
python-pptx
If the user explicitly requests "no redrawing" or "retain original pixels", the original image can be cropped or used as a full-canvas transparent PNG as a component image; but by default, Codex imagegen capability should still be used to assist background cleaning, missing area completion and component purification.
项目目录约定
Project Directory Convention
每次转换都创建独立项目目录:
text
bggg-creator-image2ppt/
└── projects/
└── YYYYMMDD_slug/
├── original_inputs/
├── component_images/
├── imagegen_assets/
├── diagnostics/
├── manifest.json
├── output.pptx
├── summary.json
└── process_notes.md初始化:
bash
python3 bggg-creator-image2ppt/scripts/init_project.py pitch_deck \
--source /path/to/reference.png \
--date 20260504Create an independent project directory for each conversion:
text
bggg-creator-image2ppt/
└── projects/
└── YYYYMMDD_slug/
├── original_inputs/
├── component_images/
├── imagegen_assets/
├── diagnostics/
├── manifest.json
├── output.pptx
├── summary.json
└── process_notes.mdInitialization:
bash
python3 bggg-creator-image2ppt/scripts/init_project.py pitch_deck \
--source /path/to/reference.png \
--date 20260504二进制图片转 PPTX 工作流
Binary Image to PPTX Workflow
-
初始化项目,把源图复制到。
original_inputs/ -
识别页面结构:
- 画布比例和大致尺寸。
- 背景是纯色、渐变、照片还是复杂插画。
- 每段文字的内容、位置、字号、颜色、粗细、对齐方式。
- 组件图片的边界、层级和是否需要透明背景。
-
默认用生成或编辑组件:
imagegen- 背景:完整画布、无文字、无前景组件。
- 照片/产品/人物/图标/复杂装饰:干净边缘,必要时透明背景。
- 图表:能原生重建就用形状和文本;复杂图表可先做成图片组件。
-
把组件图片放入或
component_images/。imagegen_assets/ -
写 manifest,元素按从底到顶排序。
-
运行:bash
python3 bggg-creator-image2ppt/scripts/image2pptx.py build \ --manifest bggg-creator-image2ppt/projects/YYYYMMDD_slug/manifest.json \ --output bggg-creator-image2ppt/projects/YYYYMMDD_slug/output.pptx \ --summary bggg-creator-image2ppt/projects/YYYYMMDD_slug/summary.json -
写,说明是否使用 imagegen、哪些对象是可编辑文本、哪些对象是图片 fallback。
process_notes.md
-
Initialize the project and copy the source image to.
original_inputs/ -
Identify page structure:
- Canvas ratio and approximate size.
- Whether the background is solid color, gradient, photo or complex illustration.
- Content, position, font size, color, weight, alignment of each text segment.
- Boundaries, hierarchy and whether transparent background is needed for component images.
-
Default to usingto generate or edit components:
imagegen- Background: Complete canvas, no text, no foreground components.
- Photos/products/people/icons/complex decorations: Clean edges, transparent background if necessary.
- Charts: Reconstruct natively with shapes and text if possible; complex charts can be made into image components first.
-
Place component images intoor
component_images/.imagegen_assets/ -
Write the manifest, with elements sorted from bottom to top.
-
Run:bash
python3 bggg-creator-image2ppt/scripts/image2pptx.py build \ --manifest bggg-creator-image2ppt/projects/YYYYMMDD_slug/manifest.json \ --output bggg-creator-image2ppt/projects/YYYYMMDD_slug/output.pptx \ --summary bggg-creator-image2ppt/projects/YYYYMMDD_slug/summary.json -
Write, indicating whether imagegen was used, which objects are editable text, and which objects are image fallbacks.
process_notes.md
HTML/SVG 转 PPTX 工作流
HTML/SVG to PPTX Workflow
HTML/SVG 是代码形式的 PPT 时,优先走解析器:
bash
python3 bggg-creator-image2ppt/scripts/html_svg_to_manifest.py input.svg \
--output bggg-creator-image2ppt/projects/YYYYMMDD_slug/manifest.json
python3 bggg-creator-image2ppt/scripts/html_svg_to_manifest.py input.html \
--output bggg-creator-image2ppt/projects/YYYYMMDD_slug/manifest.json解析原则:
- 原生还原 、
text、rect、ellipse、简单图片。line - HTML 里带绝对定位的 /
.slide元素最容易被准确转换。body - SVG 的复杂 、滤镜、渐变、mask、clip-path、foreignObject 可写入 diagnostics,并用 imagegen 或外部渲染结果作为图片组件 fallback。
path - 解析脚本生成 manifest 后,仍用 生成最终 PPTX。
image2pptx.py build
When HTML/SVG is a code-form PPT, prioritize using the parser:
bash
python3 bggg-creator-image2ppt/scripts/html_svg_to_manifest.py input.svg \
--output bggg-creator-image2ppt/projects/YYYYMMDD_slug/manifest.json
python3 bggg-creator-image2ppt/scripts/html_svg_to_manifest.py input.html \
--output bggg-creator-image2ppt/projects/YYYYMMDD_slug/manifest.jsonParsing principles:
- Natively restore ,
text,rect,ellipse, and simple images.line - /
.slideelements with absolute positioning in HTML are easiest to convert accurately.body - Complex SVG , filters, gradients, mask, clip-path, foreignObject can be written into diagnostics, and use imagegen or external rendering results as image component fallbacks.
path - After the parsing script generates the manifest, still use to generate the final PPTX.
image2pptx.py build
Manifest 格式
Manifest Format
manifest 是跨来源的中间层。坐标默认以源画布像素为单位,脚本会映射到 PowerPoint 尺寸。
json
{
"deck": {
"canvas_width": 1600,
"canvas_height": 900,
"slide_width_in": 13.333,
"name": "Example Deck"
},
"slides": [
{
"name": "Cover",
"elements": [
{
"kind": "background",
"fill": "#f7f4ec"
},
{
"kind": "image",
"name": "Hero Product",
"file": "component_images/product.png",
"x": 910,
"y": 170,
"w": 520,
"h": 520,
"fit": "contain"
},
{
"kind": "text",
"name": "Title",
"text": "Walk With Intention",
"x": 120,
"y": 180,
"w": 680,
"h": 150,
"font_size_px": 68,
"font_family": "Arial",
"bold": true,
"color": "#17120d",
"align": "left"
}
]
}
]
}常用元素:
- :
background纯色或fill背景图。file - :
image/file/path、src、x、y、w、h。fit支持fit、stretch、contain。cover - :
text、text、x、y、w、h或font_size_px、font_size_pt、font_family、color、bold、italic。align - :
shape为shape、rect、roundRect或ellipse;支持line、fill、stroke。stroke_width_px - : 简单表格 fallback,用
table数组生成原生 PPT 表格。rows
The manifest is a cross-source intermediate layer. Coordinates are defaulted to source canvas pixels, and the script will map them to PowerPoint dimensions.
json
{
"deck": {
"canvas_width": 1600,
"canvas_height": 900,
"slide_width_in": 13.333,
"name": "Example Deck"
},
"slides": [
{
"name": "Cover",
"elements": [
{
"kind": "background",
"fill": "#f7f4ec"
},
{
"kind": "image",
"name": "Hero Product",
"file": "component_images/product.png",
"x": 910,
"y": 170,
"w": 520,
"h": 520,
"fit": "contain"
},
{
"kind": "text",
"name": "Title",
"text": "Walk With Intention",
"x": 120,
"y": 180,
"w": 680,
"h": 150,
"font_size_px": 68,
"font_family": "Arial",
"bold": true,
"color": "#17120d",
"align": "left"
}
]
}
]
}Common elements:
- :
backgroundfor solid color orfillfor background image.file - :
image/file/path,src,x,y,w,h.fitsupportsfit,stretch,contain.cover - :
text,text,x,y,w,horfont_size_px,font_size_pt,font_family,color,bold,italic.align - :
shapecan beshape,rect,roundRectorellipse; supportsline,fill,stroke.stroke_width_px - : Simple table fallback, use
tablearray to generate native PPT tables.rows
可编辑性优先级
Editability Priority
- 文本框:标题、正文、页码、标签、按钮文字都优先转成原生 PPT 文本。
- 基础形状:矩形、圆角矩形、圆、线条优先转成 PPT 形状。
- 图片组件:照片、插画、图标、纹理、复杂图表作为独立图片层。
- 整页背景 fallback:无法拆干净时可保留一张底图,再把关键文字和组件覆盖为可编辑对象,并明确说明限制。
- Text boxes: Titles, body text, page numbers, labels, button text are prioritized to be converted into native PPT text.
- Basic shapes: Rectangles, rounded rectangles, circles, lines are prioritized to be converted into PPT shapes.
- Image components: Photos, illustrations, icons, textures, complex charts as independent image layers.
- Full-page background fallback: If it cannot be split cleanly, a base image can be retained, then key text and components are overlaid as editable objects, and limitations are clearly stated.
输出要求
Output Requirements
交付时至少说明:
- 项目目录路径。
- PPTX 路径。
- manifest 和 summary 路径。
- 可编辑文本框数量、图片组件数量、形状数量。
- 哪些组件由 Codex imagegen 生成或清理。
- 哪些复杂对象降级为图片 fallback。
At least explain the following when delivering:
- Project directory path.
- PPTX path.
- Manifest and summary paths.
- Number of editable text boxes, image components, shapes.
- Which components were generated or cleaned by Codex imagegen.
- Which complex objects were downgraded to image fallbacks.