Commit Graph

221 Commits

Author SHA1 Message Date
aladac e1422b8f51 refactor(cli): extract _run_generation helper from generate
Move the post-merge body of generate() into a module-level _run_generation
helper so it can be invoked directly by other commands (next: style-sweep)
without going through Typer argv reconstruction.

No behaviour change. generate() still owns the --input JSON merge and CLI
parameter-source detection, then delegates to _run_generation.
2026-05-17 16:32:51 +02:00
aladac b66bc98386 feat(generate): expose --guidance flag for Flux models
Threads guidance value through CLI → remote payload → server schema →
generate_image() → FluxGuidance node. Ignored for non-Flux families.

Use cases:
- Lower guidance (2.0-3.0) for looser, more photorealistic Flux output
- Higher guidance (4.0-6.0) for tighter prompt adherence
2026-05-17 15:54:47 +02:00
aladac 338a7fe267 fix(generate): dispatch hybrid Flux models to Flux workflow
Models like gonzalomoXLFluxPony are architecturally Flux but CivitAI
tags them as 'Pony', causing the SDXL workflow to be sent to ComfyUI
which fails validation. The filename now overrides base_model when it
contains 'flux'.

Also adds:
- Full Flux Dev/Schnell workflow template (ModelSamplingFlux,
  FluxGuidance, ConditioningZeroOut, EmptySD3LatentImage); KSampler
  cfg locked to 1.0, caller cfg routed to FluxGuidance
- --family/-F flag to manually override family detection
- queue_prompt now surfaces ComfyUI node_errors from 400 responses
- Tests for Flux workflow builder (8 cases) and updated family defaults
2026-05-17 15:50:25 +02:00
aladac 78b46b9a13 release: v0.1.21 2026-05-16 00:44:23 +02:00
aladac b731a88beb fix: populate model cache tables after download so db list resolves names
The CLI download flow only set civitai_model_id/version_id on local_files
without caching the full model payload, so 'tsr db list' joined against
empty models/versions/creators tables and showed every linked file as
'unlinked'. The server's _auto_link_file path had additional bugs:
resolved-vs-unresolved path comparison after rescan, redundant CivitAI
hash lookup, and silent failure swallowed by 'completed' status.

- New Database.register_downloaded_file() consolidates hashing, metadata
  storage, FK linking, and cache_model() into a single idempotent call
  shared by both CLI and server paths.
- Server _do_download now passes version_info straight through and
  surfaces db_file_id/db_linked/db_cached/db_error onto _active_downloads.
- Drops the broken _auto_link_file rescan helper.
2026-05-16 00:44:12 +02:00
aladac ec080803fc release: v0.1.20 2026-05-16 00:03:56 +02:00
github-actions[bot] 05892cf287 format: auto-format code [skip ci] 2026-04-24 17:03:09 +00:00
github-actions[bot] b078e4f936 style: auto-fix ruff warnings [skip ci] 2026-04-24 17:02:53 +00:00
aladac 329b0d849e fix null params when no model family detected in tsr generate
Co-Authored-By: marauder-os <marauder@saiden.dev>
2026-04-24 19:02:31 +02:00
github-actions[bot] 55358e7b5a format: auto-format code [skip ci] 2026-04-20 20:08:33 +00:00
aladac 7162db1ab9 dynamic checkpoint presets with orientation, correct VAEs, and auto-resolved sampler/scheduler/cfg/steps 2026-04-20 22:08:01 +02:00
aladac b074a7dd50 Fix -m model flag causing 502 on /api/comfyui/generate
Family detection was force-injecting a default VAE (e.g. sdxl_vae.safetensors)
when a model was specified without an explicit --vae. If that VAE file didn't
exist on the ComfyUI server, the workflow was silently rejected. Now only
overrides VAE when the user explicitly passes --vae.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-07 16:18:03 +02:00
aladac 4a2fdce115 Add top-level generate and models commands with --remote support
Add `tsr generate` and `tsr models` as top-level CLI commands that call
ComfyUI library functions directly or HTTP to a remote tensors server.
Add `--remote` flag to existing `tsr search` and `tsr dl` commands.

