ImageVariationTask
Generates "Find the Differences" style image variations by decomposing images into regions and applying controlled modifications.
Side-Effect Safe
Image Generation
Multi-Model Pipeline
⚙️ ImageVariationConfig.json
{
"input_file": "workspaces/base_scene.png",
"num_subimages": 7,
"num_variations": 11,
"num_changes_per_variation": 5,
"retarget_subimages": true,
"extension": "png"
}
→
🖼️ Generated Variants
+6 more
✔ Generated 11 variations + Interactive HTML Game
Workspace Browser
Explore the generated patches, manifests, and the interactive game in the task workspace.
Execution Configuration
| Field | Type | Description |
|---|---|---|
input_file* |
String | The input image file path relative to workspace root. |
num_subimages |
Int | Number of distinct regions to identify and modify (Default: 7). |
num_subimage_alternates |
Int | Number of alternate versions to generate per region (Default: 2). |
num_changes_per_variation |
Int | Number of changes to apply to each final variation (Default: 5). |
num_variations |
Int | Total number of alternative images to produce (Default: 11). |
retarget_subimages |
Boolean | Uses image patch localization to align generated variations with the original image. |
output_prefix |
String | Prefix for generated filenames (Default: "variation"). |
extension |
String | Output image format (png/jpg). Default: "png". |
Task Lifecycle
- Structural Analysis: Uses a vision model to identify distinct objects or regions (coordinates 0-1000) suitable for modification.
- Change Proposal: For each region, the agent suggests visual changes (e.g., "Change color", "Remove object") that retain the original style.
- Patch Generation: Individual image patches are rendered using an image-to-image model based on the proposals.
- Composition: Patches are recombined with the base image using feathering and optional retargeting to create the final variations.
-
Game Generation:
Produces an interactive
diff_game.htmland JSON manifests for each variation.
Prompt Segment
ImageVariation - Creates 'Find the Differences' style image sets.
* Use for: Game asset generation, data augmentation.
* Mechanism: Decomposes image, generates N specific sub-image changes, and recombines them into M variations.
Embedded Execution (UnifiedHarness)
Invoke this task programmatically using the UnifiedHarness for automated asset pipelines.
import com.simiacryptus.cognotik.plan.tools.file.ImageVariationTask.Companion.ImageVariation
import com.simiacryptus.cognotik.plan.tools.file.ImageVariationTask.ImageVariationConfig
import com.simiacryptus.cognotik.plan.tools.TaskTypeConfig
fun generateAssets(harness: UnifiedHarness, projectDir: File) {
val config = ImageVariationConfig(
input_file = "assets/background.png",
num_variations = 10,
num_subimages = 5,
retarget_subimages = true
)
harness.runTask(
taskType = ImageVariation,
typeConfig = TaskTypeConfig(), // Static tool settings
executionConfig = config, // Runtime parameters
workspace = projectDir
)
}