Skip to content

Conversation

@nabinchha
Copy link
Contributor

@nabinchha nabinchha commented Feb 10, 2026

📋 Summary

Add comprehensive documentation for the image generation feature and a new tutorial demonstrating image-to-image editing with seed datasets.

🔄 Changes

✨ Added

  • Tutorial 6: Image-to-Image Editing — New tutorial that loads animal portraits from HuggingFace (AFHQ), streams them as a seed dataset, and uses ImageColumnConfig with multi_modal_context to generate accessorized versions (sunglasses, top hats, bow ties, etc.)
  • Image Columns section in docs/concepts/columns.md — Documents the 🖼️ Image Columns type (diffusion vs autoregressive, Jinja2 prompts, preview vs create output modes, multi_modal_context)
  • Image Inference Parameters section in docs/concepts/models/inference-parameters.md — Documents ImageInferenceParams fields, examples for diffusion and DALL·E-style models, API auto-selection

🔧 Changed

  • mkdocs.yml — Added Tutorial 5 (Generating Images) and Tutorial 6 (Image-to-Image Editing) to the site navigation
  • docs/code_reference/models.md — Updated intro to mention ImageInferenceParams, added link to Tutorial 6
  • docs/notebook_source/5-generating-images.py — Added link to Tutorial 6 in next steps section
  • docs/concepts/columns.md — Updated column count from "ten" to "eleven"
  • docs/concepts/models/inference-parameters.md — Updated intro to mention all three inference parameter types

#317 should merge first

@greptile-apps
Copy link

greptile-apps bot commented Feb 10, 2026

Greptile Overview

Greptile Summary

This PR adds comprehensive documentation for the image generation feature, including a new Tutorial 6 that demonstrates image-to-image editing using seed datasets and multi_modal_context. The changes include:

  • New Tutorial 6: Complete walkthrough of loading images from HuggingFace AFHQ dataset, passing them as context to autoregressive models via multi_modal_context, and generating edited versions with accessories and style variations
  • Documentation enhancements: Added Image Columns section to columns.md and Image Inference Parameters section to inference-parameters.md, explaining diffusion vs autoregressive models, output modes, and configuration
  • Tutorial improvements: Fixed image display code in Tutorial 5 and added cross-references between tutorials
  • Navigation updates: Added new tutorials to mkdocs.yml site structure

The documentation is clear, well-structured, and consistent with existing tutorials. All Colab notebooks were properly regenerated from source files. The previously reported model classification issue has been addressed in a prior commit.

Confidence Score: 5/5

  • This documentation-only PR is safe to merge with no risk to production code
  • All changes are documentation updates (tutorials, concept docs, and generated notebooks). No production code is modified. The content is accurate, well-written, and follows existing patterns. Tutorial code examples are functional and educational in nature.
  • No files require special attention

Important Files Changed

Filename Overview
docs/concepts/columns.md Added Image Columns section documenting diffusion/autoregressive models, Jinja2 prompts, output modes, and multi_modal_context; updated count from ten to eleven column types
docs/concepts/models/inference-parameters.md Added comprehensive Image Inference Parameters section with fields table, examples for autoregressive and diffusion models; updated intro to mention all three parameter types
docs/notebook_source/6-editing-images-with-image-context.py New tutorial demonstrating image-to-image editing with AFHQ dataset, multi_modal_context for autoregressive models, and before/after comparisons
docs/notebook_source/5-generating-images.py Fixed image display code using IPImage filename parameter, added link to Tutorial 6, minor typo fix
mkdocs.yml Added Tutorial 5 and Tutorial 6 to navigation structure
docs/colab_notebooks/6-editing-images-with-image-context.ipynb Generated Colab notebook from Tutorial 6 source with installation and API key setup cells

Copy link

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

13 files reviewed, 2 comments

Edit Code Review Agent Settings | Greptile

@greptile-apps
Copy link

greptile-apps bot commented Feb 10, 2026

Additional Comments (1)

docs/colab_notebooks/6-editing-images-with-image-context.ipynb
Missing API-key setup

This tutorial states “Set OPENROUTER_API_KEY in your environment”, but the notebook’s setup cell only populates NVIDIA_API_KEY. As written, a fresh Colab run will fail/authenticate incorrectly for the chosen provider unless the user manually sets OPENROUTER_API_KEY outside the notebook.

Prompt To Fix With AI
This is a comment left during a code review.
Path: docs/colab_notebooks/6-editing-images-with-image-context.ipynb
Line: 1464:1472

Comment:
**Missing API-key setup**

This tutorial states “Set `OPENROUTER_API_KEY` in your environment”, but the notebook’s setup cell only populates `NVIDIA_API_KEY`. As written, a fresh Colab run will fail/authenticate incorrectly for the chosen provider unless the user manually sets `OPENROUTER_API_KEY` outside the notebook.

How can I resolve this? If you propose a fix, please make it concise.

Copy link

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

17 files reviewed, 1 comment

Edit Code Review Agent Settings | Greptile

@greptile-apps
Copy link

greptile-apps bot commented Feb 10, 2026

Additional Comments (1)

packages/data-designer-config/src/data_designer/config/utils/image_helpers.py
Broken .jpeg detection

SUPPORTED_IMAGE_EXTENSIONS lowercases the enum values (fmt.value.lower()), but ImageFormat.JPEG.value is already "jpg" (see detect_image_format() mapping) while is_image_path()/is_image_url() tests expect .jpeg to be supported. With the current list, .jpeg files/URLs will no longer be recognized.

Fix by including both .jpg and .jpeg (or avoid lowercasing/altering enum values and keep get_supported_image_extensions() behavior). Also update the list type to a tuple or set if immutability/perf matters.

Also appears in: is_image_url() usage of SUPPORTED_IMAGE_EXTENSIONS in the same file.

Prompt To Fix With AI
This is a comment left during a code review.
Path: packages/data-designer-config/src/data_designer/config/utils/image_helpers.py
Line: 20:22

Comment:
**Broken `.jpeg` detection**

`SUPPORTED_IMAGE_EXTENSIONS` lowercases the enum values (`fmt.value.lower()`), but `ImageFormat.JPEG.value` is already `"jpg"` (see `detect_image_format()` mapping) while `is_image_path()`/`is_image_url()` tests expect `.jpeg` to be supported. With the current list, `.jpeg` files/URLs will no longer be recognized.

Fix by including both `.jpg` and `.jpeg` (or avoid lowercasing/altering enum values and keep `get_supported_image_extensions()` behavior). Also update the list type to a tuple or set if immutability/perf matters.

Also appears in: `is_image_url()` usage of `SUPPORTED_IMAGE_EXTENSIONS` in the same file.

How can I resolve this? If you propose a fix, please make it concise.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant