5 Commits
Author SHA1 Message Date
wrt122311andClaude Sonnet 4.6 e095d8f25d fix: use F.interpolate to resize tensors before stacking
Replace PIL-level conditional resize with PyTorch F.interpolate so that
shape comparison and resizing happen at the tensor level, fixing the
torch.stack size mismatch error when selecting images of different
resolutions.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-24 13:07:23 +08:00
wrt122311andClaude Sonnet 4.6 2c4c24531e fix: embed original URL in widget to eliminate serial illust_detail API calls
_fmt_illusts now includes original_url from browse data (meta_single_page /
meta_pages). The confirm button writes id|url pairs to the widget. The node
parses the pairs and downloads directly, removing N extra API calls that
were being rate-limited and silently failing for multi-image selections.
Falls back to get_original_url for legacy plain-ID widget values.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-24 12:38:11 +08:00
wrt122311andClaude Sonnet 4.6 96bcf56cea fix: resize images to uniform size before stacking into batch tensor
Multiple selected artworks can have different resolutions; torch.stack
requires equal shapes. Resize all to the first image's dimensions.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-24 12:23:37 +08:00
wrt122311andClaude Sonnet 4.6 2ed41ce01f fix: handle access token expiry and surface download errors
- Track auth time; re-auth after 55 min so node execution doesn't hit
  expired access tokens (1-hour TTL)
- Use API's additional_headers in download_image_bytes for consistency
- Collect per-image error messages and include them in the ValueError
  so the ComfyUI error dialog shows the actual failure reason

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-24 08:47:47 +08:00
wrt122311 1805b032b4 feat: PixivBrowser node execute() 2026-04-24 07:40:08 +08:00