Commit Graph

188 Commits

Author SHA1 Message Date
calesthio
97fcd3c025 Merge commit '1c7047fd1fa6ac63ff2ade67db886344fdebd8c7' into codex/repair-pr-353
# Conflicts:
#	docs/PROVIDERS.md
2026-08-13 11:29:26 -07:00
calesthio
dceea45387 Merge remote-tracking branch 'origin/main' into codex/repair-pr-353
# Conflicts:
#	docs/PROVIDERS.md
2026-08-13 11:20:19 -07:00
calesthio
ecfdbe5173 Merge remote-tracking branch 'origin/main' into codex/repair-pr-448
# Conflicts:
#	docs/PROVIDERS.md
2026-08-13 11:20:19 -07:00
calesthio
9f50874656 Merge remote-tracking branch 'origin/main' into codex/repair-pr-353
# Conflicts:
#	tests/contracts/test_phase3_contracts.py
2026-08-13 11:11:48 -07:00
calesthio
5f48d9afb7 Merge remote-tracking branch 'origin/main' into codex/repair-pr-448
# Conflicts:
#	.env.example
2026-08-13 11:11:48 -07:00
calesthio
e2a9e35c40 Merge remote-tracking branch 'origin/main' into codex/repair-pr-442 2026-08-13 11:11:02 -07:00
calesthio
6b722ab56e Merge remote-tracking branch 'origin/main' into codex/repair-pr-458
# Conflicts:
#	tools/graphics/image_selector.py
2026-08-13 10:38:22 -07:00
Calesthio
0adcc23f44 Merge pull request #457 from wulongshe/feat/gemini-flash-image
feat: add gemini-2.5-flash-image backend to google_imagen
2026-08-13 10:36:12 -07:00
calesthio
a5c9d789be Merge remote-tracking branch 'origin/main' into codex/repair-pr-458
# Conflicts:
#	tools/graphics/image_selector.py
2026-08-13 10:17:12 -07:00
calesthio
700046d33c Merge remote-tracking branch 'origin/main' into codex/repair-pr-482
# Conflicts:
#	docs/PROVIDERS.md
2026-08-13 10:17:12 -07:00
calesthio
4e5bd8d5fa Merge remote-tracking branch 'origin/main' into codex/repair-pr-457
# Conflicts:
#	tools/graphics/image_selector.py
2026-08-13 10:17:11 -07:00
calesthio
3b966b06cf Merge remote-tracking branch 'origin/main' into codex/repair-pr-353 2026-08-13 10:15:44 -07:00
calesthio
91bd277a73 Merge remote-tracking branch 'origin/main' into codex/repair-pr-448 2026-08-13 10:15:41 -07:00
calesthio
0bb4c266d7 Merge remote-tracking branch 'origin/main' into codex/repair-pr-442 2026-08-13 10:15:35 -07:00
Calesthio
6e957f2378 Merge pull request #475 from nbsumbana-pixel/fix/comfyui-video-timeout-resume
fix: ComfyUI timeout/resume + websocket wait + multi-server + music tool
2026-08-13 10:13:11 -07:00
Calesthio
5fcea90d71 Merge pull request #483 from ikohu-66/add_seedream_tools
Add seedream tools
2026-08-13 10:08:25 -07:00
calesthio
f21e86570d Merge remote-tracking branch 'origin/main' into codex/repair-pr-458 2026-08-13 09:44:58 -07:00
calesthio
3fb1a2794b Merge remote-tracking branch 'origin/main' into codex/repair-pr-448 2026-08-13 09:44:58 -07:00
calesthio
6b75448a0f Merge remote-tracking branch 'origin/main' into codex/repair-pr-483 2026-08-13 09:44:57 -07:00
calesthio
3f2898c77e Merge remote-tracking branch 'origin/main' into codex/repair-pr-495 2026-08-13 09:44:57 -07:00
calesthio
e614c9d4c4 Merge remote-tracking branch 'origin/main' into codex/repair-pr-457 2026-08-13 09:44:56 -07:00
calesthio
41793226b5 fix: make ComfyUI history authoritative 2026-08-13 09:37:02 -07:00
calesthio
85dce1147a Merge remote-tracking branch 'origin/main' into codex/repair-pr-475 2026-08-13 09:33:40 -07:00
calesthio
7f43667dfd fix: refresh Fish Audio promotion and schema 2026-08-13 09:32:54 -07:00
calesthio
7052f3999b Merge remote-tracking branch 'origin/main' into codex/repair-pr-353
# Conflicts:
#	.env.example
2026-08-13 09:28:52 -07:00
calesthio
cffc18308f fix: scope fal providers and Google TTS networking 2026-08-13 09:22:11 -07:00
calesthio
b3434affe3 Merge remote-tracking branch 'origin/main' into codex/repair-pr-482
# Conflicts:
#	skills/pipelines/animation/asset-director.md
2026-08-13 09:20:01 -07:00
calesthio
8143266ead fix: complete Hunyuan image provider integration 2026-08-13 09:18:49 -07:00
calesthio
190d165d8b fix: enforce Hunyuan provider contracts 2026-08-13 09:16:22 -07:00
calesthio
171866dbbf fix: complete Seedream provider integration 2026-08-13 09:12:00 -07:00
calesthio
4e0150adc3 fix: probe Ark audio data URIs on Windows 2026-08-13 09:08:00 -07:00
calesthio
bf55d498fb Merge remote-tracking branch 'origin/main' into codex/repair-pr-442
# Conflicts:
#	.env.example
2026-08-13 09:07:59 -07:00
calesthio
b1aefb364a fix: complete MiniMax image provider contracts 2026-08-13 09:02:22 -07:00
calesthio
579bf053e7 fix: route Gemini image models through selector 2026-08-13 08:58:27 -07:00
calesthio
2702362c24 feat: add production 3D world pipeline 2026-08-13 07:48:38 -07:00
octo-patch
9c2850f02e feat: add MiniMax image generation tool 2026-08-12 22:46:06 +08:00
clarkh
b6dded18fe Merge branch 'main' into feat/hunyuan_cloud_video 2026-08-12 21:24:23 +08:00
蓝友和
63fd646717 add seedreamm tools 2026-08-09 00:25:44 +08:00
Codex
2ed75c5a25 document Google TTS IPv4 restriction switch 2026-08-08 13:12:19 +00:00
Codex
21d51ab9c8 add fal ElevenLabs speech and secure audio routing 2026-08-08 13:02:07 +00:00
Codex
6b4c73c6df scope Google TTS credentials safely 2026-08-07 15:01:59 +00:00
Ntsako
cf1a13a722 feat: bundle a native-node ACE-Step v1 workflow for comfyui_music
ACE-Step v1's node-pack fragmentation turns out to be moot: ComfyUI ships
TextEncodeAceStepAudio/EmptyAceStepLatentAudio as native core nodes
(comfy_extras/nodes_ace.py), not a third-party pack, and Comfy-Org's own
workflow_templates repo has an official ACE-Step-v1 template built from
those plus long-stable core nodes. tools/_comfyui/workflows/ace-step-1-t2a.json
was built by cross-checking every node's class_type and input names against
ComfyUI's own source (nodes_ace.py, nodes_audio.py, nodes_latent.py,
nodes.py) rather than trusting the UI-format export directly.

