Skip to content

Commit 22dd64d

Browse files
authored
Merge branch 'main' into chore/update-pypi-from-release-branches
2 parents fcba438 + 0a929ca commit 22dd64d

22 files changed

Lines changed: 759 additions & 68 deletions

File tree

invokeai/app/invocations/metadata.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -156,6 +156,18 @@ class MetadataAccumulatorInvocation(BaseInvocation):
156156
description="The VAE used for decoding, if the main model's default was not used",
157157
)
158158

159+
# High resolution fix metadata.
160+
hrf_width: Optional[int] = InputField(
161+
description="The high resolution fix height and width multipler.",
162+
)
163+
hrf_height: Optional[int] = InputField(
164+
description="The high resolution fix height and width multipler.",
165+
)
166+
hrf_strength: Optional[float] = InputField(
167+
default=None,
168+
description="The high resolution fix img2img strength used in the upscale pass.",
169+
)
170+
159171
# SDXL
160172
positive_style_prompt: Optional[str] = InputField(
161173
default=None,

invokeai/frontend/web/public/locales/en.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -559,8 +559,10 @@
559559
"negativePrompt": "Negative Prompt",
560560
"noImageDetails": "No image details found",
561561
"noMetaData": "No metadata found",
562+
"noRecallParameters": "No parameters to recall found",
562563
"perlin": "Perlin Noise",
563564
"positivePrompt": "Positive Prompt",
565+
"recallParameters": "Recall Parameters",
564566
"scheduler": "Scheduler",
565567
"seamless": "Seamless",
566568
"seed": "Seed",

invokeai/frontend/web/public/locales/it.json

Lines changed: 42 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,10 @@
115115
"currentlyInUse": "Questa immagine è attualmente utilizzata nelle seguenti funzionalità:",
116116
"copy": "Copia",
117117
"download": "Scarica",
118-
"setCurrentImage": "Imposta come immagine corrente"
118+
"setCurrentImage": "Imposta come immagine corrente",
119+
"preparingDownload": "Preparazione del download",
120+
"preparingDownloadFailed": "Problema durante la preparazione del download",
121+
"downloadSelection": "Scarica gli elementi selezionati"
119122
},
120123
"hotkeys": {
121124
"keyboardShortcuts": "Tasti rapidi",
@@ -572,7 +575,8 @@
572575
"systemDisconnected": "Sistema disconnesso",
573576
"noControlImageForControlAdapter": "L'adattatore di controllo {{number}} non ha un'immagine di controllo",
574577
"noModelForControlAdapter": "Nessun modello selezionato per l'adattatore di controllo {{number}}.",
575-
"incompatibleBaseModelForControlAdapter": "Il modello dell'adattatore di controllo {{number}} non è compatibile con il modello principale."
578+
"incompatibleBaseModelForControlAdapter": "Il modello dell'adattatore di controllo {{number}} non è compatibile con il modello principale.",
579+
"missingNodeTemplate": "Modello di nodo mancante"
576580
},
577581
"enableNoiseSettings": "Abilita le impostazioni del rumore",
578582
"cpuNoise": "Rumore CPU",
@@ -620,7 +624,15 @@
620624
"beta": "Beta",
621625
"enableNodesEditor": "Abilita l'editor dei nodi",
622626
"experimental": "Sperimentale",
623-
"autoChangeDimensions": "Aggiorna L/A alle impostazioni predefinite del modello in caso di modifica"
627+
"autoChangeDimensions": "Aggiorna L/A alle impostazioni predefinite del modello in caso di modifica",
628+
"clearIntermediates": "Cancella le immagini intermedie",
629+
"clearIntermediatesDesc3": "Le immagini della galleria non verranno eliminate.",
630+
"clearIntermediatesDesc2": "Le immagini intermedie sono sottoprodotti della generazione, diversi dalle immagini risultanti nella galleria. La cancellazione degli intermedi libererà spazio su disco.",
631+
"intermediatesCleared_one": "Cancellata 1 immagine intermedia",
632+
"intermediatesCleared_many": "Cancellate {{number}} immagini intermedie",
633+
"intermediatesCleared_other": "",
634+
"clearIntermediatesDesc1": "La cancellazione delle immagini intermedie ripristinerà lo stato di Tela Unificata e ControlNet.",
635+
"intermediatesClearedFailed": "Problema con la cancellazione delle immagini intermedie"
624636
},
625637
"toast": {
626638
"tempFoldersEmptied": "Cartella temporanea svuotata",
@@ -866,7 +878,26 @@
866878
"workflowValidation": "Errore di convalida del flusso di lavoro",
867879
"workflowAuthor": "Autore",
868880
"workflowName": "Nome",
869-
"workflowNotes": "Note"
881+
"workflowNotes": "Note",
882+
"unhandledInputProperty": "Proprietà di input non gestita",
883+
"versionUnknown": " Versione sconosciuta",
884+
"unableToValidateWorkflow": "Impossibile convalidare il flusso di lavoro",
885+
"updateApp": "Aggiorna App",
886+
"problemReadingWorkflow": "Problema durante la lettura del flusso di lavoro dall'immagine",
887+
"unableToLoadWorkflow": "Impossibile caricare il flusso di lavoro",
888+
"updateNode": "Aggiorna nodo",
889+
"version": "Versione",
890+
"notes": "Note",
891+
"problemSettingTitle": "Problema nell'impostazione del titolo",
892+
"unkownInvocation": "Tipo di invocazione sconosciuta",
893+
"unknownTemplate": "Modello sconosciuto",
894+
"nodeType": "Tipo di nodo",
895+
"vaeField": "VAE",
896+
"unhandledOutputProperty": "Proprietà di output non gestita",
897+
"notesDescription": "Aggiunge note sul tuo flusso di lavoro",
898+
"unknownField": "Campo sconosciuto",
899+
"unknownNode": "Nodo sconosciuto",
900+
"vaeFieldDescription": "Sotto modello VAE."
870901
},
871902
"boards": {
872903
"autoAddBoard": "Aggiungi automaticamente bacheca",
@@ -883,7 +914,8 @@
883914
"searchBoard": "Cerca bacheche ...",
884915
"noMatching": "Nessuna bacheca corrispondente",
885916
"selectBoard": "Seleziona una Bacheca",
886-
"uncategorized": "Non categorizzato"
917+
"uncategorized": "Non categorizzato",
918+
"downloadBoard": "Scarica la bacheca"
887919
},
888920
"controlnet": {
889921
"contentShuffleDescription": "Rimescola il contenuto di un'immagine",
@@ -1068,9 +1100,7 @@
10681100
},
10691101
"compositingMaskAdjustments": {
10701102
"heading": "Regolazioni della maschera",
1071-
"paragraphs": [
1072-
"Regola la maschera."
1073-
]
1103+
"paragraphs": ["Regola la maschera."]
10741104
},
10751105
"compositingCoherenceSteps": {
10761106
"heading": "Passi",
@@ -1081,15 +1111,11 @@
10811111
},
10821112
"compositingBlur": {
10831113
"heading": "Sfocatura",
1084-
"paragraphs": [
1085-
"Il raggio di sfocatura della maschera."
1086-
]
1114+
"paragraphs": ["Il raggio di sfocatura della maschera."]
10871115
},
10881116
"compositingCoherenceMode": {
10891117
"heading": "Modalità",
1090-
"paragraphs": [
1091-
"La modalità del Passaggio di Coerenza."
1092-
]
1118+
"paragraphs": ["La modalità del Passaggio di Coerenza."]
10931119
},
10941120
"clipSkip": {
10951121
"paragraphs": [
@@ -1229,9 +1255,7 @@
12291255
]
12301256
},
12311257
"infillMethod": {
1232-
"paragraphs": [
1233-
"Metodo per riempire l'area selezionata."
1234-
],
1258+
"paragraphs": ["Metodo per riempire l'area selezionata."],
12351259
"heading": "Metodo di riempimento"
12361260
},
12371261
"controlNetWeight": {
@@ -1247,9 +1271,7 @@
12471271
]
12481272
},
12491273
"controlNetControlMode": {
1250-
"paragraphs": [
1251-
"Attribuisce più peso al prompt o a ControlNet."
1252-
],
1274+
"paragraphs": ["Attribuisce più peso al prompt o a ControlNet."],
12531275
"heading": "Modalità di controllo"
12541276
},
12551277
"paramSteps": {

invokeai/frontend/web/public/locales/zh_CN.json

Lines changed: 15 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -630,8 +630,7 @@
630630
"clearIntermediatesDesc2": "中间产物图像是生成过程中产生的副产品,与图库中的结果图像不同。清除中间产物可释放磁盘空间。",
631631
"intermediatesCleared_other": "已清除 {{number}} 个中间产物",
632632
"clearIntermediatesDesc1": "清除中间产物会重置您的画布和 ControlNet 状态。",
633-
"intermediatesClearedFailed": "清除中间产物时出现问题",
634-
"noIntermediates": "没有可清除的中间产物"
633+
"intermediatesClearedFailed": "清除中间产物时出现问题"
635634
},
636635
"toast": {
637636
"tempFoldersEmptied": "临时文件夹已清空",
@@ -1243,9 +1242,7 @@
12431242
"popovers": {
12441243
"compositingMaskAdjustments": {
12451244
"heading": "遮罩调整",
1246-
"paragraphs": [
1247-
"调整遮罩。"
1248-
]
1245+
"paragraphs": ["调整遮罩。"]
12491246
},
12501247
"paramRatio": {
12511248
"heading": "纵横比",
@@ -1263,9 +1260,7 @@
12631260
},
12641261
"compositingBlur": {
12651262
"heading": "模糊",
1266-
"paragraphs": [
1267-
"遮罩模糊半径。"
1268-
]
1263+
"paragraphs": ["遮罩模糊半径。"]
12691264
},
12701265
"noiseUseCPU": {
12711266
"heading": "使用 CPU 噪声",
@@ -1283,15 +1278,11 @@
12831278
},
12841279
"compositingCoherenceMode": {
12851280
"heading": "模式",
1286-
"paragraphs": [
1287-
"一致性层模式。"
1288-
]
1281+
"paragraphs": ["一致性层模式。"]
12891282
},
12901283
"controlNetResizeMode": {
12911284
"heading": "缩放模式",
1292-
"paragraphs": [
1293-
"ControlNet 输入图像适应输出图像大小的方法。"
1294-
]
1285+
"paragraphs": ["ControlNet 输入图像适应输出图像大小的方法。"]
12951286
},
12961287
"clipSkip": {
12971288
"paragraphs": [
@@ -1317,9 +1308,7 @@
13171308
},
13181309
"compositingCoherencePass": {
13191310
"heading": "一致性层",
1320-
"paragraphs": [
1321-
"第二轮去噪有助于合成内补/外扩图像。"
1322-
]
1311+
"paragraphs": ["第二轮去噪有助于合成内补/外扩图像。"]
13231312
},
13241313
"compositingStrength": {
13251314
"heading": "强度",
@@ -1337,9 +1326,7 @@
13371326
},
13381327
"compositingBlurMethod": {
13391328
"heading": "模糊方式",
1340-
"paragraphs": [
1341-
"应用于遮罩区域的模糊方法。"
1342-
]
1329+
"paragraphs": ["应用于遮罩区域的模糊方法。"]
13431330
},
13441331
"paramScheduler": {
13451332
"heading": "调度器",
@@ -1349,15 +1336,11 @@
13491336
},
13501337
"controlNetWeight": {
13511338
"heading": "权重",
1352-
"paragraphs": [
1353-
"ControlNet 对生成图像的影响强度。"
1354-
]
1339+
"paragraphs": ["ControlNet 对生成图像的影响强度。"]
13551340
},
13561341
"paramCFGScale": {
13571342
"heading": "CFG 等级",
1358-
"paragraphs": [
1359-
"控制提示词对生成过程的影响程度。"
1360-
]
1343+
"paragraphs": ["控制提示词对生成过程的影响程度。"]
13611344
},
13621345
"paramSteps": {
13631346
"heading": "步数",
@@ -1375,15 +1358,11 @@
13751358
},
13761359
"lora": {
13771360
"heading": "LoRA 权重",
1378-
"paragraphs": [
1379-
"更高的 LoRA 权重会对最终图像产生更大的影响。"
1380-
]
1361+
"paragraphs": ["更高的 LoRA 权重会对最终图像产生更大的影响。"]
13811362
},
13821363
"infillMethod": {
13831364
"heading": "填充方法",
1384-
"paragraphs": [
1385-
"填充选定区域的方式。"
1386-
]
1365+
"paragraphs": ["填充选定区域的方式。"]
13871366
},
13881367
"controlNetBeginEnd": {
13891368
"heading": "开始 / 结束步数百分比",
@@ -1394,9 +1373,7 @@
13941373
},
13951374
"scaleBeforeProcessing": {
13961375
"heading": "处理前缩放",
1397-
"paragraphs": [
1398-
"生成图像前将所选区域缩放为最适合模型的大小。"
1399-
]
1376+
"paragraphs": ["生成图像前将所选区域缩放为最适合模型的大小。"]
14001377
},
14011378
"paramDenoisingStrength": {
14021379
"heading": "去噪强度",
@@ -1414,9 +1391,7 @@
14141391
},
14151392
"controlNetControlMode": {
14161393
"heading": "控制模式",
1417-
"paragraphs": [
1418-
"给提示词或 ControlNet 增加更大的权重。"
1419-
]
1394+
"paragraphs": ["给提示词或 ControlNet 增加更大的权重。"]
14201395
},
14211396
"dynamicPrompts": {
14221397
"paragraphs": [
@@ -1427,9 +1402,7 @@
14271402
"heading": "动态提示词"
14281403
},
14291404
"paramVAE": {
1430-
"paragraphs": [
1431-
"用于将 AI 输出转换成最终图像的模型。"
1432-
],
1405+
"paragraphs": ["用于将 AI 输出转换成最终图像的模型。"],
14331406
"heading": "VAE"
14341407
},
14351408
"dynamicPromptsSeedBehaviour": {
@@ -1443,9 +1416,7 @@
14431416
},
14441417
"dynamicPromptsMaxPrompts": {
14451418
"heading": "最大提示词数量",
1446-
"paragraphs": [
1447-
"限制动态提示词可生成的提示词数量。"
1448-
]
1419+
"paragraphs": ["限制动态提示词可生成的提示词数量。"]
14491420
},
14501421
"controlNet": {
14511422
"paragraphs": [

invokeai/frontend/web/src/app/types/invokeai.ts

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,8 @@ export type SDFeature =
3939
| 'hires'
4040
| 'lora'
4141
| 'embedding'
42-
| 'vae';
42+
| 'vae'
43+
| 'hrf';
4344

4445
/**
4546
* Configuration options for the InvokeAI UI.
@@ -110,6 +111,14 @@ export type AppConfig = {
110111
fineStep: number;
111112
coarseStep: number;
112113
};
114+
hrfStrength: {
115+
initial: number;
116+
min: number;
117+
sliderMax: number;
118+
inputMax: number;
119+
fineStep: number;
120+
coarseStep: number;
121+
};
113122
dynamicPrompts: {
114123
maxPrompts: {
115124
initial: number;

invokeai/frontend/web/src/common/components/IAIInformationalPopover/constants.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import { PopoverProps } from '@chakra-ui/react';
22

33
export type Feature =
44
| 'clipSkip'
5+
| 'hrf'
56
| 'paramNegativeConditioning'
67
| 'paramPositiveConditioning'
78
| 'paramScheduler'

invokeai/frontend/web/src/features/gallery/components/ImageMetadataViewer/ImageMetadataViewer.tsx

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ import ImageMetadataActions from './ImageMetadataActions';
1818
import { useAppSelector } from '../../../../app/store/storeHooks';
1919
import { configSelector } from '../../../system/store/configSelectors';
2020
import { useTranslation } from 'react-i18next';
21+
import ScrollableContent from 'features/nodes/components/sidePanel/ScrollableContent';
2122

2223
type ImageMetadataViewerProps = {
2324
image: ImageDTO;
@@ -65,19 +66,32 @@ const ImageMetadataViewer = ({ image }: ImageMetadataViewerProps) => {
6566
</Link>
6667
</Flex>
6768

68-
<ImageMetadataActions metadata={metadata} />
69-
7069
<Tabs
7170
variant="line"
72-
sx={{ display: 'flex', flexDir: 'column', w: 'full', h: 'full' }}
71+
sx={{
72+
display: 'flex',
73+
flexDir: 'column',
74+
w: 'full',
75+
h: 'full',
76+
}}
7377
>
7478
<TabList>
79+
<Tab>{t('metadata.recallParameters')}</Tab>
7580
<Tab>{t('metadata.metadata')}</Tab>
7681
<Tab>{t('metadata.imageDetails')}</Tab>
7782
<Tab>{t('metadata.workflow')}</Tab>
7883
</TabList>
7984

8085
<TabPanels>
86+
<TabPanel>
87+
{metadata ? (
88+
<ScrollableContent>
89+
<ImageMetadataActions metadata={metadata} />
90+
</ScrollableContent>
91+
) : (
92+
<IAINoContentFallback label={t('metadata.noRecallParameters')} />
93+
)}
94+
</TabPanel>
8195
<TabPanel>
8296
{metadata ? (
8397
<DataViewer data={metadata} label={t('metadata.metadata')} />

0 commit comments

Comments
 (0)