Add profile-aware image reference editing

This commit is contained in:
Mikei386
2026-09-29 20:17:20 +02:00
parent 67cf57a5b7
commit f1ccb02e10
11 changed files with 156 additions and 21 deletions
+16 -1
View File
@@ -3,7 +3,7 @@ from pathlib import Path
import tempfile
import unittest
from unittest.mock import patch,Mock
from image_test import ImageTests,workflow,select_gpus
from image_test import ImageTests,workflow,select_gpus,decode_references
class ImageTestTests(unittest.TestCase):
def test_workflow_uses_selected_profile_and_owned_aliases(self):
@@ -15,6 +15,21 @@ class ImageTestTests(unittest.TestCase):
self.assertEqual(graph['6']['inputs']['steps'],12)
self.assertEqual(graph['6']['inputs']['cfg'],1.5)
self.assertEqual(graph['5']['inputs']['height'],768)
def test_qwen_references_feed_conditioning_and_edit_latent(self):
p=dict(width=512,height=512,steps=4,guidance=1)
graph=workflow('synthetic edit',p,42,references=['reference-1.png','reference-2.jpg'])
self.assertEqual(graph['4']['inputs']['vae'],['3',0])
self.assertEqual(graph['4']['inputs']['image_1'],['21',0])
self.assertEqual(graph['4']['inputs']['image_2'],['22',0])
self.assertEqual(graph['6']['inputs']['latent_image'],['4',2])
self.assertEqual(graph['21']['inputs']['image'],'reference-1.png')
with self.assertRaises(ValueError):workflow('test',p,1,'flux',['reference-1.png'])
def test_reference_validation_enforces_profile_limit_and_signature(self):
import base64
png='data:image/png;base64,'+base64.b64encode(b'\x89PNG\r\n\x1a\nsynthetic').decode()
self.assertEqual(len(decode_references([png],4)),1)
for value,limit in [([png],0),([png]*5,4),(['data:image/png;base64,'+base64.b64encode(b'not png').decode()],4)]:
with self.assertRaises(ValueError):decode_references(value,limit)
def test_flux_graph_and_offload(self):
p=dict(width=512,height=512,steps=4,guidance=1)
graph=workflow('a red bicycle',p,42,'flux')