Replace uses of the legacy `gpt-image-2-all` model with `gpt-image-2` and standardize image workflows: no-reference generation uses POST /v1/images/generations, any-reference flows use POST /v1/images/edits with multipart `image` parts. Update SKILLs, generation scripts, decision logs, and docs to reflect the contract change and edits-vs-generations guidance. Apply corresponding changes across backend (api-server match3d/puzzle modules, openai image adapter, mappers, telemetry, spacetime client/module), frontend components and services (Match3D, Puzzle, CreativeImageInputPanel, runtime shells), and add new spritesheet/parser files and tests. Also add media/logo.png. These changes align repository code and documentation with the VectorEngine image API contract and update generation/upload handling (green-screen -> alpha processing, spritesheet handling, and related tests).
3.5 KiB
name, description
| name | description |
|---|---|
| gpt-image-2-apimart | Generate or inspect project image assets through this repository's VectorEngine gpt-image-2 workflow. Use when Codex needs to create puzzle template sample images, reproduce the server-rs gpt-image-2 request body, dry-run image prompts, batch-generate local project thumbnails, or debug VECTOR_ENGINE_BASE_URL / VECTOR_ENGINE_API_KEY image-generation configuration without exposing secrets. The directory name is historical. |
gpt-image-2 VectorEngine
Use this skill for project-local image asset generation that must match the repository's server-rs VectorEngine gpt-image-2 path. The folder still contains apimart in its name for compatibility with existing local plugin references.
Workflow
-
Read the local task and decide whether the image is project-bound.
-
Prefer
scripts/generate-template-samples.mjsfor puzzle template thumbnails or small batches. -
Run dry-run first:
node .codex/skills/gpt-image-2-apimart/scripts/generate-template-samples.mjs --dry-run -
If dry-run looks correct and the user asked for real assets, run live generation with a small limit:
node .codex/skills/gpt-image-2-apimart/scripts/generate-template-samples.mjs --live --limit 6 -
Save final project assets under
public/or another explicitly requested workspace path. -
Never print
VECTOR_ENGINE_API_KEY. Report only whether configuration exists.
Request Contract
The repository image path uses:
POST {VECTOR_ENGINE_BASE_URL}/v1/images/generations
Authorization: Bearer {VECTOR_ENGINE_API_KEY}
Content-Type: application/json
Default body:
{
"model": "gpt-image-2",
"prompt": "<prompt>",
"n": 1,
"size": "1024x1024"
}
For visual references, use the edit endpoint instead of the create endpoint:
POST {VECTOR_ENGINE_BASE_URL}/v1/images/edits
Authorization: Bearer {VECTOR_ENGINE_API_KEY}
Content-Type: multipart/form-data
Multipart fields:
model=gpt-image-2
prompt=<prompt>
n=1
size=1024x1024
image=@reference.png
In this repository, calls with no reference images use POST /v1/images/generations; calls with any reference image use POST /v1/images/edits and pass references as one or more image form parts. Match3D container UI generation embeds public/match3d-background-references/pot-fused-reference.png into the edit request as an image part.
Accept image output from data[].url, data[].b64_json, or direct nested url fields. VectorEngine GPT-image-2 currently returns synchronously; do not poll APIMart task endpoints.
Environment
Load environment values from process env first, then .env.secrets.local, .env.local, and .env.example.
Required for live generation:
VECTOR_ENGINE_BASE_URLVECTOR_ENGINE_API_KEY
Optional:
VECTOR_ENGINE_IMAGE_REQUEST_TIMEOUT_MS
If the key or base URL is missing, stop after dry-run or explain the missing configuration. Do not ask the user to paste the key in chat.
Prompt Rules
- Use Chinese prompts when generating project puzzle templates.
- Keep template samples square, clear, image-only, and suitable for puzzle thumbnails.
- Avoid text, watermark, UI chrome, buttons, borders, and tutorial overlays.
- Include local negative constraints in the prompt instead of relying on provider-specific negative prompt fields.
Resources
scripts/generate-template-samples.mjs: dry-run or live-generate puzzle template sample thumbnails.assets/puzzle-template-prompts.json: default prompt list consumed by the script.