New file `tensors/remote.py` provides HTTP client functions for all four
operations against the remote tensors API (generate, models, search,
download with progress polling).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 01:26:55 +02:00
aladac 56d5233962 Make CORS origins configurable via CORS_ORIGINS env var
Replaces hardcoded localhost origins with env-driven config.
Accepts comma-separated origins or wildcard (*). Defaults to
["*"] for backward compatibility.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 01:02:17 +02:00
aladac a349f6bc93 Add AI Agent Disclaimer section 2026-04-01 17:16:05 +02:00
aladac 53285e46ec LICENSE: add attribution and case-by-case options 2026-04-01 17:12:09 +02:00
aladac be14d29144 LICENSE: add BSL starting version 2026-04-01 17:00:48 +02:00
aladac 7f0ab19e4e Update README: BSL-1.1 license 2026-04-01 16:58:26 +02:00
aladac 8ddc265319 Release v0.1.19 - BSL baseline 2026-04-01 16:40:54 +02:00
aladac fcd1d1ac6e BSL: clarify version-based change dates 2026-04-01 16:31:34 +02:00
aladac 0035c432c3 Relicense to BSL 1.1 2026-04-01 16:29:59 +02:00
aladac 9f37b87909 Fix Dockerfile: use separate start.sh instead of heredoc 2026-04-01 14:42:21 +02:00
aladac 611f92a868 Rework Dockerfile for Tengu addon deployment (no bundled ComfyUI) 2026-04-01 14:29:06 +02:00
aladac 66f60989e4 Add .coverage to gitignore 2026-03-30 13:49:25 +02:00
aladac 2a704aa677 Add model family-specific sampler, scheduler, and VAE defaults
- Add sampler/scheduler/steps/vae to MODEL_FAMILY_DEFAULTS for all families
- Add zimage family detection for ZImageTurbo models
- Flux and zimage families use ae.safetensors VAE
- SD 1.5 families use checkpoint built-in VAE
- SDXL families use sdxl_vae.safetensors
- API auto-applies family defaults when request uses default values

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-20 09:22:41 +01:00
github-actions[bot] 3432e5cb99 format: auto-format code [skip ci] 2026-03-20 08:07:50 +00:00
aladac 372133edcc Update 2026-03-20 09:07 2026-03-20 09:07:19 +01:00
aladac 420d260936 Add LoRA support to generate API endpoint
- Add lora_name and lora_strength parameters
- Include LoRA info in request logging

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-03 18:57:38 +01:00
aladac f04e7b5cfa Configure logging for tensors package
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-03 18:55:20 +01:00
aladac c8d1efa641 Add logging for generation requests and results
- Log prompt, model, size, steps on generate request
- Log completion with prompt_id and image count
- Log warnings/errors on failures

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-03 18:49:26 +01:00
Adam Ladachowski 9de133b672 Include trigger words in /api/db/files response
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-03 16:13:45 +01:00
Adam Ladachowski 1ad0a09474 Add separate VAE loader for SDXL/Illustrious/Pony models
- Use sdxl_vae.safetensors by default instead of checkpoint VAE
- Add vae parameter to generate_image and API endpoint
- Better quality for modern SDXL-based models

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-03 16:09:42 +01:00
Adam Ladachowski 3d08d6c5e5 Enable CORS for local development
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-03 16:03:32 +01:00
github-actions[bot] 39551f7f05 format: auto-format code [skip ci] 2026-02-22 06:23:52 +00:00
github-actions[bot] 762b3f4eac style: auto-fix ruff warnings [skip ci] 2026-02-22 06:23:38 +00:00
Adam Ladachowski 82eb0d3b5c Update 2026-02-22 06:23:25 +00:00
Adam Ladachowski 5ddfb07448 Add WebSocket-based progress tracking for ComfyUI generation
- Replace polling with WebSocket connection for real-time progress
- Show step-by-step progress during sampling (Step 1/20, etc.)
- Display progress bar with actual completion percentage
- Fall back to polling if WebSocket connection fails
- Import websocket-client for sync WebSocket support

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-22 04:07:07 +00:00
Adam Ladachowski 3888558214 💬 Commit message: Update 2026-02-21 20:16:00, 1 files, 103 lines
📁 Files changed: 1
📝 Lines changed: 103

  • setup-comfyui.sh
2026-02-21 20:16:00 +01:00
Adam Ladachowski b1995cb0e4 Add key.txt to gitignore for local API key storage
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-21 05:37:54 +01:00
Adam Ladachowski d8d788c9b3 💬 Commit message: Update 2026-02-21 05:22:37, 2 files, 299 lines
📁 Files changed: 2
📝 Lines changed: 299

  • .gitignore
  • models-db.md
2026-02-21 05:22:37 +01:00
Adam Ladachowski e5a7977e83 💬 Commit message: Update 2026-02-21 05:21:45, 1 files, 0 lines
📁 Files changed: 1
📝 Lines changed: 0

  • models.db
2026-02-21 05:21:45 +01:00
Adam Ladachowski 987ce1a3a1 💬 Commit message: Update 2026-02-21 05:21:26, 3 files, 126 lines
📁 Files changed: 3
📝 Lines changed: 126

  • .gitignore
  • cli.py
  • comfyui.py
2026-02-21 05:21:26 +01:00
Adam Ladachowski 5da4005c4a Version 0.1.18+b7e8512 2026-02-19 05:37:37 +01:00
Adam Ladachowski b7e85129b1 Version 0.1.18+9883929 2026-02-19 05:37:31 +01:00
Adam Ladachowski 1ed40a3142 Add LoRA support and model family quality defaults to comfy generate 2026-02-19 05:37:31 +01:00
github-actions[bot] 91c5c1e0a7 format: auto-format code [skip ci] 2026-02-18 17:08:10 +00:00
Adam Ladachowski 7616671a59 Version 0.1.18+f07a1e6 2026-02-18 18:07:46 +01:00
Adam Ladachowski f07a1e601d Add --count option for batch image generation 2026-02-18 18:07:32 +01:00
Adam Ladachowski 26c08f247f Version 0.1.18+43a76b0 2026-02-18 18:07:32 +01:00
github-actions[bot] 9350075ebf format: auto-format code [skip ci] 2026-02-18 16:34:25 +00:00