comfyui_music now defaults to this bundled workflow: prompt maps to
ACE-Step's tags field (matching suno_music's "prompt = music description"
convention), lyrics/duration_seconds/steps/cfg/lyrics_strength/seed are all
patchable, and missing ace_step_v1_3.5b.safetensors surfaces through the
same missing_models contract as image/video. workflow_json/workflow_path +
output_node remains available for ACE-Step 1.5, other node packs, or
different audio models entirely.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-06 15:10:48 +02:00
Ntsako
172acca6ea feat: ship comfyui_music as a custom-workflow-only ACE-Step tool
Resolves the "music generation" open question from the adapter plan.
Unlike comfyui_image/comfyui_video there is no bundled workflow: ACE-Step's
ComfyUI node interface isn't standardized across custom node packs
(AceStepModelLoader vs native TextEncodeAceStepAudio, etc.), so instead of
picking one pack and breaking for everyone else, comfyui_music always
requires a caller-supplied workflow_json/workflow_path + output_node --
the same override contract image/video offer as an alternative, just
mandatory here. prompt is provenance-only, never injected into the graph.

Routed through the existing registry.get_by_capability("music_generation")
path alongside suno_music/music_gen -- no dedicated selector needed.
ComfyUIClient.generate() now also reads the "audio" output key (what
ComfyUI's native SaveAudio node writes), and gets timeout/resume/websocket-
wait/multi-server support for free via the shared client. Duration is a
best-effort ffprobe probe of the downloaded file since a custom workflow
gives no other way to know it ahead of time.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-06 14:19:05 +02:00
Ntsako
2f114682e8 feat: support per-capability ComfyUI server URLs for image/video
Resolves the "multi-server" open question from the adapter plan.
ComfyUIClient(capability="image"|"video") now resolves its server URL
from COMFYUI_IMAGE_SERVER_URL / COMFYUI_VIDEO_SERVER_URL first, falling
back to the shared COMFYUI_SERVER_URL and then the localhost default —
so comfyui_image and comfyui_video can point at separate ComfyUI
instances (different GPUs, different model sets) with zero extra config
for single-server setups. is_default_url/unavailable_reason() and the
setup_offer metadata account for the override.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-06 12:49:57 +02:00
Ntsako
ca203e49b7 feat: wait on ComfyUI websocket feed instead of polling for completion
Resolves the "async generation" open question from the adapter plan.
generate() now watches ComfyUI's websocket events (executing/progress/
execution_error) and reacts immediately instead of sleeping between REST
polls, with an optional on_progress callback that comfyui_video uses to
print step progress on long renders. websocket-client is an optional
import; _wait() falls back to the original poll() loop (with the
remaining time budget, not a fresh one) when it's unavailable or the
connection drops, so resume_prompt_id recovery is unaffected either way.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-06 12:31:24 +02:00
Ntsako
ceee7c7d56 fix: raise ComfyUI video timeout default and add job resume support
Non-accelerated local-GPU workflows (e.g. Wan 1.3B at 832x480/81-97
frames) routinely took ~1360-1630s, so the old 900s default false-failed
real renders that were still completing server-side. Timeout is now a
configurable timeout_seconds input (default 3600s), and ComfyUIError
carries the prompt_id on error/timeout so a timed-out-but-still-running
job can be resumed via resume_prompt_id instead of resubmitted.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-06 10:55:56 +02:00
calesthio
9482eddeff fix: recover bounded defects from PR backlog 2026-08-03 02:14:01 -07:00
蓝友和
cf3407155c add seedream v5 tools for fai.ai 2026-08-03 00:53:20 +08:00
蓝友和
efb86f55dd add seedream tool 2026-08-02 18:23:53 +08:00
clarkh
00745a5f6d feat: add Hunyuan Image Generation 3.0 (混元生图) via TokenHub API
Async text-to-image tool using Tencent TokenHub (hy-image-v3.0).
Parameters mirror upstream SubmitTextToImageJob API: prompt, resolution,
seed, revise, logo_add, logo_param, and reference images via Images.N.

- tools/graphics/hunyuan_image.py: submit → poll → download flow,
  matching hunyuan_cloud_video.py code style
- tests/tools/test_hunyuan_image.py: 32 unit tests covering payload
  building, image resolution, API error handling, and mocked e2e flow
2026-07-30 11:38:33 +08:00