Image production
Hydracept returns assets ready for your workflow.
Search terms teams actually use: sprite sheet AI, transparent PNG generation, pixel art animation frames, inventory icon packs, contact sheet slice, chroma key matte for games.
For image.generate.v1, that means transparent PNGs, cohesive multi-asset sheets, variant sets, and centered frames you can use in Unity, Godot, Unreal, or a web pipeline.
Three production modes
| Mode | Request | You get |
|---|---|---|
| Transparent output | requestTransparentOutput: true | Clean alpha PNG (native or matte-normalized) |
| Sheet & Slice | sheet.slice: true with rows / columns | One cohesive generation → N centered assets |
| Variants | variantCount (2–4) | Multiple takes in one job → compare and select |
Best for sprite sheets, pixel art animation, character poses, inventory icons, item families, VFX frames, prop packs, and UI glyphs — small-format assets where intra-set cohesion matters more than hero-resolution detail.
Sheet & Slice
Describe a cohesive set once. Hydracept generates a single composition, mattes the chroma plate, grid-slices (with blob fallback if the layout is skewed), centers each cell, and returns individual artifacts.
sheet.labels are metadata only — they identify cells in the API response and never appear in the provider prompt or on the generated image.

Example: SNES knight sword-swing sheet (gpt-image-2), matte-processed — hover the homepage demo to compare chroma vs transparency.

Aligned GIF preview built from sliced transparent frames of the same job.
Request
{
"context": {
"productId": "my-game",
"projectId": "cpr_...",
"environment": "development"
},
"input": {
"prompt": "SNES-era pixel art knight sword swing animation",
"requestTransparentOutput": true,
"sheet": {
"rows": 4,
"columns": 4,
"slice": true,
"animation": { "facing": "right" },
"labels": [
"frame-01", "frame-02", "frame-03", "frame-04",
"frame-05", "frame-06", "frame-07", "frame-08",
"frame-09", "frame-10", "frame-11", "frame-12",
"frame-13", "frame-14", "frame-15", "frame-16"
],
"normalize": {
"width": 256,
"height": 256,
"center": true
}
}
},
"execution": { "executionPreference": "automatic" },
"idempotencyKey": "sword-swing-sheet-1"
}
Submit as a durable job:
POST /v1/capabilities/image.generate.v1/jobs
Authorization: Bearer <HYDRACEPT_API_KEY>
Content-Type: application/json
Behavior
sheet.labelsoptionally name each cell in the API response (frame-01,slash-b, etc.). They are not sent to the provider and must not be drawn on the image. Succeeded jobs expose every cell onGET /v1/jobs/{jobId}as its own artifact withlabel,filename, andsliceCellId.sheet.animationrequests subtle frame-to-frame motion with a locked facing direction.sheet.slicemust betrueto activate slicing.sheet.normalizesets the output canvas per cell (width,height,center).centertrims and centers each grid cell; it does not switch the slicer to blob detection.variantCountmust be1when sheet slicing is enabled.- Hydracept uses provider-native transparency when available and matte normalization when needed.
Output
A succeeded job returns multiple artifacts — one per sliced cell — on the job resource. Download each with:
GET /v1/jobs/{jobId}/artifacts/{artifactId}
Transparent output
For a single asset:
{
"input": {
"prompt": "pixel art healing potion icon, isolated",
"requestTransparentOutput": true
}
}
Hydracept treats transparency as an output contract. The catalog model record decides the default path:
- Native alpha when
nativeTransparentBackgroundis true (gpt-image-2, gpt-image-1, and later gpt-image-2.x models). Hydracept sendsbackground: "transparent"and does not chroma-key or run matte v9. A clienttransparencyMethodofmatte-v9is ignored on these models. - Chroma-key matte only when the model has no native alpha.
Optional keyColor and transparentRegions apply only to the matte path.
Optional transparentRegions selects which pixels go to alpha when requestTransparentOutput is true:
| Value | Use when |
|---|---|
borderConnected (default) | Isolated sprites, icons, props. Unused canvas connected to the frame edge becomes transparent. Interior subject pixels stay opaque. |
borderConnectedAndEnclosed | Full-bleed plates with interior openings (windows, cutouts, apertures that do not touch the canvas edge). Those enclosed chroma islands are also keyed. |
{
"input": {
"prompt": "full-bleed interior, window openings punched",
"requestTransparentOutput": true,
"transparentRegions": "borderConnectedAndEnclosed",
"keyColor": "#00ffff"
}
}
Opaque jobs (requestTransparentOutput: false) fill the canvas. Clients should not re-key the returned PNG.
Verify transparency from bytes, not previews
Image viewers, chat clients, IDE previews, and vision tools may composite a transparent PNG onto a black or white matte. That matte is a viewer choice; it is not background color stored in the PNG. Do not judge Hydracept PNG transparency from a thumbnail, generic image Read, or vision description.
Smoke validation now returns both transparencyOk and a structured transparencyReport. A passing report includes decoded alpha and isolation evidence such as hasAlphaChannel, transparentPixelRatio, opaqueCornerCount, and chromaPlateRatio, plus verdict: "valid_transparent_sprite".
For a downloaded artifact, inspect the file bytes directly:
python -m hydracept verify .hydracept/demo/first-asset.png --json
Example shape:
{
"schemaVersion": "hydracept.cli.png-transparency.v1",
"kind": "png_transparency",
"passed": true,
"transparencyOk": true,
"transparencyReport": {
"schemaVersion": "hydracept.png-transparency.v1",
"verdict": "valid_transparent_sprite",
"hasAlphaChannel": true,
"transparentPixelRatio": 0.7883,
"opaqueCornerCount": 0,
"chromaPlateRatio": 0.0
}
}
The inspector verdict is authoritative. Do not substitute a shortcut based only on transparent-pixel ratio or corner count: Hydracept also checks for connected leftover chroma plate and other invalid alpha states. A passing report should not be overridden merely because a host preview appears black or white.
When MCP Apps are available, prefer hydracept_interaction_surface with artifact.review for human visual review. The Hydracept review surface presents transparent assets appropriately; use it to judge composition and aesthetics. Use transparencyReport / local byte verification to judge alpha correctness.
Variants
Ask for multiple creative takes in one job:
{
"input": {
"prompt": "rusted plasma wrench inventory icon",
"variantCount": 4,
"requestTransparentOutput": true
}
}
Poll the job, compare artifacts, and keep the exact artifactId you want. Provenance stays on the job receipt.
When to use sheets vs variants
| Use sheets when… | Use variants when… |
|---|---|
| You need cohesion across a set (animation frames, icon family) | You want creative alternatives for the same prompt |
| Objects share palette, lighting, and scale language | You will pick one winner and discard the rest |
| Output is many small assets from one generation | Output is one chosen asset from several attempts |
Sheets share one canvas, so they are ideal for sprites, icons, and other related asset sets.
Contract sources
- Capability input schema:
GET /v1/capabilities/image.generate.v1and agent context - Job lifecycle: Durable Jobs & Receipts
- Public OpenAPI: https://hydracept.com/openapi/hydracept-v1.json