mirror of
https://github.com/invoke-ai/InvokeAI.git
synced 2026-01-20 22:38:19 -05:00
Compare commits
36 Commits
v4.2.6a1
...
psyche/boa
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3cd836efde | ||
|
|
dca5a2ce26 | ||
|
|
9d3a72fff3 | ||
|
|
c586d65a54 | ||
|
|
25107e427c | ||
|
|
a30d143c5a | ||
|
|
a6f1148676 | ||
|
|
2843a6a227 | ||
|
|
0484f458b6 | ||
|
|
c05f97d8ca | ||
|
|
a95aa6cc16 | ||
|
|
c74b9a40af | ||
|
|
5a0c99816c | ||
|
|
24bf1ea65a | ||
|
|
28e79c4c5e | ||
|
|
d7d59d704b | ||
|
|
8539c601e6 | ||
|
|
5cbe9fafb2 | ||
|
|
3ecd14f394 | ||
|
|
7c0dfd74a5 | ||
|
|
2c1a91241e | ||
|
|
84f136e737 | ||
|
|
712cf00a82 | ||
|
|
fb1130c644 | ||
|
|
0f65a12cf3 | ||
|
|
84abdc5780 | ||
|
|
2320701929 | ||
|
|
69af099532 | ||
|
|
5795617f86 | ||
|
|
b533bc072e | ||
|
|
d7199c7ca6 | ||
|
|
a69284367b | ||
|
|
c4d2fe9c65 | ||
|
|
fe0d56de5c | ||
|
|
7aec5624f7 | ||
|
|
2f3ec41f94 |
@@ -408,7 +408,7 @@ config = get_config()
|
||||
|
||||
logger = InvokeAILogger.get_logger(config=config)
|
||||
db = SqliteDatabase(config.db_path, logger)
|
||||
record_store = ModelRecordServiceSQL(db)
|
||||
record_store = ModelRecordServiceSQL(db, logger)
|
||||
queue = DownloadQueueService()
|
||||
queue.start()
|
||||
|
||||
|
||||
@@ -99,7 +99,7 @@ class ApiDependencies:
|
||||
model_images_service = ModelImageFileStorageDisk(model_images_folder / "model_images")
|
||||
model_manager = ModelManagerService.build_model_manager(
|
||||
app_config=configuration,
|
||||
model_record_service=ModelRecordServiceSQL(db=db),
|
||||
model_record_service=ModelRecordServiceSQL(db=db, logger=logger),
|
||||
download_queue=download_queue_service,
|
||||
events=events,
|
||||
)
|
||||
|
||||
@@ -5,7 +5,7 @@ from fastapi.routing import APIRouter
|
||||
from pydantic import BaseModel, Field
|
||||
|
||||
from invokeai.app.api.dependencies import ApiDependencies
|
||||
from invokeai.app.services.board_records.board_records_common import BoardChanges
|
||||
from invokeai.app.services.board_records.board_records_common import BoardChanges, UncategorizedImageCounts
|
||||
from invokeai.app.services.boards.boards_common import BoardDTO
|
||||
from invokeai.app.services.shared.pagination import OffsetPaginatedResults
|
||||
|
||||
@@ -146,3 +146,14 @@ async def list_all_board_image_names(
|
||||
board_id,
|
||||
)
|
||||
return image_names
|
||||
|
||||
|
||||
@boards_router.get(
|
||||
"/uncategorized/counts",
|
||||
operation_id="get_uncategorized_image_counts",
|
||||
response_model=UncategorizedImageCounts,
|
||||
)
|
||||
async def get_uncategorized_image_counts() -> UncategorizedImageCounts:
|
||||
"""Gets count of images and assets for uncategorized images (images with no board assocation)"""
|
||||
|
||||
return ApiDependencies.invoker.services.board_records.get_uncategorized_image_counts()
|
||||
|
||||
@@ -233,21 +233,14 @@ async def get_image_workflow(
|
||||
)
|
||||
async def get_image_full(
|
||||
image_name: str = Path(description="The name of full-resolution image file to get"),
|
||||
) -> FileResponse:
|
||||
) -> Response:
|
||||
"""Gets a full-resolution image file"""
|
||||
|
||||
try:
|
||||
path = ApiDependencies.invoker.services.images.get_path(image_name)
|
||||
|
||||
if not ApiDependencies.invoker.services.images.validate_path(path):
|
||||
raise HTTPException(status_code=404)
|
||||
|
||||
response = FileResponse(
|
||||
path,
|
||||
media_type="image/png",
|
||||
filename=image_name,
|
||||
content_disposition_type="inline",
|
||||
)
|
||||
with open(path, "rb") as f:
|
||||
content = f.read()
|
||||
response = Response(content, media_type="image/png")
|
||||
response.headers["Cache-Control"] = f"max-age={IMAGE_MAX_AGE}"
|
||||
return response
|
||||
except Exception:
|
||||
@@ -268,15 +261,14 @@ async def get_image_full(
|
||||
)
|
||||
async def get_image_thumbnail(
|
||||
image_name: str = Path(description="The name of thumbnail image file to get"),
|
||||
) -> FileResponse:
|
||||
) -> Response:
|
||||
"""Gets a thumbnail image file"""
|
||||
|
||||
try:
|
||||
path = ApiDependencies.invoker.services.images.get_path(image_name, thumbnail=True)
|
||||
if not ApiDependencies.invoker.services.images.validate_path(path):
|
||||
raise HTTPException(status_code=404)
|
||||
|
||||
response = FileResponse(path, media_type="image/webp", content_disposition_type="inline")
|
||||
with open(path, "rb") as f:
|
||||
content = f.read()
|
||||
response = Response(content, media_type="image/webp")
|
||||
response.headers["Cache-Control"] = f"max-age={IMAGE_MAX_AGE}"
|
||||
return response
|
||||
except Exception:
|
||||
|
||||
@@ -161,6 +161,7 @@ def invoke_api() -> None:
|
||||
# Taken from https://waylonwalker.com/python-find-available-port/, thanks Waylon!
|
||||
# https://github.com/WaylonWalker
|
||||
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
|
||||
s.settimeout(1)
|
||||
if s.connect_ex(("localhost", port)) == 0:
|
||||
return find_port(port=port + 1)
|
||||
else:
|
||||
|
||||
@@ -160,8 +160,7 @@ class FieldDescriptions:
|
||||
fp32 = "Whether or not to use full float32 precision"
|
||||
precision = "Precision to use"
|
||||
tiled = "Processing using overlapping tiles (reduce memory consumption)"
|
||||
vae_tile_size = "The tile size for VAE tiling in pixels (image space). If set to 0, the default tile size for the "
|
||||
"model will be used. Larger tile sizes generally produce better results at the cost of higher memory usage."
|
||||
vae_tile_size = "The tile size for VAE tiling in pixels (image space). If set to 0, the default tile size for the model will be used. Larger tile sizes generally produce better results at the cost of higher memory usage."
|
||||
detect_res = "Pixel resolution for detection"
|
||||
image_res = "Pixel resolution for output image"
|
||||
safe_mode = "Whether or not to use safe mode"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
from abc import ABC, abstractmethod
|
||||
|
||||
from invokeai.app.services.board_records.board_records_common import BoardChanges, BoardRecord
|
||||
from invokeai.app.services.board_records.board_records_common import BoardChanges, BoardRecord, UncategorizedImageCounts
|
||||
from invokeai.app.services.shared.pagination import OffsetPaginatedResults
|
||||
|
||||
|
||||
@@ -48,3 +48,8 @@ class BoardRecordStorageBase(ABC):
|
||||
def get_all(self, include_archived: bool = False) -> list[BoardRecord]:
|
||||
"""Gets all board records."""
|
||||
pass
|
||||
|
||||
@abstractmethod
|
||||
def get_uncategorized_image_counts(self) -> UncategorizedImageCounts:
|
||||
"""Gets count of images and assets for uncategorized images (images with no board assocation)."""
|
||||
pass
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
from datetime import datetime
|
||||
from typing import Optional, Union
|
||||
from typing import Any, Optional, Union
|
||||
|
||||
from pydantic import BaseModel, Field
|
||||
|
||||
@@ -26,21 +26,25 @@ class BoardRecord(BaseModelExcludeNull):
|
||||
"""Whether or not the board is archived."""
|
||||
is_private: Optional[bool] = Field(default=None, description="Whether the board is private.")
|
||||
"""Whether the board is private."""
|
||||
image_count: int = Field(description="The number of images in the board.")
|
||||
asset_count: int = Field(description="The number of assets in the board.")
|
||||
|
||||
|
||||
def deserialize_board_record(board_dict: dict) -> BoardRecord:
|
||||
def deserialize_board_record(board_dict: dict[str, Any]) -> BoardRecord:
|
||||
"""Deserializes a board record."""
|
||||
|
||||
# Retrieve all the values, setting "reasonable" defaults if they are not present.
|
||||
|
||||
board_id = board_dict.get("board_id", "unknown")
|
||||
board_name = board_dict.get("board_name", "unknown")
|
||||
cover_image_name = board_dict.get("cover_image_name", "unknown")
|
||||
cover_image_name = board_dict.get("cover_image_name", None)
|
||||
created_at = board_dict.get("created_at", get_iso_timestamp())
|
||||
updated_at = board_dict.get("updated_at", get_iso_timestamp())
|
||||
deleted_at = board_dict.get("deleted_at", get_iso_timestamp())
|
||||
archived = board_dict.get("archived", False)
|
||||
is_private = board_dict.get("is_private", False)
|
||||
image_count = board_dict.get("image_count", 0)
|
||||
asset_count = board_dict.get("asset_count", 0)
|
||||
|
||||
return BoardRecord(
|
||||
board_id=board_id,
|
||||
@@ -51,6 +55,8 @@ def deserialize_board_record(board_dict: dict) -> BoardRecord:
|
||||
deleted_at=deleted_at,
|
||||
archived=archived,
|
||||
is_private=is_private,
|
||||
image_count=image_count,
|
||||
asset_count=asset_count,
|
||||
)
|
||||
|
||||
|
||||
@@ -63,19 +69,24 @@ class BoardChanges(BaseModel, extra="forbid"):
|
||||
class BoardRecordNotFoundException(Exception):
|
||||
"""Raised when an board record is not found."""
|
||||
|
||||
def __init__(self, message="Board record not found"):
|
||||
def __init__(self, message: str = "Board record not found"):
|
||||
super().__init__(message)
|
||||
|
||||
|
||||
class BoardRecordSaveException(Exception):
|
||||
"""Raised when an board record cannot be saved."""
|
||||
|
||||
def __init__(self, message="Board record not saved"):
|
||||
def __init__(self, message: str = "Board record not saved"):
|
||||
super().__init__(message)
|
||||
|
||||
|
||||
class BoardRecordDeleteException(Exception):
|
||||
"""Raised when an board record cannot be deleted."""
|
||||
|
||||
def __init__(self, message="Board record not deleted"):
|
||||
def __init__(self, message: str = "Board record not deleted"):
|
||||
super().__init__(message)
|
||||
|
||||
|
||||
class UncategorizedImageCounts(BaseModel):
|
||||
image_count: int = Field(description="The number of uncategorized images.")
|
||||
asset_count: int = Field(description="The number of uncategorized assets.")
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
import sqlite3
|
||||
import threading
|
||||
from dataclasses import dataclass
|
||||
from typing import Union, cast
|
||||
|
||||
from invokeai.app.services.board_records.board_records_base import BoardRecordStorageBase
|
||||
@@ -9,12 +10,108 @@ from invokeai.app.services.board_records.board_records_common import (
|
||||
BoardRecordDeleteException,
|
||||
BoardRecordNotFoundException,
|
||||
BoardRecordSaveException,
|
||||
UncategorizedImageCounts,
|
||||
deserialize_board_record,
|
||||
)
|
||||
from invokeai.app.services.shared.pagination import OffsetPaginatedResults
|
||||
from invokeai.app.services.shared.sqlite.sqlite_database import SqliteDatabase
|
||||
from invokeai.app.util.misc import uuid_string
|
||||
|
||||
BASE_BOARD_RECORD_QUERY = """
|
||||
-- This query retrieves board records, joining with the board_images and images tables to get image counts and cover image names.
|
||||
-- It is not a complete query, as it is missing a GROUP BY or WHERE clause (and is unterminated).
|
||||
SELECT b.board_id,
|
||||
b.board_name,
|
||||
b.created_at,
|
||||
b.updated_at,
|
||||
b.archived,
|
||||
-- Count the number of images in the board, alias image_count
|
||||
COUNT(
|
||||
CASE
|
||||
WHEN i.image_category in ('general') -- "Images" are images in the 'general' category
|
||||
AND i.is_intermediate = 0 THEN 1 -- Intermediates are not counted
|
||||
END
|
||||
) AS image_count,
|
||||
-- Count the number of assets in the board, alias asset_count
|
||||
COUNT(
|
||||
CASE
|
||||
WHEN i.image_category in ('control', 'mask', 'user', 'other') -- "Assets" are images in any of the other categories ('control', 'mask', 'user', 'other')
|
||||
AND i.is_intermediate = 0 THEN 1 -- Intermediates are not counted
|
||||
END
|
||||
) AS asset_count,
|
||||
-- Get the name of the the most recent image in the board, alias cover_image_name
|
||||
(
|
||||
SELECT bi.image_name
|
||||
FROM board_images bi
|
||||
JOIN images i ON bi.image_name = i.image_name
|
||||
WHERE bi.board_id = b.board_id
|
||||
AND i.is_intermediate = 0 -- Intermediates cannot be cover images
|
||||
ORDER BY i.created_at DESC -- Sort by created_at to get the most recent image
|
||||
LIMIT 1
|
||||
) AS cover_image_name
|
||||
FROM boards b
|
||||
LEFT JOIN board_images bi ON b.board_id = bi.board_id
|
||||
LEFT JOIN images i ON bi.image_name = i.image_name
|
||||
"""
|
||||
|
||||
|
||||
@dataclass
|
||||
class PaginatedBoardRecordsQueries:
|
||||
main_query: str
|
||||
total_count_query: str
|
||||
|
||||
|
||||
def get_paginated_list_board_records_queries(include_archived: bool) -> PaginatedBoardRecordsQueries:
|
||||
"""Gets a query to retrieve a paginated list of board records."""
|
||||
|
||||
archived_condition = "WHERE b.archived = 0" if not include_archived else ""
|
||||
|
||||
# The GROUP BY must be added _after_ the WHERE clause!
|
||||
main_query = f"""
|
||||
{BASE_BOARD_RECORD_QUERY}
|
||||
{archived_condition}
|
||||
GROUP BY b.board_id,
|
||||
b.board_name,
|
||||
b.created_at,
|
||||
b.updated_at
|
||||
ORDER BY b.created_at DESC
|
||||
LIMIT ? OFFSET ?;
|
||||
"""
|
||||
|
||||
total_count_query = f"""
|
||||
SELECT COUNT(*)
|
||||
FROM boards b
|
||||
{archived_condition};
|
||||
"""
|
||||
|
||||
return PaginatedBoardRecordsQueries(main_query=main_query, total_count_query=total_count_query)
|
||||
|
||||
|
||||
def get_list_all_board_records_query(include_archived: bool) -> str:
|
||||
"""Gets a query to retrieve all board records."""
|
||||
|
||||
archived_condition = "WHERE b.archived = 0" if not include_archived else ""
|
||||
|
||||
# The GROUP BY must be added _after_ the WHERE clause!
|
||||
return f"""
|
||||
{BASE_BOARD_RECORD_QUERY}
|
||||
{archived_condition}
|
||||
GROUP BY b.board_id,
|
||||
b.board_name,
|
||||
b.created_at,
|
||||
b.updated_at
|
||||
ORDER BY b.created_at DESC;
|
||||
"""
|
||||
|
||||
|
||||
def get_board_record_query() -> str:
|
||||
"""Gets a query to retrieve a board record."""
|
||||
|
||||
return f"""
|
||||
{BASE_BOARD_RECORD_QUERY}
|
||||
WHERE b.board_id = ?;
|
||||
"""
|
||||
|
||||
|
||||
class SqliteBoardRecordStorage(BoardRecordStorageBase):
|
||||
_conn: sqlite3.Connection
|
||||
@@ -76,11 +173,7 @@ class SqliteBoardRecordStorage(BoardRecordStorageBase):
|
||||
try:
|
||||
self._lock.acquire()
|
||||
self._cursor.execute(
|
||||
"""--sql
|
||||
SELECT *
|
||||
FROM boards
|
||||
WHERE board_id = ?;
|
||||
""",
|
||||
get_board_record_query(),
|
||||
(board_id,),
|
||||
)
|
||||
|
||||
@@ -92,7 +185,7 @@ class SqliteBoardRecordStorage(BoardRecordStorageBase):
|
||||
self._lock.release()
|
||||
if result is None:
|
||||
raise BoardRecordNotFoundException
|
||||
return BoardRecord(**dict(result))
|
||||
return deserialize_board_record(dict(result))
|
||||
|
||||
def update(
|
||||
self,
|
||||
@@ -149,45 +242,17 @@ class SqliteBoardRecordStorage(BoardRecordStorageBase):
|
||||
try:
|
||||
self._lock.acquire()
|
||||
|
||||
# Build base query
|
||||
base_query = """
|
||||
SELECT *
|
||||
FROM boards
|
||||
{archived_filter}
|
||||
ORDER BY created_at DESC
|
||||
LIMIT ? OFFSET ?;
|
||||
"""
|
||||
queries = get_paginated_list_board_records_queries(include_archived=include_archived)
|
||||
|
||||
# Determine archived filter condition
|
||||
if include_archived:
|
||||
archived_filter = ""
|
||||
else:
|
||||
archived_filter = "WHERE archived = 0"
|
||||
|
||||
final_query = base_query.format(archived_filter=archived_filter)
|
||||
|
||||
# Execute query to fetch boards
|
||||
self._cursor.execute(final_query, (limit, offset))
|
||||
self._cursor.execute(
|
||||
queries.main_query,
|
||||
(limit, offset),
|
||||
)
|
||||
|
||||
result = cast(list[sqlite3.Row], self._cursor.fetchall())
|
||||
boards = [deserialize_board_record(dict(r)) for r in result]
|
||||
|
||||
# Determine count query
|
||||
if include_archived:
|
||||
count_query = """
|
||||
SELECT COUNT(*)
|
||||
FROM boards;
|
||||
"""
|
||||
else:
|
||||
count_query = """
|
||||
SELECT COUNT(*)
|
||||
FROM boards
|
||||
WHERE archived = 0;
|
||||
"""
|
||||
|
||||
# Execute count query
|
||||
self._cursor.execute(count_query)
|
||||
|
||||
self._cursor.execute(queries.total_count_query)
|
||||
count = cast(int, self._cursor.fetchone()[0])
|
||||
|
||||
return OffsetPaginatedResults[BoardRecord](items=boards, offset=offset, limit=limit, total=count)
|
||||
@@ -201,26 +266,9 @@ class SqliteBoardRecordStorage(BoardRecordStorageBase):
|
||||
def get_all(self, include_archived: bool = False) -> list[BoardRecord]:
|
||||
try:
|
||||
self._lock.acquire()
|
||||
|
||||
base_query = """
|
||||
SELECT *
|
||||
FROM boards
|
||||
{archived_filter}
|
||||
ORDER BY created_at DESC
|
||||
"""
|
||||
|
||||
if include_archived:
|
||||
archived_filter = ""
|
||||
else:
|
||||
archived_filter = "WHERE archived = 0"
|
||||
|
||||
final_query = base_query.format(archived_filter=archived_filter)
|
||||
|
||||
self._cursor.execute(final_query)
|
||||
|
||||
self._cursor.execute(get_list_all_board_records_query(include_archived=include_archived))
|
||||
result = cast(list[sqlite3.Row], self._cursor.fetchall())
|
||||
boards = [deserialize_board_record(dict(r)) for r in result]
|
||||
|
||||
return boards
|
||||
|
||||
except sqlite3.Error as e:
|
||||
@@ -228,3 +276,28 @@ class SqliteBoardRecordStorage(BoardRecordStorageBase):
|
||||
raise e
|
||||
finally:
|
||||
self._lock.release()
|
||||
|
||||
def get_uncategorized_image_counts(self) -> UncategorizedImageCounts:
|
||||
try:
|
||||
self._lock.acquire()
|
||||
query = """
|
||||
-- Get the count of uncategorized images and assets.
|
||||
SELECT
|
||||
CASE
|
||||
WHEN i.image_category = 'general' THEN 'image_count' -- "Images" are images in the 'general' category
|
||||
ELSE 'asset_count' -- "Assets" are images in any of the other categories ('control', 'mask', 'user', 'other')
|
||||
END AS category_type,
|
||||
COUNT(*) AS unassigned_count
|
||||
FROM images i
|
||||
LEFT JOIN board_images bi ON i.image_name = bi.image_name
|
||||
WHERE bi.board_id IS NULL -- Uncategorized images have no board association
|
||||
AND i.is_intermediate = 0 -- Omit intermediates from the counts
|
||||
GROUP BY category_type; -- Group by category_type alias, as derived from the image_category column earlier
|
||||
"""
|
||||
self._cursor.execute(query)
|
||||
results = self._cursor.fetchall()
|
||||
image_count = dict(results)["image_count"]
|
||||
asset_count = dict(results)["asset_count"]
|
||||
return UncategorizedImageCounts(image_count=image_count, asset_count=asset_count)
|
||||
finally:
|
||||
self._lock.release()
|
||||
|
||||
@@ -1,23 +1,8 @@
|
||||
from typing import Optional
|
||||
|
||||
from pydantic import Field
|
||||
|
||||
from invokeai.app.services.board_records.board_records_common import BoardRecord
|
||||
|
||||
|
||||
# TODO(psyche): BoardDTO is now identical to BoardRecord. We should consider removing it.
|
||||
class BoardDTO(BoardRecord):
|
||||
"""Deserialized board record with cover image URL and image count."""
|
||||
"""Deserialized board record."""
|
||||
|
||||
cover_image_name: Optional[str] = Field(description="The name of the board's cover image.")
|
||||
"""The URL of the thumbnail of the most recent image in the board."""
|
||||
image_count: int = Field(description="The number of images in the board.")
|
||||
"""The number of images in the board."""
|
||||
|
||||
|
||||
def board_record_to_dto(board_record: BoardRecord, cover_image_name: Optional[str], image_count: int) -> BoardDTO:
|
||||
"""Converts a board record to a board DTO."""
|
||||
return BoardDTO(
|
||||
**board_record.model_dump(exclude={"cover_image_name"}),
|
||||
cover_image_name=cover_image_name,
|
||||
image_count=image_count,
|
||||
)
|
||||
pass
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
from invokeai.app.services.board_records.board_records_common import BoardChanges
|
||||
from invokeai.app.services.boards.boards_base import BoardServiceABC
|
||||
from invokeai.app.services.boards.boards_common import BoardDTO, board_record_to_dto
|
||||
from invokeai.app.services.boards.boards_common import BoardDTO
|
||||
from invokeai.app.services.invoker import Invoker
|
||||
from invokeai.app.services.shared.pagination import OffsetPaginatedResults
|
||||
|
||||
@@ -16,17 +16,11 @@ class BoardService(BoardServiceABC):
|
||||
board_name: str,
|
||||
) -> BoardDTO:
|
||||
board_record = self.__invoker.services.board_records.save(board_name)
|
||||
return board_record_to_dto(board_record, None, 0)
|
||||
return BoardDTO.model_validate(board_record.model_dump())
|
||||
|
||||
def get_dto(self, board_id: str) -> BoardDTO:
|
||||
board_record = self.__invoker.services.board_records.get(board_id)
|
||||
cover_image = self.__invoker.services.image_records.get_most_recent_image_for_board(board_record.board_id)
|
||||
if cover_image:
|
||||
cover_image_name = cover_image.image_name
|
||||
else:
|
||||
cover_image_name = None
|
||||
image_count = self.__invoker.services.board_image_records.get_image_count_for_board(board_id)
|
||||
return board_record_to_dto(board_record, cover_image_name, image_count)
|
||||
return BoardDTO.model_validate(board_record.model_dump())
|
||||
|
||||
def update(
|
||||
self,
|
||||
@@ -34,14 +28,7 @@ class BoardService(BoardServiceABC):
|
||||
changes: BoardChanges,
|
||||
) -> BoardDTO:
|
||||
board_record = self.__invoker.services.board_records.update(board_id, changes)
|
||||
cover_image = self.__invoker.services.image_records.get_most_recent_image_for_board(board_record.board_id)
|
||||
if cover_image:
|
||||
cover_image_name = cover_image.image_name
|
||||
else:
|
||||
cover_image_name = None
|
||||
|
||||
image_count = self.__invoker.services.board_image_records.get_image_count_for_board(board_id)
|
||||
return board_record_to_dto(board_record, cover_image_name, image_count)
|
||||
return BoardDTO.model_validate(board_record.model_dump())
|
||||
|
||||
def delete(self, board_id: str) -> None:
|
||||
self.__invoker.services.board_records.delete(board_id)
|
||||
@@ -50,30 +37,10 @@ class BoardService(BoardServiceABC):
|
||||
self, offset: int = 0, limit: int = 10, include_archived: bool = False
|
||||
) -> OffsetPaginatedResults[BoardDTO]:
|
||||
board_records = self.__invoker.services.board_records.get_many(offset, limit, include_archived)
|
||||
board_dtos = []
|
||||
for r in board_records.items:
|
||||
cover_image = self.__invoker.services.image_records.get_most_recent_image_for_board(r.board_id)
|
||||
if cover_image:
|
||||
cover_image_name = cover_image.image_name
|
||||
else:
|
||||
cover_image_name = None
|
||||
|
||||
image_count = self.__invoker.services.board_image_records.get_image_count_for_board(r.board_id)
|
||||
board_dtos.append(board_record_to_dto(r, cover_image_name, image_count))
|
||||
|
||||
board_dtos = [BoardDTO.model_validate(r.model_dump()) for r in board_records.items]
|
||||
return OffsetPaginatedResults[BoardDTO](items=board_dtos, offset=offset, limit=limit, total=len(board_dtos))
|
||||
|
||||
def get_all(self, include_archived: bool = False) -> list[BoardDTO]:
|
||||
board_records = self.__invoker.services.board_records.get_all(include_archived)
|
||||
board_dtos = []
|
||||
for r in board_records:
|
||||
cover_image = self.__invoker.services.image_records.get_most_recent_image_for_board(r.board_id)
|
||||
if cover_image:
|
||||
cover_image_name = cover_image.image_name
|
||||
else:
|
||||
cover_image_name = None
|
||||
|
||||
image_count = self.__invoker.services.board_image_records.get_image_count_for_board(r.board_id)
|
||||
board_dtos.append(board_record_to_dto(r, cover_image_name, image_count))
|
||||
|
||||
board_dtos = [BoardDTO.model_validate(r.model_dump()) for r in board_records]
|
||||
return board_dtos
|
||||
|
||||
@@ -40,11 +40,14 @@ Typical usage:
|
||||
"""
|
||||
|
||||
import json
|
||||
import logging
|
||||
import sqlite3
|
||||
from math import ceil
|
||||
from pathlib import Path
|
||||
from typing import List, Optional, Union
|
||||
|
||||
import pydantic
|
||||
|
||||
from invokeai.app.services.model_records.model_records_base import (
|
||||
DuplicateModelException,
|
||||
ModelRecordChanges,
|
||||
@@ -67,7 +70,7 @@ from invokeai.backend.model_manager.config import (
|
||||
class ModelRecordServiceSQL(ModelRecordServiceBase):
|
||||
"""Implementation of the ModelConfigStore ABC using a SQL database."""
|
||||
|
||||
def __init__(self, db: SqliteDatabase):
|
||||
def __init__(self, db: SqliteDatabase, logger: logging.Logger):
|
||||
"""
|
||||
Initialize a new object from preexisting sqlite3 connection and threading lock objects.
|
||||
|
||||
@@ -76,6 +79,7 @@ class ModelRecordServiceSQL(ModelRecordServiceBase):
|
||||
super().__init__()
|
||||
self._db = db
|
||||
self._cursor = db.conn.cursor()
|
||||
self._logger = logger
|
||||
|
||||
@property
|
||||
def db(self) -> SqliteDatabase:
|
||||
@@ -291,7 +295,20 @@ class ModelRecordServiceSQL(ModelRecordServiceBase):
|
||||
tuple(bindings),
|
||||
)
|
||||
result = self._cursor.fetchall()
|
||||
results = [ModelConfigFactory.make_config(json.loads(x[0]), timestamp=x[1]) for x in result]
|
||||
|
||||
# Parse the model configs.
|
||||
results: list[AnyModelConfig] = []
|
||||
for row in result:
|
||||
try:
|
||||
model_config = ModelConfigFactory.make_config(json.loads(row[0]), timestamp=row[1])
|
||||
except pydantic.ValidationError:
|
||||
# We catch this error so that the app can still run if there are invalid model configs in the database.
|
||||
# One reason that an invalid model config might be in the database is if someone had to rollback from a
|
||||
# newer version of the app that added a new model type.
|
||||
self._logger.warning(f"Found an invalid model config in the database. Ignoring this model. ({row[0]})")
|
||||
else:
|
||||
results.append(model_config)
|
||||
|
||||
return results
|
||||
|
||||
def search_by_path(self, path: Union[str, Path]) -> List[AnyModelConfig]:
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
"name": "ESRGAN Upscaling with Canny ControlNet",
|
||||
"author": "InvokeAI",
|
||||
"description": "Sample workflow for using Upscaling with ControlNet with SD1.5",
|
||||
"version": "2.0.0",
|
||||
"version": "2.1.0",
|
||||
"contact": "invoke@invoke.ai",
|
||||
"tags": "upscale, controlnet, default",
|
||||
"notes": "",
|
||||
@@ -36,14 +36,13 @@
|
||||
"version": "3.0.0",
|
||||
"category": "default"
|
||||
},
|
||||
"id": "0e71a27e-a22b-4a9b-b20a-6d789abff2bc",
|
||||
"nodes": [
|
||||
{
|
||||
"id": "e8bf67fe-67de-4227-87eb-79e86afdfc74",
|
||||
"id": "63b6ab7e-5b05-4d1b-a3b1-42d8e53ce16b",
|
||||
"type": "invocation",
|
||||
"data": {
|
||||
"id": "e8bf67fe-67de-4227-87eb-79e86afdfc74",
|
||||
"version": "1.1.1",
|
||||
"id": "63b6ab7e-5b05-4d1b-a3b1-42d8e53ce16b",
|
||||
"version": "1.2.0",
|
||||
"nodePack": "invokeai",
|
||||
"label": "",
|
||||
"notes": "",
|
||||
@@ -57,6 +56,10 @@
|
||||
"clip": {
|
||||
"name": "clip",
|
||||
"label": ""
|
||||
},
|
||||
"mask": {
|
||||
"name": "mask",
|
||||
"label": ""
|
||||
}
|
||||
},
|
||||
"isOpen": true,
|
||||
@@ -65,122 +68,63 @@
|
||||
},
|
||||
"position": {
|
||||
"x": 1250,
|
||||
"y": 1500
|
||||
"y": 1200
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "d8ace142-c05f-4f1d-8982-88dc7473958d",
|
||||
"id": "5ca498a4-c8c8-4580-a396-0c984317205d",
|
||||
"type": "invocation",
|
||||
"data": {
|
||||
"id": "d8ace142-c05f-4f1d-8982-88dc7473958d",
|
||||
"version": "1.0.2",
|
||||
"id": "5ca498a4-c8c8-4580-a396-0c984317205d",
|
||||
"version": "1.1.0",
|
||||
"nodePack": "invokeai",
|
||||
"label": "",
|
||||
"notes": "",
|
||||
"type": "main_model_loader",
|
||||
"type": "i2l",
|
||||
"inputs": {
|
||||
"model": {
|
||||
"name": "model",
|
||||
"image": {
|
||||
"name": "image",
|
||||
"label": ""
|
||||
},
|
||||
"vae": {
|
||||
"name": "vae",
|
||||
"label": ""
|
||||
},
|
||||
"tiled": {
|
||||
"name": "tiled",
|
||||
"label": "",
|
||||
"value": {
|
||||
"key": "5cd43ca0-dd0a-418d-9f7e-35b2b9d5e106",
|
||||
"hash": "blake3:6987f323017f597213cc3264250edf57056d21a40a0a85d83a1a33a7d44dc41a",
|
||||
"name": "Deliberate_v5",
|
||||
"base": "sd-1",
|
||||
"type": "main"
|
||||
}
|
||||
}
|
||||
},
|
||||
"isOpen": true,
|
||||
"isIntermediate": true,
|
||||
"useCache": true
|
||||
},
|
||||
"position": {
|
||||
"x": 700,
|
||||
"y": 1375
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "771bdf6a-0813-4099-a5d8-921a138754d4",
|
||||
"type": "invocation",
|
||||
"data": {
|
||||
"id": "771bdf6a-0813-4099-a5d8-921a138754d4",
|
||||
"version": "1.0.2",
|
||||
"nodePack": "invokeai",
|
||||
"label": "",
|
||||
"notes": "",
|
||||
"type": "image",
|
||||
"inputs": {
|
||||
"image": {
|
||||
"name": "image",
|
||||
"label": "Image To Upscale",
|
||||
"value": {
|
||||
"image_name": "d2e42ba6-d420-496b-82db-91c9b75956c1.png"
|
||||
}
|
||||
}
|
||||
},
|
||||
"isOpen": true,
|
||||
"isIntermediate": true,
|
||||
"useCache": true
|
||||
},
|
||||
"position": {
|
||||
"x": 344.5593065887157,
|
||||
"y": 1698.161491368619
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "f7564dd2-9539-47f2-ac13-190804461f4e",
|
||||
"type": "invocation",
|
||||
"data": {
|
||||
"id": "f7564dd2-9539-47f2-ac13-190804461f4e",
|
||||
"version": "1.3.2",
|
||||
"nodePack": "invokeai",
|
||||
"label": "",
|
||||
"notes": "",
|
||||
"type": "esrgan",
|
||||
"inputs": {
|
||||
"board": {
|
||||
"name": "board",
|
||||
"label": ""
|
||||
},
|
||||
"metadata": {
|
||||
"name": "metadata",
|
||||
"label": ""
|
||||
},
|
||||
"image": {
|
||||
"name": "image",
|
||||
"label": ""
|
||||
},
|
||||
"model_name": {
|
||||
"name": "model_name",
|
||||
"label": "Upscaler Model",
|
||||
"value": "RealESRGAN_x2plus.pth"
|
||||
"value": false
|
||||
},
|
||||
"tile_size": {
|
||||
"name": "tile_size",
|
||||
"label": "",
|
||||
"value": 400
|
||||
"value": 0
|
||||
},
|
||||
"fp32": {
|
||||
"name": "fp32",
|
||||
"label": "",
|
||||
"value": false
|
||||
}
|
||||
},
|
||||
"isOpen": true,
|
||||
"isOpen": false,
|
||||
"isIntermediate": true,
|
||||
"useCache": true
|
||||
},
|
||||
"position": {
|
||||
"x": 717.3863693661265,
|
||||
"y": 1721.9215053134815
|
||||
"x": 1650,
|
||||
"y": 1675
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "1d887701-df21-4966-ae6e-a7d82307d7bd",
|
||||
"id": "3ed9b2ef-f4ec-40a7-94db-92e63b583ec0",
|
||||
"type": "invocation",
|
||||
"data": {
|
||||
"id": "1d887701-df21-4966-ae6e-a7d82307d7bd",
|
||||
"version": "1.3.2",
|
||||
"id": "3ed9b2ef-f4ec-40a7-94db-92e63b583ec0",
|
||||
"version": "1.3.0",
|
||||
"nodePack": "invokeai",
|
||||
"label": "",
|
||||
"notes": "",
|
||||
"type": "canny_image_processor",
|
||||
"type": "l2i",
|
||||
"inputs": {
|
||||
"board": {
|
||||
"name": "board",
|
||||
@@ -190,38 +134,37 @@
|
||||
"name": "metadata",
|
||||
"label": ""
|
||||
},
|
||||
"image": {
|
||||
"name": "image",
|
||||
"latents": {
|
||||
"name": "latents",
|
||||
"label": ""
|
||||
},
|
||||
"detect_resolution": {
|
||||
"name": "detect_resolution",
|
||||
"label": "",
|
||||
"value": 512
|
||||
"vae": {
|
||||
"name": "vae",
|
||||
"label": ""
|
||||
},
|
||||
"image_resolution": {
|
||||
"name": "image_resolution",
|
||||
"tiled": {
|
||||
"name": "tiled",
|
||||
"label": "",
|
||||
"value": 512
|
||||
"value": false
|
||||
},
|
||||
"low_threshold": {
|
||||
"name": "low_threshold",
|
||||
"tile_size": {
|
||||
"name": "tile_size",
|
||||
"label": "",
|
||||
"value": 100
|
||||
"value": 0
|
||||
},
|
||||
"high_threshold": {
|
||||
"name": "high_threshold",
|
||||
"fp32": {
|
||||
"name": "fp32",
|
||||
"label": "",
|
||||
"value": 200
|
||||
"value": false
|
||||
}
|
||||
},
|
||||
"isOpen": true,
|
||||
"isIntermediate": true,
|
||||
"isIntermediate": false,
|
||||
"useCache": true
|
||||
},
|
||||
"position": {
|
||||
"x": 1200,
|
||||
"y": 1900
|
||||
"x": 2559.4751127537957,
|
||||
"y": 1246.6000376741406
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -229,7 +172,7 @@
|
||||
"type": "invocation",
|
||||
"data": {
|
||||
"id": "ca1d020c-89a8-4958-880a-016d28775cfa",
|
||||
"version": "1.1.1",
|
||||
"version": "1.1.2",
|
||||
"nodePack": "invokeai",
|
||||
"label": "",
|
||||
"notes": "",
|
||||
@@ -285,6 +228,193 @@
|
||||
"y": 1902.9649340196056
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "1d887701-df21-4966-ae6e-a7d82307d7bd",
|
||||
"type": "invocation",
|
||||
"data": {
|
||||
"id": "1d887701-df21-4966-ae6e-a7d82307d7bd",
|
||||
"version": "1.3.3",
|
||||
"nodePack": "invokeai",
|
||||
"label": "",
|
||||
"notes": "",
|
||||
"type": "canny_image_processor",
|
||||
"inputs": {
|
||||
"board": {
|
||||
"name": "board",
|
||||
"label": ""
|
||||
},
|
||||
"metadata": {
|
||||
"name": "metadata",
|
||||
"label": ""
|
||||
},
|
||||
"image": {
|
||||
"name": "image",
|
||||
"label": ""
|
||||
},
|
||||
"detect_resolution": {
|
||||
"name": "detect_resolution",
|
||||
"label": "",
|
||||
"value": 512
|
||||
},
|
||||
"image_resolution": {
|
||||
"name": "image_resolution",
|
||||
"label": "",
|
||||
"value": 512
|
||||
},
|
||||
"low_threshold": {
|
||||
"name": "low_threshold",
|
||||
"label": "",
|
||||
"value": 100
|
||||
},
|
||||
"high_threshold": {
|
||||
"name": "high_threshold",
|
||||
"label": "",
|
||||
"value": 200
|
||||
}
|
||||
},
|
||||
"isOpen": true,
|
||||
"isIntermediate": true,
|
||||
"useCache": true
|
||||
},
|
||||
"position": {
|
||||
"x": 1200,
|
||||
"y": 1900
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "d8ace142-c05f-4f1d-8982-88dc7473958d",
|
||||
"type": "invocation",
|
||||
"data": {
|
||||
"id": "d8ace142-c05f-4f1d-8982-88dc7473958d",
|
||||
"version": "1.0.3",
|
||||
"nodePack": "invokeai",
|
||||
"label": "",
|
||||
"notes": "",
|
||||
"type": "main_model_loader",
|
||||
"inputs": {
|
||||
"model": {
|
||||
"name": "model",
|
||||
"label": "",
|
||||
"value": {
|
||||
"key": "5cd43ca0-dd0a-418d-9f7e-35b2b9d5e106",
|
||||
"hash": "blake3:6987f323017f597213cc3264250edf57056d21a40a0a85d83a1a33a7d44dc41a",
|
||||
"name": "Deliberate_v5",
|
||||
"base": "sd-1",
|
||||
"type": "main"
|
||||
}
|
||||
}
|
||||
},
|
||||
"isOpen": true,
|
||||
"isIntermediate": true,
|
||||
"useCache": true
|
||||
},
|
||||
"position": {
|
||||
"x": 700,
|
||||
"y": 1375
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "e8bf67fe-67de-4227-87eb-79e86afdfc74",
|
||||
"type": "invocation",
|
||||
"data": {
|
||||
"id": "e8bf67fe-67de-4227-87eb-79e86afdfc74",
|
||||
"version": "1.2.0",
|
||||
"nodePack": "invokeai",
|
||||
"label": "",
|
||||
"notes": "",
|
||||
"type": "compel",
|
||||
"inputs": {
|
||||
"prompt": {
|
||||
"name": "prompt",
|
||||
"label": "",
|
||||
"value": ""
|
||||
},
|
||||
"clip": {
|
||||
"name": "clip",
|
||||
"label": ""
|
||||
},
|
||||
"mask": {
|
||||
"name": "mask",
|
||||
"label": ""
|
||||
}
|
||||
},
|
||||
"isOpen": true,
|
||||
"isIntermediate": true,
|
||||
"useCache": true
|
||||
},
|
||||
"position": {
|
||||
"x": 1250,
|
||||
"y": 1500
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "771bdf6a-0813-4099-a5d8-921a138754d4",
|
||||
"type": "invocation",
|
||||
"data": {
|
||||
"id": "771bdf6a-0813-4099-a5d8-921a138754d4",
|
||||
"version": "1.0.2",
|
||||
"nodePack": "invokeai",
|
||||
"label": "",
|
||||
"notes": "",
|
||||
"type": "image",
|
||||
"inputs": {
|
||||
"image": {
|
||||
"name": "image",
|
||||
"label": "Image To Upscale"
|
||||
}
|
||||
},
|
||||
"isOpen": true,
|
||||
"isIntermediate": true,
|
||||
"useCache": true
|
||||
},
|
||||
"position": {
|
||||
"x": 344.5593065887157,
|
||||
"y": 1698.161491368619
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "f7564dd2-9539-47f2-ac13-190804461f4e",
|
||||
"type": "invocation",
|
||||
"data": {
|
||||
"id": "f7564dd2-9539-47f2-ac13-190804461f4e",
|
||||
"version": "1.3.2",
|
||||
"nodePack": "invokeai",
|
||||
"label": "",
|
||||
"notes": "",
|
||||
"type": "esrgan",
|
||||
"inputs": {
|
||||
"board": {
|
||||
"name": "board",
|
||||
"label": ""
|
||||
},
|
||||
"metadata": {
|
||||
"name": "metadata",
|
||||
"label": ""
|
||||
},
|
||||
"image": {
|
||||
"name": "image",
|
||||
"label": ""
|
||||
},
|
||||
"model_name": {
|
||||
"name": "model_name",
|
||||
"label": "Upscaler Model",
|
||||
"value": "RealESRGAN_x2plus.pth"
|
||||
},
|
||||
"tile_size": {
|
||||
"name": "tile_size",
|
||||
"label": "",
|
||||
"value": 400
|
||||
}
|
||||
},
|
||||
"isOpen": true,
|
||||
"isIntermediate": true,
|
||||
"useCache": true
|
||||
},
|
||||
"position": {
|
||||
"x": 717.3863693661265,
|
||||
"y": 1721.9215053134815
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "f50624ce-82bf-41d0-bdf7-8aab11a80d48",
|
||||
"type": "invocation",
|
||||
@@ -413,122 +543,6 @@
|
||||
"y": 1232.6219060454753
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "3ed9b2ef-f4ec-40a7-94db-92e63b583ec0",
|
||||
"type": "invocation",
|
||||
"data": {
|
||||
"id": "3ed9b2ef-f4ec-40a7-94db-92e63b583ec0",
|
||||
"version": "1.2.2",
|
||||
"nodePack": "invokeai",
|
||||
"label": "",
|
||||
"notes": "",
|
||||
"type": "l2i",
|
||||
"inputs": {
|
||||
"board": {
|
||||
"name": "board",
|
||||
"label": ""
|
||||
},
|
||||
"metadata": {
|
||||
"name": "metadata",
|
||||
"label": ""
|
||||
},
|
||||
"latents": {
|
||||
"name": "latents",
|
||||
"label": ""
|
||||
},
|
||||
"vae": {
|
||||
"name": "vae",
|
||||
"label": ""
|
||||
},
|
||||
"tiled": {
|
||||
"name": "tiled",
|
||||
"label": "",
|
||||
"value": false
|
||||
},
|
||||
"fp32": {
|
||||
"name": "fp32",
|
||||
"label": "",
|
||||
"value": false
|
||||
}
|
||||
},
|
||||
"isOpen": true,
|
||||
"isIntermediate": false,
|
||||
"useCache": true
|
||||
},
|
||||
"position": {
|
||||
"x": 2559.4751127537957,
|
||||
"y": 1246.6000376741406
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "5ca498a4-c8c8-4580-a396-0c984317205d",
|
||||
"type": "invocation",
|
||||
"data": {
|
||||
"id": "5ca498a4-c8c8-4580-a396-0c984317205d",
|
||||
"version": "1.0.2",
|
||||
"nodePack": "invokeai",
|
||||
"label": "",
|
||||
"notes": "",
|
||||
"type": "i2l",
|
||||
"inputs": {
|
||||
"image": {
|
||||
"name": "image",
|
||||
"label": ""
|
||||
},
|
||||
"vae": {
|
||||
"name": "vae",
|
||||
"label": ""
|
||||
},
|
||||
"tiled": {
|
||||
"name": "tiled",
|
||||
"label": "",
|
||||
"value": false
|
||||
},
|
||||
"fp32": {
|
||||
"name": "fp32",
|
||||
"label": "",
|
||||
"value": false
|
||||
}
|
||||
},
|
||||
"isOpen": false,
|
||||
"isIntermediate": true,
|
||||
"useCache": true
|
||||
},
|
||||
"position": {
|
||||
"x": 1650,
|
||||
"y": 1675
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "63b6ab7e-5b05-4d1b-a3b1-42d8e53ce16b",
|
||||
"type": "invocation",
|
||||
"data": {
|
||||
"id": "63b6ab7e-5b05-4d1b-a3b1-42d8e53ce16b",
|
||||
"version": "1.1.1",
|
||||
"nodePack": "invokeai",
|
||||
"label": "",
|
||||
"notes": "",
|
||||
"type": "compel",
|
||||
"inputs": {
|
||||
"prompt": {
|
||||
"name": "prompt",
|
||||
"label": "",
|
||||
"value": ""
|
||||
},
|
||||
"clip": {
|
||||
"name": "clip",
|
||||
"label": ""
|
||||
}
|
||||
},
|
||||
"isOpen": true,
|
||||
"isIntermediate": true,
|
||||
"useCache": true
|
||||
},
|
||||
"position": {
|
||||
"x": 1250,
|
||||
"y": 1200
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "eb8f6f8a-c7b1-4914-806e-045ee2717a35",
|
||||
"type": "invocation",
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
"name": "Face Detailer with IP-Adapter & Canny (See Note in Details)",
|
||||
"author": "kosmoskatten",
|
||||
"description": "A workflow to add detail to and improve faces. This workflow is most effective when used with a model that creates realistic outputs. ",
|
||||
"version": "2.0.0",
|
||||
"version": "2.1.0",
|
||||
"contact": "invoke@invoke.ai",
|
||||
"tags": "face detailer, IP-Adapter, Canny",
|
||||
"notes": "Set this image as the blur mask: https://i.imgur.com/Gxi61zP.png",
|
||||
@@ -37,16 +37,219 @@
|
||||
}
|
||||
],
|
||||
"meta": {
|
||||
"category": "default",
|
||||
"version": "3.0.0"
|
||||
"version": "3.0.0",
|
||||
"category": "default"
|
||||
},
|
||||
"nodes": [
|
||||
{
|
||||
"id": "44f2c190-eb03-460d-8d11-a94d13b33f19",
|
||||
"id": "c6359181-6479-40ec-bf3a-b7e8451683b8",
|
||||
"type": "invocation",
|
||||
"data": {
|
||||
"id": "44f2c190-eb03-460d-8d11-a94d13b33f19",
|
||||
"version": "1.1.1",
|
||||
"id": "c6359181-6479-40ec-bf3a-b7e8451683b8",
|
||||
"version": "1.0.3",
|
||||
"label": "",
|
||||
"notes": "",
|
||||
"type": "main_model_loader",
|
||||
"inputs": {
|
||||
"model": {
|
||||
"name": "model",
|
||||
"label": ""
|
||||
}
|
||||
},
|
||||
"isOpen": true,
|
||||
"isIntermediate": true,
|
||||
"useCache": true
|
||||
},
|
||||
"position": {
|
||||
"x": 2031.5518710051792,
|
||||
"y": -492.1742944307074
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "8fe598c6-d447-44fa-a165-4975af77d080",
|
||||
"type": "invocation",
|
||||
"data": {
|
||||
"id": "8fe598c6-d447-44fa-a165-4975af77d080",
|
||||
"version": "1.3.3",
|
||||
"nodePack": "invokeai",
|
||||
"label": "",
|
||||
"notes": "",
|
||||
"type": "canny_image_processor",
|
||||
"inputs": {
|
||||
"board": {
|
||||
"name": "board",
|
||||
"label": ""
|
||||
},
|
||||
"metadata": {
|
||||
"name": "metadata",
|
||||
"label": ""
|
||||
},
|
||||
"image": {
|
||||
"name": "image",
|
||||
"label": ""
|
||||
},
|
||||
"detect_resolution": {
|
||||
"name": "detect_resolution",
|
||||
"label": "",
|
||||
"value": 512
|
||||
},
|
||||
"image_resolution": {
|
||||
"name": "image_resolution",
|
||||
"label": "",
|
||||
"value": 512
|
||||
},
|
||||
"low_threshold": {
|
||||
"name": "low_threshold",
|
||||
"label": "",
|
||||
"value": 100
|
||||
},
|
||||
"high_threshold": {
|
||||
"name": "high_threshold",
|
||||
"label": "",
|
||||
"value": 200
|
||||
}
|
||||
},
|
||||
"isOpen": true,
|
||||
"isIntermediate": true,
|
||||
"useCache": true
|
||||
},
|
||||
"position": {
|
||||
"x": 3519.4131037388597,
|
||||
"y": 576.7946795840575
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "f60b6161-8f26-42f6-89ff-545e6011e501",
|
||||
"type": "invocation",
|
||||
"data": {
|
||||
"id": "f60b6161-8f26-42f6-89ff-545e6011e501",
|
||||
"version": "1.1.2",
|
||||
"nodePack": "invokeai",
|
||||
"label": "",
|
||||
"notes": "",
|
||||
"type": "controlnet",
|
||||
"inputs": {
|
||||
"image": {
|
||||
"name": "image",
|
||||
"label": ""
|
||||
},
|
||||
"control_model": {
|
||||
"name": "control_model",
|
||||
"label": "Control Model (select canny)",
|
||||
"value": {
|
||||
"key": "5bdaacf7-a7a3-4fb8-b394-cc0ffbb8941d",
|
||||
"hash": "blake3:260c7f8e10aefea9868cfc68d89970e91033bd37132b14b903e70ee05ebf530e",
|
||||
"name": "sd-controlnet-canny",
|
||||
"base": "sd-1",
|
||||
"type": "controlnet"
|
||||
}
|
||||
},
|
||||
"control_weight": {
|
||||
"name": "control_weight",
|
||||
"label": "",
|
||||
"value": 0.5
|
||||
},
|
||||
"begin_step_percent": {
|
||||
"name": "begin_step_percent",
|
||||
"label": "",
|
||||
"value": 0
|
||||
},
|
||||
"end_step_percent": {
|
||||
"name": "end_step_percent",
|
||||
"label": "",
|
||||
"value": 0.5
|
||||
},
|
||||
"control_mode": {
|
||||
"name": "control_mode",
|
||||
"label": "",
|
||||
"value": "balanced"
|
||||
},
|
||||
"resize_mode": {
|
||||
"name": "resize_mode",
|
||||
"label": "",
|
||||
"value": "just_resize"
|
||||
}
|
||||
},
|
||||
"isOpen": true,
|
||||
"isIntermediate": true,
|
||||
"useCache": true
|
||||
},
|
||||
"position": {
|
||||
"x": 3950,
|
||||
"y": 150
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "22b750db-b85e-486b-b278-ac983e329813",
|
||||
"type": "invocation",
|
||||
"data": {
|
||||
"id": "22b750db-b85e-486b-b278-ac983e329813",
|
||||
"version": "1.4.1",
|
||||
"nodePack": "invokeai",
|
||||
"label": "",
|
||||
"notes": "",
|
||||
"type": "ip_adapter",
|
||||
"inputs": {
|
||||
"image": {
|
||||
"name": "image",
|
||||
"label": ""
|
||||
},
|
||||
"ip_adapter_model": {
|
||||
"name": "ip_adapter_model",
|
||||
"label": "IP-Adapter Model (select IP Adapter Face)",
|
||||
"value": {
|
||||
"key": "1cc210bb-4d0a-4312-b36c-b5d46c43768e",
|
||||
"hash": "blake3:3d669dffa7471b357b4df088b99ffb6bf4d4383d5e0ef1de5ec1c89728a3d5a5",
|
||||
"name": "ip_adapter_sd15",
|
||||
"base": "sd-1",
|
||||
"type": "ip_adapter"
|
||||
}
|
||||
},
|
||||
"clip_vision_model": {
|
||||
"name": "clip_vision_model",
|
||||
"label": "",
|
||||
"value": "ViT-H"
|
||||
},
|
||||
"weight": {
|
||||
"name": "weight",
|
||||
"label": "",
|
||||
"value": 0.5
|
||||
},
|
||||
"method": {
|
||||
"name": "method",
|
||||
"label": "",
|
||||
"value": "full"
|
||||
},
|
||||
"begin_step_percent": {
|
||||
"name": "begin_step_percent",
|
||||
"label": "",
|
||||
"value": 0
|
||||
},
|
||||
"end_step_percent": {
|
||||
"name": "end_step_percent",
|
||||
"label": "",
|
||||
"value": 0.8
|
||||
},
|
||||
"mask": {
|
||||
"name": "mask",
|
||||
"label": ""
|
||||
}
|
||||
},
|
||||
"isOpen": true,
|
||||
"isIntermediate": true,
|
||||
"useCache": true
|
||||
},
|
||||
"position": {
|
||||
"x": 3575,
|
||||
"y": -200
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "f4d15b64-c4a6-42a5-90fc-e4ed07a0ca65",
|
||||
"type": "invocation",
|
||||
"data": {
|
||||
"id": "f4d15b64-c4a6-42a5-90fc-e4ed07a0ca65",
|
||||
"version": "1.2.0",
|
||||
"nodePack": "invokeai",
|
||||
"label": "",
|
||||
"notes": "",
|
||||
@@ -60,6 +263,140 @@
|
||||
"clip": {
|
||||
"name": "clip",
|
||||
"label": ""
|
||||
},
|
||||
"mask": {
|
||||
"name": "mask",
|
||||
"label": ""
|
||||
}
|
||||
},
|
||||
"isOpen": true,
|
||||
"isIntermediate": true,
|
||||
"useCache": true
|
||||
},
|
||||
"position": {
|
||||
"x": 2550,
|
||||
"y": -525
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "2224ed72-2453-4252-bd89-3085240e0b6f",
|
||||
"type": "invocation",
|
||||
"data": {
|
||||
"id": "2224ed72-2453-4252-bd89-3085240e0b6f",
|
||||
"version": "1.3.0",
|
||||
"nodePack": "invokeai",
|
||||
"label": "",
|
||||
"notes": "",
|
||||
"type": "l2i",
|
||||
"inputs": {
|
||||
"board": {
|
||||
"name": "board",
|
||||
"label": ""
|
||||
},
|
||||
"metadata": {
|
||||
"name": "metadata",
|
||||
"label": ""
|
||||
},
|
||||
"latents": {
|
||||
"name": "latents",
|
||||
"label": ""
|
||||
},
|
||||
"vae": {
|
||||
"name": "vae",
|
||||
"label": ""
|
||||
},
|
||||
"tiled": {
|
||||
"name": "tiled",
|
||||
"label": "",
|
||||
"value": false
|
||||
},
|
||||
"tile_size": {
|
||||
"name": "tile_size",
|
||||
"label": "",
|
||||
"value": 0
|
||||
},
|
||||
"fp32": {
|
||||
"name": "fp32",
|
||||
"label": "",
|
||||
"value": true
|
||||
}
|
||||
},
|
||||
"isOpen": true,
|
||||
"isIntermediate": false,
|
||||
"useCache": true
|
||||
},
|
||||
"position": {
|
||||
"x": 4980.1395106966565,
|
||||
"y": -255.9158921745602
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "de8b1a48-a2e4-42ca-90bb-66058bffd534",
|
||||
"type": "invocation",
|
||||
"data": {
|
||||
"id": "de8b1a48-a2e4-42ca-90bb-66058bffd534",
|
||||
"version": "1.1.0",
|
||||
"nodePack": "invokeai",
|
||||
"label": "",
|
||||
"notes": "",
|
||||
"type": "i2l",
|
||||
"inputs": {
|
||||
"image": {
|
||||
"name": "image",
|
||||
"label": ""
|
||||
},
|
||||
"vae": {
|
||||
"name": "vae",
|
||||
"label": ""
|
||||
},
|
||||
"tiled": {
|
||||
"name": "tiled",
|
||||
"label": "",
|
||||
"value": false
|
||||
},
|
||||
"tile_size": {
|
||||
"name": "tile_size",
|
||||
"label": "",
|
||||
"value": 0
|
||||
},
|
||||
"fp32": {
|
||||
"name": "fp32",
|
||||
"label": "",
|
||||
"value": true
|
||||
}
|
||||
},
|
||||
"isOpen": false,
|
||||
"isIntermediate": true,
|
||||
"useCache": true
|
||||
},
|
||||
"position": {
|
||||
"x": 3100,
|
||||
"y": -275
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "44f2c190-eb03-460d-8d11-a94d13b33f19",
|
||||
"type": "invocation",
|
||||
"data": {
|
||||
"id": "44f2c190-eb03-460d-8d11-a94d13b33f19",
|
||||
"version": "1.2.0",
|
||||
"nodePack": "invokeai",
|
||||
"label": "",
|
||||
"notes": "",
|
||||
"type": "compel",
|
||||
"inputs": {
|
||||
"prompt": {
|
||||
"name": "prompt",
|
||||
"label": "",
|
||||
"value": ""
|
||||
},
|
||||
"clip": {
|
||||
"name": "clip",
|
||||
"label": ""
|
||||
},
|
||||
"mask": {
|
||||
"name": "mask",
|
||||
"label": ""
|
||||
}
|
||||
},
|
||||
"isOpen": true,
|
||||
@@ -251,45 +588,6 @@
|
||||
"y": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "de8b1a48-a2e4-42ca-90bb-66058bffd534",
|
||||
"type": "invocation",
|
||||
"data": {
|
||||
"id": "de8b1a48-a2e4-42ca-90bb-66058bffd534",
|
||||
"version": "1.0.2",
|
||||
"nodePack": "invokeai",
|
||||
"label": "",
|
||||
"notes": "",
|
||||
"type": "i2l",
|
||||
"inputs": {
|
||||
"image": {
|
||||
"name": "image",
|
||||
"label": ""
|
||||
},
|
||||
"vae": {
|
||||
"name": "vae",
|
||||
"label": ""
|
||||
},
|
||||
"tiled": {
|
||||
"name": "tiled",
|
||||
"label": "",
|
||||
"value": false
|
||||
},
|
||||
"fp32": {
|
||||
"name": "fp32",
|
||||
"label": "",
|
||||
"value": true
|
||||
}
|
||||
},
|
||||
"isOpen": false,
|
||||
"isIntermediate": true,
|
||||
"useCache": true
|
||||
},
|
||||
"position": {
|
||||
"x": 3100,
|
||||
"y": -275
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "bd06261d-a74a-4d1f-8374-745ed6194bc2",
|
||||
"type": "invocation",
|
||||
@@ -418,53 +716,6 @@
|
||||
"y": -175
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "2224ed72-2453-4252-bd89-3085240e0b6f",
|
||||
"type": "invocation",
|
||||
"data": {
|
||||
"id": "2224ed72-2453-4252-bd89-3085240e0b6f",
|
||||
"version": "1.2.2",
|
||||
"nodePack": "invokeai",
|
||||
"label": "",
|
||||
"notes": "",
|
||||
"type": "l2i",
|
||||
"inputs": {
|
||||
"board": {
|
||||
"name": "board",
|
||||
"label": ""
|
||||
},
|
||||
"metadata": {
|
||||
"name": "metadata",
|
||||
"label": ""
|
||||
},
|
||||
"latents": {
|
||||
"name": "latents",
|
||||
"label": ""
|
||||
},
|
||||
"vae": {
|
||||
"name": "vae",
|
||||
"label": ""
|
||||
},
|
||||
"tiled": {
|
||||
"name": "tiled",
|
||||
"label": "",
|
||||
"value": false
|
||||
},
|
||||
"fp32": {
|
||||
"name": "fp32",
|
||||
"label": "",
|
||||
"value": true
|
||||
}
|
||||
},
|
||||
"isOpen": true,
|
||||
"isIntermediate": false,
|
||||
"useCache": true
|
||||
},
|
||||
"position": {
|
||||
"x": 4980.1395106966565,
|
||||
"y": -255.9158921745602
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "2974e5b3-3d41-4b6f-9953-cd21e8f3a323",
|
||||
"type": "invocation",
|
||||
@@ -692,201 +943,6 @@
|
||||
"y": -275
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "f4d15b64-c4a6-42a5-90fc-e4ed07a0ca65",
|
||||
"type": "invocation",
|
||||
"data": {
|
||||
"id": "f4d15b64-c4a6-42a5-90fc-e4ed07a0ca65",
|
||||
"version": "1.1.1",
|
||||
"nodePack": "invokeai",
|
||||
"label": "",
|
||||
"notes": "",
|
||||
"type": "compel",
|
||||
"inputs": {
|
||||
"prompt": {
|
||||
"name": "prompt",
|
||||
"label": "",
|
||||
"value": ""
|
||||
},
|
||||
"clip": {
|
||||
"name": "clip",
|
||||
"label": ""
|
||||
}
|
||||
},
|
||||
"isOpen": true,
|
||||
"isIntermediate": true,
|
||||
"useCache": true
|
||||
},
|
||||
"position": {
|
||||
"x": 2550,
|
||||
"y": -525
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "22b750db-b85e-486b-b278-ac983e329813",
|
||||
"type": "invocation",
|
||||
"data": {
|
||||
"id": "22b750db-b85e-486b-b278-ac983e329813",
|
||||
"version": "1.2.2",
|
||||
"nodePack": "invokeai",
|
||||
"label": "",
|
||||
"notes": "",
|
||||
"type": "ip_adapter",
|
||||
"inputs": {
|
||||
"image": {
|
||||
"name": "image",
|
||||
"label": ""
|
||||
},
|
||||
"ip_adapter_model": {
|
||||
"name": "ip_adapter_model",
|
||||
"label": "IP-Adapter Model (select IP Adapter Face)",
|
||||
"value": {
|
||||
"key": "1cc210bb-4d0a-4312-b36c-b5d46c43768e",
|
||||
"hash": "blake3:3d669dffa7471b357b4df088b99ffb6bf4d4383d5e0ef1de5ec1c89728a3d5a5",
|
||||
"name": "ip_adapter_sd15",
|
||||
"base": "sd-1",
|
||||
"type": "ip_adapter"
|
||||
}
|
||||
},
|
||||
"weight": {
|
||||
"name": "weight",
|
||||
"label": "",
|
||||
"value": 0.5
|
||||
},
|
||||
"begin_step_percent": {
|
||||
"name": "begin_step_percent",
|
||||
"label": "",
|
||||
"value": 0
|
||||
},
|
||||
"end_step_percent": {
|
||||
"name": "end_step_percent",
|
||||
"label": "",
|
||||
"value": 0.8
|
||||
}
|
||||
},
|
||||
"isOpen": true,
|
||||
"isIntermediate": true,
|
||||
"useCache": true
|
||||
},
|
||||
"position": {
|
||||
"x": 3575,
|
||||
"y": -200
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "f60b6161-8f26-42f6-89ff-545e6011e501",
|
||||
"type": "invocation",
|
||||
"data": {
|
||||
"id": "f60b6161-8f26-42f6-89ff-545e6011e501",
|
||||
"version": "1.1.1",
|
||||
"nodePack": "invokeai",
|
||||
"label": "",
|
||||
"notes": "",
|
||||
"type": "controlnet",
|
||||
"inputs": {
|
||||
"image": {
|
||||
"name": "image",
|
||||
"label": ""
|
||||
},
|
||||
"control_model": {
|
||||
"name": "control_model",
|
||||
"label": "Control Model (select canny)",
|
||||
"value": {
|
||||
"key": "5bdaacf7-a7a3-4fb8-b394-cc0ffbb8941d",
|
||||
"hash": "blake3:260c7f8e10aefea9868cfc68d89970e91033bd37132b14b903e70ee05ebf530e",
|
||||
"name": "sd-controlnet-canny",
|
||||
"base": "sd-1",
|
||||
"type": "controlnet"
|
||||
}
|
||||
},
|
||||
"control_weight": {
|
||||
"name": "control_weight",
|
||||
"label": "",
|
||||
"value": 0.5
|
||||
},
|
||||
"begin_step_percent": {
|
||||
"name": "begin_step_percent",
|
||||
"label": "",
|
||||
"value": 0
|
||||
},
|
||||
"end_step_percent": {
|
||||
"name": "end_step_percent",
|
||||
"label": "",
|
||||
"value": 0.5
|
||||
},
|
||||
"control_mode": {
|
||||
"name": "control_mode",
|
||||
"label": "",
|
||||
"value": "balanced"
|
||||
},
|
||||
"resize_mode": {
|
||||
"name": "resize_mode",
|
||||
"label": "",
|
||||
"value": "just_resize"
|
||||
}
|
||||
},
|
||||
"isOpen": true,
|
||||
"isIntermediate": true,
|
||||
"useCache": true
|
||||
},
|
||||
"position": {
|
||||
"x": 3950,
|
||||
"y": 150
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "8fe598c6-d447-44fa-a165-4975af77d080",
|
||||
"type": "invocation",
|
||||
"data": {
|
||||
"id": "8fe598c6-d447-44fa-a165-4975af77d080",
|
||||
"version": "1.3.2",
|
||||
"nodePack": "invokeai",
|
||||
"label": "",
|
||||
"notes": "",
|
||||
"type": "canny_image_processor",
|
||||
"inputs": {
|
||||
"board": {
|
||||
"name": "board",
|
||||
"label": ""
|
||||
},
|
||||
"metadata": {
|
||||
"name": "metadata",
|
||||
"label": ""
|
||||
},
|
||||
"image": {
|
||||
"name": "image",
|
||||
"label": ""
|
||||
},
|
||||
"detect_resolution": {
|
||||
"name": "detect_resolution",
|
||||
"label": "",
|
||||
"value": 512
|
||||
},
|
||||
"image_resolution": {
|
||||
"name": "image_resolution",
|
||||
"label": "",
|
||||
"value": 512
|
||||
},
|
||||
"low_threshold": {
|
||||
"name": "low_threshold",
|
||||
"label": "",
|
||||
"value": 100
|
||||
},
|
||||
"high_threshold": {
|
||||
"name": "high_threshold",
|
||||
"label": "",
|
||||
"value": 200
|
||||
}
|
||||
},
|
||||
"isOpen": true,
|
||||
"isIntermediate": true,
|
||||
"useCache": true
|
||||
},
|
||||
"position": {
|
||||
"x": 3519.4131037388597,
|
||||
"y": 576.7946795840575
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "4bd4ae80-567f-4366-b8c6-3bb06f4fb46a",
|
||||
"type": "invocation",
|
||||
@@ -1035,30 +1091,6 @@
|
||||
"x": 2578.2364832140506,
|
||||
"y": 78.7948456497351
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "c6359181-6479-40ec-bf3a-b7e8451683b8",
|
||||
"type": "invocation",
|
||||
"data": {
|
||||
"id": "c6359181-6479-40ec-bf3a-b7e8451683b8",
|
||||
"version": "1.0.2",
|
||||
"label": "",
|
||||
"notes": "",
|
||||
"type": "main_model_loader",
|
||||
"inputs": {
|
||||
"model": {
|
||||
"name": "model",
|
||||
"label": ""
|
||||
}
|
||||
},
|
||||
"isOpen": true,
|
||||
"isIntermediate": true,
|
||||
"useCache": true
|
||||
},
|
||||
"position": {
|
||||
"x": 2031.5518710051792,
|
||||
"y": -492.1742944307074
|
||||
}
|
||||
}
|
||||
],
|
||||
"edges": [
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
"name": "Multi ControlNet (Canny & Depth)",
|
||||
"author": "InvokeAI",
|
||||
"description": "A sample workflow using canny & depth ControlNets to guide the generation process. ",
|
||||
"version": "2.0.0",
|
||||
"version": "2.1.0",
|
||||
"contact": "invoke@invoke.ai",
|
||||
"tags": "ControlNet, canny, depth",
|
||||
"notes": "",
|
||||
@@ -37,140 +37,104 @@
|
||||
}
|
||||
],
|
||||
"meta": {
|
||||
"category": "default",
|
||||
"version": "3.0.0"
|
||||
"version": "3.0.0",
|
||||
"category": "default"
|
||||
},
|
||||
"nodes": [
|
||||
{
|
||||
"id": "8e860e51-5045-456e-bf04-9a62a2a5c49e",
|
||||
"id": "9db25398-c869-4a63-8815-c6559341ef12",
|
||||
"type": "invocation",
|
||||
"data": {
|
||||
"id": "8e860e51-5045-456e-bf04-9a62a2a5c49e",
|
||||
"version": "1.0.2",
|
||||
"id": "9db25398-c869-4a63-8815-c6559341ef12",
|
||||
"version": "1.3.0",
|
||||
"nodePack": "invokeai",
|
||||
"label": "",
|
||||
"notes": "",
|
||||
"type": "image",
|
||||
"type": "l2i",
|
||||
"inputs": {
|
||||
"image": {
|
||||
"name": "image",
|
||||
"label": "Depth Input Image"
|
||||
}
|
||||
},
|
||||
"isOpen": true,
|
||||
"isIntermediate": true,
|
||||
"useCache": true
|
||||
},
|
||||
"position": {
|
||||
"x": 3666.135718057363,
|
||||
"y": 186.66887319822808
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "a33199c2-8340-401e-b8a2-42ffa875fc1c",
|
||||
"type": "invocation",
|
||||
"data": {
|
||||
"id": "a33199c2-8340-401e-b8a2-42ffa875fc1c",
|
||||
"version": "1.1.1",
|
||||
"nodePack": "invokeai",
|
||||
"label": "",
|
||||
"notes": "",
|
||||
"type": "controlnet",
|
||||
"inputs": {
|
||||
"image": {
|
||||
"name": "image",
|
||||
"board": {
|
||||
"name": "board",
|
||||
"label": ""
|
||||
},
|
||||
"control_model": {
|
||||
"name": "control_model",
|
||||
"label": "Control Model (select depth)",
|
||||
"value": {
|
||||
"key": "87e8855c-671f-4c9e-bbbb-8ed47ccb4aac",
|
||||
"hash": "blake3:2550bf22a53942dfa28ab2fed9d10d80851112531f44d977168992edf9d0534c",
|
||||
"name": "control_v11f1p_sd15_depth",
|
||||
"base": "sd-1",
|
||||
"type": "controlnet"
|
||||
}
|
||||
"metadata": {
|
||||
"name": "metadata",
|
||||
"label": ""
|
||||
},
|
||||
"control_weight": {
|
||||
"name": "control_weight",
|
||||
"latents": {
|
||||
"name": "latents",
|
||||
"label": ""
|
||||
},
|
||||
"vae": {
|
||||
"name": "vae",
|
||||
"label": ""
|
||||
},
|
||||
"tiled": {
|
||||
"name": "tiled",
|
||||
"label": "",
|
||||
"value": 1
|
||||
"value": false
|
||||
},
|
||||
"begin_step_percent": {
|
||||
"name": "begin_step_percent",
|
||||
"tile_size": {
|
||||
"name": "tile_size",
|
||||
"label": "",
|
||||
"value": 0
|
||||
},
|
||||
"end_step_percent": {
|
||||
"name": "end_step_percent",
|
||||
"fp32": {
|
||||
"name": "fp32",
|
||||
"label": "",
|
||||
"value": 1
|
||||
},
|
||||
"control_mode": {
|
||||
"name": "control_mode",
|
||||
"label": "",
|
||||
"value": "balanced"
|
||||
},
|
||||
"resize_mode": {
|
||||
"name": "resize_mode",
|
||||
"label": "",
|
||||
"value": "just_resize"
|
||||
"value": false
|
||||
}
|
||||
},
|
||||
"isOpen": true,
|
||||
"isIntermediate": true,
|
||||
"isIntermediate": false,
|
||||
"useCache": true
|
||||
},
|
||||
"position": {
|
||||
"x": 4477.604342844504,
|
||||
"y": -49.39005411272677
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "273e3f96-49ea-4dc5-9d5b-9660390f14e1",
|
||||
"type": "invocation",
|
||||
"data": {
|
||||
"id": "273e3f96-49ea-4dc5-9d5b-9660390f14e1",
|
||||
"version": "1.1.1",
|
||||
"nodePack": "invokeai",
|
||||
"label": "",
|
||||
"notes": "",
|
||||
"type": "compel",
|
||||
"inputs": {
|
||||
"prompt": {
|
||||
"name": "prompt",
|
||||
"label": "Negative Prompt",
|
||||
"value": ""
|
||||
},
|
||||
"clip": {
|
||||
"name": "clip",
|
||||
"label": ""
|
||||
}
|
||||
},
|
||||
"isOpen": true,
|
||||
"isIntermediate": true,
|
||||
"useCache": true
|
||||
},
|
||||
"position": {
|
||||
"x": 4075,
|
||||
"x": 5675,
|
||||
"y": -825
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "54486974-835b-4d81-8f82-05f9f32ce9e9",
|
||||
"id": "c826ba5e-9676-4475-b260-07b85e88753c",
|
||||
"type": "invocation",
|
||||
"data": {
|
||||
"id": "54486974-835b-4d81-8f82-05f9f32ce9e9",
|
||||
"version": "1.0.2",
|
||||
"id": "c826ba5e-9676-4475-b260-07b85e88753c",
|
||||
"version": "1.3.3",
|
||||
"nodePack": "invokeai",
|
||||
"label": "",
|
||||
"notes": "",
|
||||
"type": "main_model_loader",
|
||||
"type": "canny_image_processor",
|
||||
"inputs": {
|
||||
"model": {
|
||||
"name": "model",
|
||||
"board": {
|
||||
"name": "board",
|
||||
"label": ""
|
||||
},
|
||||
"metadata": {
|
||||
"name": "metadata",
|
||||
"label": ""
|
||||
},
|
||||
"image": {
|
||||
"name": "image",
|
||||
"label": ""
|
||||
},
|
||||
"detect_resolution": {
|
||||
"name": "detect_resolution",
|
||||
"label": "",
|
||||
"value": 512
|
||||
},
|
||||
"image_resolution": {
|
||||
"name": "image_resolution",
|
||||
"label": "",
|
||||
"value": 512
|
||||
},
|
||||
"low_threshold": {
|
||||
"name": "low_threshold",
|
||||
"label": "",
|
||||
"value": 100
|
||||
},
|
||||
"high_threshold": {
|
||||
"name": "high_threshold",
|
||||
"label": "",
|
||||
"value": 200
|
||||
}
|
||||
},
|
||||
"isOpen": true,
|
||||
@@ -178,29 +142,52 @@
|
||||
"useCache": true
|
||||
},
|
||||
"position": {
|
||||
"x": 3600,
|
||||
"y": -1000
|
||||
"x": 4095.757337055795,
|
||||
"y": -455.63440891935863
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "7ce68934-3419-42d4-ac70-82cfc9397306",
|
||||
"id": "018b1214-c2af-43a7-9910-fb687c6726d7",
|
||||
"type": "invocation",
|
||||
"data": {
|
||||
"id": "7ce68934-3419-42d4-ac70-82cfc9397306",
|
||||
"version": "1.1.1",
|
||||
"id": "018b1214-c2af-43a7-9910-fb687c6726d7",
|
||||
"version": "1.2.4",
|
||||
"nodePack": "invokeai",
|
||||
"label": "",
|
||||
"notes": "",
|
||||
"type": "compel",
|
||||
"type": "midas_depth_image_processor",
|
||||
"inputs": {
|
||||
"prompt": {
|
||||
"name": "prompt",
|
||||
"label": "Positive Prompt",
|
||||
"value": ""
|
||||
},
|
||||
"clip": {
|
||||
"name": "clip",
|
||||
"board": {
|
||||
"name": "board",
|
||||
"label": ""
|
||||
},
|
||||
"metadata": {
|
||||
"name": "metadata",
|
||||
"label": ""
|
||||
},
|
||||
"image": {
|
||||
"name": "image",
|
||||
"label": ""
|
||||
},
|
||||
"a_mult": {
|
||||
"name": "a_mult",
|
||||
"label": "",
|
||||
"value": 2
|
||||
},
|
||||
"bg_th": {
|
||||
"name": "bg_th",
|
||||
"label": "",
|
||||
"value": 0.1
|
||||
},
|
||||
"detect_resolution": {
|
||||
"name": "detect_resolution",
|
||||
"label": "",
|
||||
"value": 512
|
||||
},
|
||||
"image_resolution": {
|
||||
"name": "image_resolution",
|
||||
"label": "",
|
||||
"value": 512
|
||||
}
|
||||
},
|
||||
"isOpen": true,
|
||||
@@ -208,8 +195,8 @@
|
||||
"useCache": true
|
||||
},
|
||||
"position": {
|
||||
"x": 4075,
|
||||
"y": -1125
|
||||
"x": 4082.783145980783,
|
||||
"y": 0.01629251229994111
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -217,7 +204,7 @@
|
||||
"type": "invocation",
|
||||
"data": {
|
||||
"id": "d204d184-f209-4fae-a0a1-d152800844e1",
|
||||
"version": "1.1.1",
|
||||
"version": "1.1.2",
|
||||
"nodePack": "invokeai",
|
||||
"label": "",
|
||||
"notes": "",
|
||||
@@ -273,6 +260,185 @@
|
||||
"y": -618.4221638099414
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "7ce68934-3419-42d4-ac70-82cfc9397306",
|
||||
"type": "invocation",
|
||||
"data": {
|
||||
"id": "7ce68934-3419-42d4-ac70-82cfc9397306",
|
||||
"version": "1.2.0",
|
||||
"nodePack": "invokeai",
|
||||
"label": "",
|
||||
"notes": "",
|
||||
"type": "compel",
|
||||
"inputs": {
|
||||
"prompt": {
|
||||
"name": "prompt",
|
||||
"label": "Positive Prompt",
|
||||
"value": ""
|
||||
},
|
||||
"clip": {
|
||||
"name": "clip",
|
||||
"label": ""
|
||||
},
|
||||
"mask": {
|
||||
"name": "mask",
|
||||
"label": ""
|
||||
}
|
||||
},
|
||||
"isOpen": true,
|
||||
"isIntermediate": true,
|
||||
"useCache": true
|
||||
},
|
||||
"position": {
|
||||
"x": 4075,
|
||||
"y": -1125
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "54486974-835b-4d81-8f82-05f9f32ce9e9",
|
||||
"type": "invocation",
|
||||
"data": {
|
||||
"id": "54486974-835b-4d81-8f82-05f9f32ce9e9",
|
||||
"version": "1.0.3",
|
||||
"nodePack": "invokeai",
|
||||
"label": "",
|
||||
"notes": "",
|
||||
"type": "main_model_loader",
|
||||
"inputs": {
|
||||
"model": {
|
||||
"name": "model",
|
||||
"label": ""
|
||||
}
|
||||
},
|
||||
"isOpen": true,
|
||||
"isIntermediate": true,
|
||||
"useCache": true
|
||||
},
|
||||
"position": {
|
||||
"x": 3600,
|
||||
"y": -1000
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "273e3f96-49ea-4dc5-9d5b-9660390f14e1",
|
||||
"type": "invocation",
|
||||
"data": {
|
||||
"id": "273e3f96-49ea-4dc5-9d5b-9660390f14e1",
|
||||
"version": "1.2.0",
|
||||
"nodePack": "invokeai",
|
||||
"label": "",
|
||||
"notes": "",
|
||||
"type": "compel",
|
||||
"inputs": {
|
||||
"prompt": {
|
||||
"name": "prompt",
|
||||
"label": "Negative Prompt",
|
||||
"value": ""
|
||||
},
|
||||
"clip": {
|
||||
"name": "clip",
|
||||
"label": ""
|
||||
},
|
||||
"mask": {
|
||||
"name": "mask",
|
||||
"label": ""
|
||||
}
|
||||
},
|
||||
"isOpen": true,
|
||||
"isIntermediate": true,
|
||||
"useCache": true
|
||||
},
|
||||
"position": {
|
||||
"x": 4075,
|
||||
"y": -825
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "a33199c2-8340-401e-b8a2-42ffa875fc1c",
|
||||
"type": "invocation",
|
||||
"data": {
|
||||
"id": "a33199c2-8340-401e-b8a2-42ffa875fc1c",
|
||||
"version": "1.1.2",
|
||||
"nodePack": "invokeai",
|
||||
"label": "",
|
||||
"notes": "",
|
||||
"type": "controlnet",
|
||||
"inputs": {
|
||||
"image": {
|
||||
"name": "image",
|
||||
"label": ""
|
||||
},
|
||||
"control_model": {
|
||||
"name": "control_model",
|
||||
"label": "Control Model (select depth)",
|
||||
"value": {
|
||||
"key": "87e8855c-671f-4c9e-bbbb-8ed47ccb4aac",
|
||||
"hash": "blake3:2550bf22a53942dfa28ab2fed9d10d80851112531f44d977168992edf9d0534c",
|
||||
"name": "control_v11f1p_sd15_depth",
|
||||
"base": "sd-1",
|
||||
"type": "controlnet"
|
||||
}
|
||||
},
|
||||
"control_weight": {
|
||||
"name": "control_weight",
|
||||
"label": "",
|
||||
"value": 1
|
||||
},
|
||||
"begin_step_percent": {
|
||||
"name": "begin_step_percent",
|
||||
"label": "",
|
||||
"value": 0
|
||||
},
|
||||
"end_step_percent": {
|
||||
"name": "end_step_percent",
|
||||
"label": "",
|
||||
"value": 1
|
||||
},
|
||||
"control_mode": {
|
||||
"name": "control_mode",
|
||||
"label": "",
|
||||
"value": "balanced"
|
||||
},
|
||||
"resize_mode": {
|
||||
"name": "resize_mode",
|
||||
"label": "",
|
||||
"value": "just_resize"
|
||||
}
|
||||
},
|
||||
"isOpen": true,
|
||||
"isIntermediate": true,
|
||||
"useCache": true
|
||||
},
|
||||
"position": {
|
||||
"x": 4477.604342844504,
|
||||
"y": -49.39005411272677
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "8e860e51-5045-456e-bf04-9a62a2a5c49e",
|
||||
"type": "invocation",
|
||||
"data": {
|
||||
"id": "8e860e51-5045-456e-bf04-9a62a2a5c49e",
|
||||
"version": "1.0.2",
|
||||
"nodePack": "invokeai",
|
||||
"label": "",
|
||||
"notes": "",
|
||||
"type": "image",
|
||||
"inputs": {
|
||||
"image": {
|
||||
"name": "image",
|
||||
"label": "Depth Input Image"
|
||||
}
|
||||
},
|
||||
"isOpen": true,
|
||||
"isIntermediate": true,
|
||||
"useCache": true
|
||||
},
|
||||
"position": {
|
||||
"x": 3666.135718057363,
|
||||
"y": 186.66887319822808
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "c4b23e64-7986-40c4-9cad-46327b12e204",
|
||||
"type": "invocation",
|
||||
@@ -322,159 +488,6 @@
|
||||
"y": -575
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "018b1214-c2af-43a7-9910-fb687c6726d7",
|
||||
"type": "invocation",
|
||||
"data": {
|
||||
"id": "018b1214-c2af-43a7-9910-fb687c6726d7",
|
||||
"version": "1.2.3",
|
||||
"nodePack": "invokeai",
|
||||
"label": "",
|
||||
"notes": "",
|
||||
"type": "midas_depth_image_processor",
|
||||
"inputs": {
|
||||
"board": {
|
||||
"name": "board",
|
||||
"label": ""
|
||||
},
|
||||
"metadata": {
|
||||
"name": "metadata",
|
||||
"label": ""
|
||||
},
|
||||
"image": {
|
||||
"name": "image",
|
||||
"label": ""
|
||||
},
|
||||
"a_mult": {
|
||||
"name": "a_mult",
|
||||
"label": "",
|
||||
"value": 2
|
||||
},
|
||||
"bg_th": {
|
||||
"name": "bg_th",
|
||||
"label": "",
|
||||
"value": 0.1
|
||||
},
|
||||
"detect_resolution": {
|
||||
"name": "detect_resolution",
|
||||
"label": "",
|
||||
"value": 512
|
||||
},
|
||||
"image_resolution": {
|
||||
"name": "image_resolution",
|
||||
"label": "",
|
||||
"value": 512
|
||||
}
|
||||
},
|
||||
"isOpen": true,
|
||||
"isIntermediate": true,
|
||||
"useCache": true
|
||||
},
|
||||
"position": {
|
||||
"x": 4082.783145980783,
|
||||
"y": 0.01629251229994111
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "c826ba5e-9676-4475-b260-07b85e88753c",
|
||||
"type": "invocation",
|
||||
"data": {
|
||||
"id": "c826ba5e-9676-4475-b260-07b85e88753c",
|
||||
"version": "1.3.2",
|
||||
"nodePack": "invokeai",
|
||||
"label": "",
|
||||
"notes": "",
|
||||
"type": "canny_image_processor",
|
||||
"inputs": {
|
||||
"board": {
|
||||
"name": "board",
|
||||
"label": ""
|
||||
},
|
||||
"metadata": {
|
||||
"name": "metadata",
|
||||
"label": ""
|
||||
},
|
||||
"image": {
|
||||
"name": "image",
|
||||
"label": ""
|
||||
},
|
||||
"detect_resolution": {
|
||||
"name": "detect_resolution",
|
||||
"label": "",
|
||||
"value": 512
|
||||
},
|
||||
"image_resolution": {
|
||||
"name": "image_resolution",
|
||||
"label": "",
|
||||
"value": 512
|
||||
},
|
||||
"low_threshold": {
|
||||
"name": "low_threshold",
|
||||
"label": "",
|
||||
"value": 100
|
||||
},
|
||||
"high_threshold": {
|
||||
"name": "high_threshold",
|
||||
"label": "",
|
||||
"value": 200
|
||||
}
|
||||
},
|
||||
"isOpen": true,
|
||||
"isIntermediate": true,
|
||||
"useCache": true
|
||||
},
|
||||
"position": {
|
||||
"x": 4095.757337055795,
|
||||
"y": -455.63440891935863
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "9db25398-c869-4a63-8815-c6559341ef12",
|
||||
"type": "invocation",
|
||||
"data": {
|
||||
"id": "9db25398-c869-4a63-8815-c6559341ef12",
|
||||
"version": "1.2.2",
|
||||
"nodePack": "invokeai",
|
||||
"label": "",
|
||||
"notes": "",
|
||||
"type": "l2i",
|
||||
"inputs": {
|
||||
"board": {
|
||||
"name": "board",
|
||||
"label": ""
|
||||
},
|
||||
"metadata": {
|
||||
"name": "metadata",
|
||||
"label": ""
|
||||
},
|
||||
"latents": {
|
||||
"name": "latents",
|
||||
"label": ""
|
||||
},
|
||||
"vae": {
|
||||
"name": "vae",
|
||||
"label": ""
|
||||
},
|
||||
"tiled": {
|
||||
"name": "tiled",
|
||||
"label": "",
|
||||
"value": false
|
||||
},
|
||||
"fp32": {
|
||||
"name": "fp32",
|
||||
"label": "",
|
||||
"value": false
|
||||
}
|
||||
},
|
||||
"isOpen": true,
|
||||
"isIntermediate": false,
|
||||
"useCache": true
|
||||
},
|
||||
"position": {
|
||||
"x": 5675,
|
||||
"y": -825
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "ac481b7f-08bf-4a9d-9e0c-3a82ea5243ce",
|
||||
"type": "invocation",
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -2,7 +2,7 @@
|
||||
"name": "Prompt from File",
|
||||
"author": "InvokeAI",
|
||||
"description": "Sample workflow using Prompt from File node",
|
||||
"version": "2.0.0",
|
||||
"version": "2.1.0",
|
||||
"contact": "invoke@invoke.ai",
|
||||
"tags": "text2image, prompt from file, default",
|
||||
"notes": "",
|
||||
@@ -37,16 +37,68 @@
|
||||
}
|
||||
],
|
||||
"meta": {
|
||||
"category": "default",
|
||||
"version": "3.0.0"
|
||||
"version": "3.0.0",
|
||||
"category": "default"
|
||||
},
|
||||
"nodes": [
|
||||
{
|
||||
"id": "c2eaf1ba-5708-4679-9e15-945b8b432692",
|
||||
"id": "491ec988-3c77-4c37-af8a-39a0c4e7a2a1",
|
||||
"type": "invocation",
|
||||
"data": {
|
||||
"id": "c2eaf1ba-5708-4679-9e15-945b8b432692",
|
||||
"version": "1.1.1",
|
||||
"id": "491ec988-3c77-4c37-af8a-39a0c4e7a2a1",
|
||||
"version": "1.3.0",
|
||||
"nodePack": "invokeai",
|
||||
"label": "",
|
||||
"notes": "",
|
||||
"type": "l2i",
|
||||
"inputs": {
|
||||
"board": {
|
||||
"name": "board",
|
||||
"label": ""
|
||||
},
|
||||
"metadata": {
|
||||
"name": "metadata",
|
||||
"label": ""
|
||||
},
|
||||
"latents": {
|
||||
"name": "latents",
|
||||
"label": ""
|
||||
},
|
||||
"vae": {
|
||||
"name": "vae",
|
||||
"label": ""
|
||||
},
|
||||
"tiled": {
|
||||
"name": "tiled",
|
||||
"label": "",
|
||||
"value": false
|
||||
},
|
||||
"tile_size": {
|
||||
"name": "tile_size",
|
||||
"label": "",
|
||||
"value": 0
|
||||
},
|
||||
"fp32": {
|
||||
"name": "fp32",
|
||||
"label": "",
|
||||
"value": false
|
||||
}
|
||||
},
|
||||
"isOpen": true,
|
||||
"isIntermediate": true,
|
||||
"useCache": true
|
||||
},
|
||||
"position": {
|
||||
"x": 2037.861329274915,
|
||||
"y": -329.8393457509562
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "fc9d0e35-a6de-4a19-84e1-c72497c823f6",
|
||||
"type": "invocation",
|
||||
"data": {
|
||||
"id": "fc9d0e35-a6de-4a19-84e1-c72497c823f6",
|
||||
"version": "1.2.0",
|
||||
"nodePack": "invokeai",
|
||||
"label": "",
|
||||
"notes": "",
|
||||
@@ -60,6 +112,69 @@
|
||||
"clip": {
|
||||
"name": "clip",
|
||||
"label": ""
|
||||
},
|
||||
"mask": {
|
||||
"name": "mask",
|
||||
"label": ""
|
||||
}
|
||||
},
|
||||
"isOpen": false,
|
||||
"isIntermediate": true,
|
||||
"useCache": true
|
||||
},
|
||||
"position": {
|
||||
"x": 925,
|
||||
"y": -275
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "d6353b7f-b447-4e17-8f2e-80a88c91d426",
|
||||
"type": "invocation",
|
||||
"data": {
|
||||
"id": "d6353b7f-b447-4e17-8f2e-80a88c91d426",
|
||||
"version": "1.0.3",
|
||||
"nodePack": "invokeai",
|
||||
"label": "",
|
||||
"notes": "",
|
||||
"type": "main_model_loader",
|
||||
"inputs": {
|
||||
"model": {
|
||||
"name": "model",
|
||||
"label": ""
|
||||
}
|
||||
},
|
||||
"isOpen": true,
|
||||
"isIntermediate": true,
|
||||
"useCache": true
|
||||
},
|
||||
"position": {
|
||||
"x": 0,
|
||||
"y": -375
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "c2eaf1ba-5708-4679-9e15-945b8b432692",
|
||||
"type": "invocation",
|
||||
"data": {
|
||||
"id": "c2eaf1ba-5708-4679-9e15-945b8b432692",
|
||||
"version": "1.2.0",
|
||||
"nodePack": "invokeai",
|
||||
"label": "",
|
||||
"notes": "",
|
||||
"type": "compel",
|
||||
"inputs": {
|
||||
"prompt": {
|
||||
"name": "prompt",
|
||||
"label": "",
|
||||
"value": ""
|
||||
},
|
||||
"clip": {
|
||||
"name": "clip",
|
||||
"label": ""
|
||||
},
|
||||
"mask": {
|
||||
"name": "mask",
|
||||
"label": ""
|
||||
}
|
||||
},
|
||||
"isOpen": false,
|
||||
@@ -141,61 +256,6 @@
|
||||
"y": -400
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "d6353b7f-b447-4e17-8f2e-80a88c91d426",
|
||||
"type": "invocation",
|
||||
"data": {
|
||||
"id": "d6353b7f-b447-4e17-8f2e-80a88c91d426",
|
||||
"version": "1.0.2",
|
||||
"nodePack": "invokeai",
|
||||
"label": "",
|
||||
"notes": "",
|
||||
"type": "main_model_loader",
|
||||
"inputs": {
|
||||
"model": {
|
||||
"name": "model",
|
||||
"label": ""
|
||||
}
|
||||
},
|
||||
"isOpen": true,
|
||||
"isIntermediate": true,
|
||||
"useCache": true
|
||||
},
|
||||
"position": {
|
||||
"x": 0,
|
||||
"y": -375
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "fc9d0e35-a6de-4a19-84e1-c72497c823f6",
|
||||
"type": "invocation",
|
||||
"data": {
|
||||
"id": "fc9d0e35-a6de-4a19-84e1-c72497c823f6",
|
||||
"version": "1.1.1",
|
||||
"nodePack": "invokeai",
|
||||
"label": "",
|
||||
"notes": "",
|
||||
"type": "compel",
|
||||
"inputs": {
|
||||
"prompt": {
|
||||
"name": "prompt",
|
||||
"label": "",
|
||||
"value": ""
|
||||
},
|
||||
"clip": {
|
||||
"name": "clip",
|
||||
"label": ""
|
||||
}
|
||||
},
|
||||
"isOpen": false,
|
||||
"isIntermediate": true,
|
||||
"useCache": true
|
||||
},
|
||||
"position": {
|
||||
"x": 925,
|
||||
"y": -275
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "0eb5f3f5-1b91-49eb-9ef0-41d67c7eae77",
|
||||
"type": "invocation",
|
||||
@@ -268,53 +328,6 @@
|
||||
"y": -50
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "491ec988-3c77-4c37-af8a-39a0c4e7a2a1",
|
||||
"type": "invocation",
|
||||
"data": {
|
||||
"id": "491ec988-3c77-4c37-af8a-39a0c4e7a2a1",
|
||||
"version": "1.2.2",
|
||||
"nodePack": "invokeai",
|
||||
"label": "",
|
||||
"notes": "",
|
||||
"type": "l2i",
|
||||
"inputs": {
|
||||
"board": {
|
||||
"name": "board",
|
||||
"label": ""
|
||||
},
|
||||
"metadata": {
|
||||
"name": "metadata",
|
||||
"label": ""
|
||||
},
|
||||
"latents": {
|
||||
"name": "latents",
|
||||
"label": ""
|
||||
},
|
||||
"vae": {
|
||||
"name": "vae",
|
||||
"label": ""
|
||||
},
|
||||
"tiled": {
|
||||
"name": "tiled",
|
||||
"label": "",
|
||||
"value": false
|
||||
},
|
||||
"fp32": {
|
||||
"name": "fp32",
|
||||
"label": "",
|
||||
"value": false
|
||||
}
|
||||
},
|
||||
"isOpen": true,
|
||||
"isIntermediate": true,
|
||||
"useCache": true
|
||||
},
|
||||
"position": {
|
||||
"x": 2037.861329274915,
|
||||
"y": -329.8393457509562
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "2fb1577f-0a56-4f12-8711-8afcaaaf1d5e",
|
||||
"type": "invocation",
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
"name": "Text to Image - SD1.5",
|
||||
"author": "InvokeAI",
|
||||
"description": "Sample text to image workflow for Stable Diffusion 1.5/2",
|
||||
"version": "2.0.0",
|
||||
"version": "2.1.0",
|
||||
"contact": "invoke@invoke.ai",
|
||||
"tags": "text2image, SD1.5, SD2, default",
|
||||
"notes": "",
|
||||
@@ -33,16 +33,127 @@
|
||||
}
|
||||
],
|
||||
"meta": {
|
||||
"category": "default",
|
||||
"version": "3.0.0"
|
||||
"version": "3.0.0",
|
||||
"category": "default"
|
||||
},
|
||||
"nodes": [
|
||||
{
|
||||
"id": "58c957f5-0d01-41fc-a803-b2bbf0413d4f",
|
||||
"type": "invocation",
|
||||
"data": {
|
||||
"id": "58c957f5-0d01-41fc-a803-b2bbf0413d4f",
|
||||
"version": "1.3.0",
|
||||
"nodePack": "invokeai",
|
||||
"label": "",
|
||||
"notes": "",
|
||||
"type": "l2i",
|
||||
"inputs": {
|
||||
"board": {
|
||||
"name": "board",
|
||||
"label": ""
|
||||
},
|
||||
"metadata": {
|
||||
"name": "metadata",
|
||||
"label": ""
|
||||
},
|
||||
"latents": {
|
||||
"name": "latents",
|
||||
"label": ""
|
||||
},
|
||||
"vae": {
|
||||
"name": "vae",
|
||||
"label": ""
|
||||
},
|
||||
"tiled": {
|
||||
"name": "tiled",
|
||||
"label": "",
|
||||
"value": false
|
||||
},
|
||||
"tile_size": {
|
||||
"name": "tile_size",
|
||||
"label": "",
|
||||
"value": 0
|
||||
},
|
||||
"fp32": {
|
||||
"name": "fp32",
|
||||
"label": "",
|
||||
"value": true
|
||||
}
|
||||
},
|
||||
"isOpen": true,
|
||||
"isIntermediate": false,
|
||||
"useCache": true
|
||||
},
|
||||
"position": {
|
||||
"x": 1800,
|
||||
"y": 25
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "7d8bf987-284f-413a-b2fd-d825445a5d6c",
|
||||
"type": "invocation",
|
||||
"data": {
|
||||
"id": "7d8bf987-284f-413a-b2fd-d825445a5d6c",
|
||||
"version": "1.2.0",
|
||||
"nodePack": "invokeai",
|
||||
"label": "Positive Compel Prompt",
|
||||
"notes": "",
|
||||
"type": "compel",
|
||||
"inputs": {
|
||||
"prompt": {
|
||||
"name": "prompt",
|
||||
"label": "Positive Prompt",
|
||||
"value": "Super cute tiger cub, national geographic award-winning photograph"
|
||||
},
|
||||
"clip": {
|
||||
"name": "clip",
|
||||
"label": ""
|
||||
},
|
||||
"mask": {
|
||||
"name": "mask",
|
||||
"label": ""
|
||||
}
|
||||
},
|
||||
"isOpen": true,
|
||||
"isIntermediate": true,
|
||||
"useCache": true
|
||||
},
|
||||
"position": {
|
||||
"x": 1000,
|
||||
"y": 25
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "c8d55139-f380-4695-b7f2-8b3d1e1e3db8",
|
||||
"type": "invocation",
|
||||
"data": {
|
||||
"id": "c8d55139-f380-4695-b7f2-8b3d1e1e3db8",
|
||||
"version": "1.0.3",
|
||||
"nodePack": "invokeai",
|
||||
"label": "",
|
||||
"notes": "",
|
||||
"type": "main_model_loader",
|
||||
"inputs": {
|
||||
"model": {
|
||||
"name": "model",
|
||||
"label": ""
|
||||
}
|
||||
},
|
||||
"isOpen": true,
|
||||
"isIntermediate": true,
|
||||
"useCache": true
|
||||
},
|
||||
"position": {
|
||||
"x": 600,
|
||||
"y": 25
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "93dc02a4-d05b-48ed-b99c-c9b616af3402",
|
||||
"type": "invocation",
|
||||
"data": {
|
||||
"id": "93dc02a4-d05b-48ed-b99c-c9b616af3402",
|
||||
"version": "1.1.1",
|
||||
"version": "1.2.0",
|
||||
"nodePack": "invokeai",
|
||||
"label": "Negative Compel Prompt",
|
||||
"notes": "",
|
||||
@@ -56,6 +167,10 @@
|
||||
"clip": {
|
||||
"name": "clip",
|
||||
"label": ""
|
||||
},
|
||||
"mask": {
|
||||
"name": "mask",
|
||||
"label": ""
|
||||
}
|
||||
},
|
||||
"isOpen": true,
|
||||
@@ -108,61 +223,6 @@
|
||||
"y": 325
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "c8d55139-f380-4695-b7f2-8b3d1e1e3db8",
|
||||
"type": "invocation",
|
||||
"data": {
|
||||
"id": "c8d55139-f380-4695-b7f2-8b3d1e1e3db8",
|
||||
"version": "1.0.2",
|
||||
"nodePack": "invokeai",
|
||||
"label": "",
|
||||
"notes": "",
|
||||
"type": "main_model_loader",
|
||||
"inputs": {
|
||||
"model": {
|
||||
"name": "model",
|
||||
"label": ""
|
||||
}
|
||||
},
|
||||
"isOpen": true,
|
||||
"isIntermediate": true,
|
||||
"useCache": true
|
||||
},
|
||||
"position": {
|
||||
"x": 600,
|
||||
"y": 25
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "7d8bf987-284f-413a-b2fd-d825445a5d6c",
|
||||
"type": "invocation",
|
||||
"data": {
|
||||
"id": "7d8bf987-284f-413a-b2fd-d825445a5d6c",
|
||||
"version": "1.1.1",
|
||||
"nodePack": "invokeai",
|
||||
"label": "Positive Compel Prompt",
|
||||
"notes": "",
|
||||
"type": "compel",
|
||||
"inputs": {
|
||||
"prompt": {
|
||||
"name": "prompt",
|
||||
"label": "Positive Prompt",
|
||||
"value": "Super cute tiger cub, national geographic award-winning photograph"
|
||||
},
|
||||
"clip": {
|
||||
"name": "clip",
|
||||
"label": ""
|
||||
}
|
||||
},
|
||||
"isOpen": true,
|
||||
"isIntermediate": true,
|
||||
"useCache": true
|
||||
},
|
||||
"position": {
|
||||
"x": 1000,
|
||||
"y": 25
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "ea94bc37-d995-4a83-aa99-4af42479f2f2",
|
||||
"type": "invocation",
|
||||
@@ -280,53 +340,6 @@
|
||||
"x": 1400,
|
||||
"y": 25
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "58c957f5-0d01-41fc-a803-b2bbf0413d4f",
|
||||
"type": "invocation",
|
||||
"data": {
|
||||
"id": "58c957f5-0d01-41fc-a803-b2bbf0413d4f",
|
||||
"version": "1.2.2",
|
||||
"nodePack": "invokeai",
|
||||
"label": "",
|
||||
"notes": "",
|
||||
"type": "l2i",
|
||||
"inputs": {
|
||||
"board": {
|
||||
"name": "board",
|
||||
"label": ""
|
||||
},
|
||||
"metadata": {
|
||||
"name": "metadata",
|
||||
"label": ""
|
||||
},
|
||||
"latents": {
|
||||
"name": "latents",
|
||||
"label": ""
|
||||
},
|
||||
"vae": {
|
||||
"name": "vae",
|
||||
"label": ""
|
||||
},
|
||||
"tiled": {
|
||||
"name": "tiled",
|
||||
"label": "",
|
||||
"value": false
|
||||
},
|
||||
"fp32": {
|
||||
"name": "fp32",
|
||||
"label": "",
|
||||
"value": true
|
||||
}
|
||||
},
|
||||
"isOpen": true,
|
||||
"isIntermediate": false,
|
||||
"useCache": true
|
||||
},
|
||||
"position": {
|
||||
"x": 1800,
|
||||
"y": 25
|
||||
}
|
||||
}
|
||||
],
|
||||
"edges": [
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
"name": "Text to Image - SDXL",
|
||||
"author": "InvokeAI",
|
||||
"description": "Sample text to image workflow for SDXL",
|
||||
"version": "2.0.0",
|
||||
"version": "2.1.0",
|
||||
"contact": "invoke@invoke.ai",
|
||||
"tags": "text2image, SDXL, default",
|
||||
"notes": "",
|
||||
@@ -29,10 +29,271 @@
|
||||
}
|
||||
],
|
||||
"meta": {
|
||||
"category": "default",
|
||||
"version": "3.0.0"
|
||||
"version": "3.0.0",
|
||||
"category": "default"
|
||||
},
|
||||
"nodes": [
|
||||
{
|
||||
"id": "0093692f-9cf4-454d-a5b8-62f0e3eb3bb8",
|
||||
"type": "invocation",
|
||||
"data": {
|
||||
"id": "0093692f-9cf4-454d-a5b8-62f0e3eb3bb8",
|
||||
"version": "1.0.3",
|
||||
"label": "",
|
||||
"notes": "",
|
||||
"type": "vae_loader",
|
||||
"inputs": {
|
||||
"vae_model": {
|
||||
"name": "vae_model",
|
||||
"label": "VAE (use the FP16 model)",
|
||||
"value": {
|
||||
"key": "f20f9e5c-1bce-4c46-a84d-34ebfa7df069",
|
||||
"hash": "blake3:9705ab1c31fa96b308734214fb7571a958621c7a9247eed82b7d277145f8d9fa",
|
||||
"name": "sdxl-vae-fp16-fix",
|
||||
"base": "sdxl",
|
||||
"type": "vae"
|
||||
}
|
||||
}
|
||||
},
|
||||
"isOpen": true,
|
||||
"isIntermediate": true,
|
||||
"useCache": true
|
||||
},
|
||||
"position": {
|
||||
"x": 375,
|
||||
"y": -225
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "63e91020-83b2-4f35-b174-ad9692aabb48",
|
||||
"type": "invocation",
|
||||
"data": {
|
||||
"id": "63e91020-83b2-4f35-b174-ad9692aabb48",
|
||||
"version": "1.3.0",
|
||||
"nodePack": "invokeai",
|
||||
"label": "",
|
||||
"notes": "",
|
||||
"type": "l2i",
|
||||
"inputs": {
|
||||
"board": {
|
||||
"name": "board",
|
||||
"label": ""
|
||||
},
|
||||
"metadata": {
|
||||
"name": "metadata",
|
||||
"label": ""
|
||||
},
|
||||
"latents": {
|
||||
"name": "latents",
|
||||
"label": ""
|
||||
},
|
||||
"vae": {
|
||||
"name": "vae",
|
||||
"label": ""
|
||||
},
|
||||
"tiled": {
|
||||
"name": "tiled",
|
||||
"label": "",
|
||||
"value": false
|
||||
},
|
||||
"tile_size": {
|
||||
"name": "tile_size",
|
||||
"label": "",
|
||||
"value": 0
|
||||
},
|
||||
"fp32": {
|
||||
"name": "fp32",
|
||||
"label": "",
|
||||
"value": false
|
||||
}
|
||||
},
|
||||
"isOpen": true,
|
||||
"isIntermediate": false,
|
||||
"useCache": false
|
||||
},
|
||||
"position": {
|
||||
"x": 1475,
|
||||
"y": -500
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "faf965a4-7530-427b-b1f3-4ba6505c2a08",
|
||||
"type": "invocation",
|
||||
"data": {
|
||||
"id": "faf965a4-7530-427b-b1f3-4ba6505c2a08",
|
||||
"version": "1.2.0",
|
||||
"nodePack": "invokeai",
|
||||
"label": "SDXL Positive Compel Prompt",
|
||||
"notes": "",
|
||||
"type": "sdxl_compel_prompt",
|
||||
"inputs": {
|
||||
"prompt": {
|
||||
"name": "prompt",
|
||||
"label": "Positive Prompt",
|
||||
"value": ""
|
||||
},
|
||||
"style": {
|
||||
"name": "style",
|
||||
"label": "Positive Style",
|
||||
"value": ""
|
||||
},
|
||||
"original_width": {
|
||||
"name": "original_width",
|
||||
"label": "",
|
||||
"value": 1024
|
||||
},
|
||||
"original_height": {
|
||||
"name": "original_height",
|
||||
"label": "",
|
||||
"value": 1024
|
||||
},
|
||||
"crop_top": {
|
||||
"name": "crop_top",
|
||||
"label": "",
|
||||
"value": 0
|
||||
},
|
||||
"crop_left": {
|
||||
"name": "crop_left",
|
||||
"label": "",
|
||||
"value": 0
|
||||
},
|
||||
"target_width": {
|
||||
"name": "target_width",
|
||||
"label": "",
|
||||
"value": 1024
|
||||
},
|
||||
"target_height": {
|
||||
"name": "target_height",
|
||||
"label": "",
|
||||
"value": 1024
|
||||
},
|
||||
"clip": {
|
||||
"name": "clip",
|
||||
"label": ""
|
||||
},
|
||||
"clip2": {
|
||||
"name": "clip2",
|
||||
"label": ""
|
||||
},
|
||||
"mask": {
|
||||
"name": "mask",
|
||||
"label": ""
|
||||
}
|
||||
},
|
||||
"isOpen": false,
|
||||
"isIntermediate": true,
|
||||
"useCache": true
|
||||
},
|
||||
"position": {
|
||||
"x": 750,
|
||||
"y": -175
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "30d3289c-773c-4152-a9d2-bd8a99c8fd22",
|
||||
"type": "invocation",
|
||||
"data": {
|
||||
"id": "30d3289c-773c-4152-a9d2-bd8a99c8fd22",
|
||||
"version": "1.0.3",
|
||||
"nodePack": "invokeai",
|
||||
"label": "",
|
||||
"notes": "",
|
||||
"type": "sdxl_model_loader",
|
||||
"inputs": {
|
||||
"model": {
|
||||
"name": "model",
|
||||
"label": "",
|
||||
"value": {
|
||||
"key": "4a63b226-e8ff-4da4-854e-0b9f04b562ba",
|
||||
"hash": "blake3:d279309ea6e5ee6e8fd52504275865cc280dac71cbf528c5b07c98b888bddaba",
|
||||
"name": "dreamshaper-xl-v2-turbo",
|
||||
"base": "sdxl",
|
||||
"type": "main"
|
||||
}
|
||||
}
|
||||
},
|
||||
"isOpen": true,
|
||||
"isIntermediate": true,
|
||||
"useCache": true
|
||||
},
|
||||
"position": {
|
||||
"x": 375,
|
||||
"y": -500
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "3193ad09-a7c2-4bf4-a3a9-1c61cc33a204",
|
||||
"type": "invocation",
|
||||
"data": {
|
||||
"id": "3193ad09-a7c2-4bf4-a3a9-1c61cc33a204",
|
||||
"version": "1.2.0",
|
||||
"nodePack": "invokeai",
|
||||
"label": "SDXL Negative Compel Prompt",
|
||||
"notes": "",
|
||||
"type": "sdxl_compel_prompt",
|
||||
"inputs": {
|
||||
"prompt": {
|
||||
"name": "prompt",
|
||||
"label": "Negative Prompt",
|
||||
"value": ""
|
||||
},
|
||||
"style": {
|
||||
"name": "style",
|
||||
"label": "Negative Style",
|
||||
"value": ""
|
||||
},
|
||||
"original_width": {
|
||||
"name": "original_width",
|
||||
"label": "",
|
||||
"value": 1024
|
||||
},
|
||||
"original_height": {
|
||||
"name": "original_height",
|
||||
"label": "",
|
||||
"value": 1024
|
||||
},
|
||||
"crop_top": {
|
||||
"name": "crop_top",
|
||||
"label": "",
|
||||
"value": 0
|
||||
},
|
||||
"crop_left": {
|
||||
"name": "crop_left",
|
||||
"label": "",
|
||||
"value": 0
|
||||
},
|
||||
"target_width": {
|
||||
"name": "target_width",
|
||||
"label": "",
|
||||
"value": 1024
|
||||
},
|
||||
"target_height": {
|
||||
"name": "target_height",
|
||||
"label": "",
|
||||
"value": 1024
|
||||
},
|
||||
"clip": {
|
||||
"name": "clip",
|
||||
"label": ""
|
||||
},
|
||||
"clip2": {
|
||||
"name": "clip2",
|
||||
"label": ""
|
||||
},
|
||||
"mask": {
|
||||
"name": "mask",
|
||||
"label": ""
|
||||
}
|
||||
},
|
||||
"isOpen": false,
|
||||
"isIntermediate": true,
|
||||
"useCache": true
|
||||
},
|
||||
"position": {
|
||||
"x": 750,
|
||||
"y": 200
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "3774ec24-a69e-4254-864c-097d07a6256f",
|
||||
"type": "invocation",
|
||||
@@ -88,75 +349,6 @@
|
||||
"y": -125
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "3193ad09-a7c2-4bf4-a3a9-1c61cc33a204",
|
||||
"type": "invocation",
|
||||
"data": {
|
||||
"id": "3193ad09-a7c2-4bf4-a3a9-1c61cc33a204",
|
||||
"version": "1.1.1",
|
||||
"nodePack": "invokeai",
|
||||
"label": "SDXL Negative Compel Prompt",
|
||||
"notes": "",
|
||||
"type": "sdxl_compel_prompt",
|
||||
"inputs": {
|
||||
"prompt": {
|
||||
"name": "prompt",
|
||||
"label": "Negative Prompt",
|
||||
"value": ""
|
||||
},
|
||||
"style": {
|
||||
"name": "style",
|
||||
"label": "Negative Style",
|
||||
"value": ""
|
||||
},
|
||||
"original_width": {
|
||||
"name": "original_width",
|
||||
"label": "",
|
||||
"value": 1024
|
||||
},
|
||||
"original_height": {
|
||||
"name": "original_height",
|
||||
"label": "",
|
||||
"value": 1024
|
||||
},
|
||||
"crop_top": {
|
||||
"name": "crop_top",
|
||||
"label": "",
|
||||
"value": 0
|
||||
},
|
||||
"crop_left": {
|
||||
"name": "crop_left",
|
||||
"label": "",
|
||||
"value": 0
|
||||
},
|
||||
"target_width": {
|
||||
"name": "target_width",
|
||||
"label": "",
|
||||
"value": 1024
|
||||
},
|
||||
"target_height": {
|
||||
"name": "target_height",
|
||||
"label": "",
|
||||
"value": 1024
|
||||
},
|
||||
"clip": {
|
||||
"name": "clip",
|
||||
"label": ""
|
||||
},
|
||||
"clip2": {
|
||||
"name": "clip2",
|
||||
"label": ""
|
||||
}
|
||||
},
|
||||
"isOpen": false,
|
||||
"isIntermediate": true,
|
||||
"useCache": true
|
||||
},
|
||||
"position": {
|
||||
"x": 750,
|
||||
"y": 200
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "55705012-79b9-4aac-9f26-c0b10309785b",
|
||||
"type": "invocation",
|
||||
@@ -229,154 +421,6 @@
|
||||
"y": -50
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "30d3289c-773c-4152-a9d2-bd8a99c8fd22",
|
||||
"type": "invocation",
|
||||
"data": {
|
||||
"id": "30d3289c-773c-4152-a9d2-bd8a99c8fd22",
|
||||
"version": "1.0.2",
|
||||
"nodePack": "invokeai",
|
||||
"label": "",
|
||||
"notes": "",
|
||||
"type": "sdxl_model_loader",
|
||||
"inputs": {
|
||||
"model": {
|
||||
"name": "model",
|
||||
"label": "",
|
||||
"value": {
|
||||
"key": "4a63b226-e8ff-4da4-854e-0b9f04b562ba",
|
||||
"hash": "blake3:d279309ea6e5ee6e8fd52504275865cc280dac71cbf528c5b07c98b888bddaba",
|
||||
"name": "dreamshaper-xl-v2-turbo",
|
||||
"base": "sdxl",
|
||||
"type": "main"
|
||||
}
|
||||
}
|
||||
},
|
||||
"isOpen": true,
|
||||
"isIntermediate": true,
|
||||
"useCache": true
|
||||
},
|
||||
"position": {
|
||||
"x": 375,
|
||||
"y": -500
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "faf965a4-7530-427b-b1f3-4ba6505c2a08",
|
||||
"type": "invocation",
|
||||
"data": {
|
||||
"id": "faf965a4-7530-427b-b1f3-4ba6505c2a08",
|
||||
"version": "1.1.1",
|
||||
"nodePack": "invokeai",
|
||||
"label": "SDXL Positive Compel Prompt",
|
||||
"notes": "",
|
||||
"type": "sdxl_compel_prompt",
|
||||
"inputs": {
|
||||
"prompt": {
|
||||
"name": "prompt",
|
||||
"label": "Positive Prompt",
|
||||
"value": ""
|
||||
},
|
||||
"style": {
|
||||
"name": "style",
|
||||
"label": "Positive Style",
|
||||
"value": ""
|
||||
},
|
||||
"original_width": {
|
||||
"name": "original_width",
|
||||
"label": "",
|
||||
"value": 1024
|
||||
},
|
||||
"original_height": {
|
||||
"name": "original_height",
|
||||
"label": "",
|
||||
"value": 1024
|
||||
},
|
||||
"crop_top": {
|
||||
"name": "crop_top",
|
||||
"label": "",
|
||||
"value": 0
|
||||
},
|
||||
"crop_left": {
|
||||
"name": "crop_left",
|
||||
"label": "",
|
||||
"value": 0
|
||||
},
|
||||
"target_width": {
|
||||
"name": "target_width",
|
||||
"label": "",
|
||||
"value": 1024
|
||||
},
|
||||
"target_height": {
|
||||
"name": "target_height",
|
||||
"label": "",
|
||||
"value": 1024
|
||||
},
|
||||
"clip": {
|
||||
"name": "clip",
|
||||
"label": ""
|
||||
},
|
||||
"clip2": {
|
||||
"name": "clip2",
|
||||
"label": ""
|
||||
}
|
||||
},
|
||||
"isOpen": false,
|
||||
"isIntermediate": true,
|
||||
"useCache": true
|
||||
},
|
||||
"position": {
|
||||
"x": 750,
|
||||
"y": -175
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "63e91020-83b2-4f35-b174-ad9692aabb48",
|
||||
"type": "invocation",
|
||||
"data": {
|
||||
"id": "63e91020-83b2-4f35-b174-ad9692aabb48",
|
||||
"version": "1.2.2",
|
||||
"nodePack": "invokeai",
|
||||
"label": "",
|
||||
"notes": "",
|
||||
"type": "l2i",
|
||||
"inputs": {
|
||||
"board": {
|
||||
"name": "board",
|
||||
"label": ""
|
||||
},
|
||||
"metadata": {
|
||||
"name": "metadata",
|
||||
"label": ""
|
||||
},
|
||||
"latents": {
|
||||
"name": "latents",
|
||||
"label": ""
|
||||
},
|
||||
"vae": {
|
||||
"name": "vae",
|
||||
"label": ""
|
||||
},
|
||||
"tiled": {
|
||||
"name": "tiled",
|
||||
"label": "",
|
||||
"value": false
|
||||
},
|
||||
"fp32": {
|
||||
"name": "fp32",
|
||||
"label": "",
|
||||
"value": false
|
||||
}
|
||||
},
|
||||
"isOpen": true,
|
||||
"isIntermediate": false,
|
||||
"useCache": false
|
||||
},
|
||||
"position": {
|
||||
"x": 1475,
|
||||
"y": -500
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "50a36525-3c0a-4cc5-977c-e4bfc3fd6dfb",
|
||||
"type": "invocation",
|
||||
@@ -464,37 +508,6 @@
|
||||
"y": -500
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "0093692f-9cf4-454d-a5b8-62f0e3eb3bb8",
|
||||
"type": "invocation",
|
||||
"data": {
|
||||
"id": "0093692f-9cf4-454d-a5b8-62f0e3eb3bb8",
|
||||
"version": "1.0.2",
|
||||
"label": "",
|
||||
"notes": "",
|
||||
"type": "vae_loader",
|
||||
"inputs": {
|
||||
"vae_model": {
|
||||
"name": "vae_model",
|
||||
"label": "VAE (use the FP16 model)",
|
||||
"value": {
|
||||
"key": "f20f9e5c-1bce-4c46-a84d-34ebfa7df069",
|
||||
"hash": "blake3:9705ab1c31fa96b308734214fb7571a958621c7a9247eed82b7d277145f8d9fa",
|
||||
"name": "sdxl-vae-fp16-fix",
|
||||
"base": "sdxl",
|
||||
"type": "vae"
|
||||
}
|
||||
}
|
||||
},
|
||||
"isOpen": true,
|
||||
"isIntermediate": true,
|
||||
"useCache": true
|
||||
},
|
||||
"position": {
|
||||
"x": 375,
|
||||
"y": -225
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "ade2c0d3-0384-4157-b39b-29ce429cfa15",
|
||||
"type": "invocation",
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
"name": "Text to Image with LoRA",
|
||||
"author": "InvokeAI",
|
||||
"description": "Simple text to image workflow with a LoRA",
|
||||
"version": "2.0.0",
|
||||
"version": "2.1.0",
|
||||
"contact": "invoke@invoke.ai",
|
||||
"tags": "text to image, lora, default",
|
||||
"notes": "",
|
||||
@@ -37,28 +37,83 @@
|
||||
}
|
||||
],
|
||||
"meta": {
|
||||
"category": "default",
|
||||
"version": "3.0.0"
|
||||
"version": "3.0.0",
|
||||
"category": "default"
|
||||
},
|
||||
"nodes": [
|
||||
{
|
||||
"id": "85b77bb2-c67a-416a-b3e8-291abe746c44",
|
||||
"id": "a9683c0a-6b1f-4a5e-8187-c57e764b3400",
|
||||
"type": "invocation",
|
||||
"data": {
|
||||
"id": "85b77bb2-c67a-416a-b3e8-291abe746c44",
|
||||
"version": "1.1.1",
|
||||
"id": "a9683c0a-6b1f-4a5e-8187-c57e764b3400",
|
||||
"version": "1.3.0",
|
||||
"label": "",
|
||||
"notes": "",
|
||||
"type": "l2i",
|
||||
"inputs": {
|
||||
"board": {
|
||||
"name": "board",
|
||||
"label": ""
|
||||
},
|
||||
"metadata": {
|
||||
"name": "metadata",
|
||||
"label": ""
|
||||
},
|
||||
"latents": {
|
||||
"name": "latents",
|
||||
"label": ""
|
||||
},
|
||||
"vae": {
|
||||
"name": "vae",
|
||||
"label": ""
|
||||
},
|
||||
"tiled": {
|
||||
"name": "tiled",
|
||||
"label": "",
|
||||
"value": false
|
||||
},
|
||||
"tile_size": {
|
||||
"name": "tile_size",
|
||||
"label": "",
|
||||
"value": 0
|
||||
},
|
||||
"fp32": {
|
||||
"name": "fp32",
|
||||
"label": "",
|
||||
"value": false
|
||||
}
|
||||
},
|
||||
"isOpen": true,
|
||||
"isIntermediate": false,
|
||||
"useCache": true
|
||||
},
|
||||
"position": {
|
||||
"x": 4450,
|
||||
"y": -550
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "c3fa6872-2599-4a82-a596-b3446a66cf8b",
|
||||
"type": "invocation",
|
||||
"data": {
|
||||
"id": "c3fa6872-2599-4a82-a596-b3446a66cf8b",
|
||||
"version": "1.2.0",
|
||||
"label": "",
|
||||
"notes": "",
|
||||
"type": "compel",
|
||||
"inputs": {
|
||||
"prompt": {
|
||||
"name": "prompt",
|
||||
"label": "Negative Prompt",
|
||||
"value": ""
|
||||
"label": "Positive Prompt",
|
||||
"value": "super cute tiger cub"
|
||||
},
|
||||
"clip": {
|
||||
"name": "clip",
|
||||
"label": ""
|
||||
},
|
||||
"mask": {
|
||||
"name": "mask",
|
||||
"label": ""
|
||||
}
|
||||
},
|
||||
"isOpen": true,
|
||||
@@ -67,31 +122,7 @@
|
||||
},
|
||||
"position": {
|
||||
"x": 3425,
|
||||
"y": -300
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "24e9d7ed-4836-4ec4-8f9e-e747721f9818",
|
||||
"type": "invocation",
|
||||
"data": {
|
||||
"id": "24e9d7ed-4836-4ec4-8f9e-e747721f9818",
|
||||
"version": "1.0.2",
|
||||
"label": "",
|
||||
"notes": "",
|
||||
"type": "main_model_loader",
|
||||
"inputs": {
|
||||
"model": {
|
||||
"name": "model",
|
||||
"label": ""
|
||||
}
|
||||
},
|
||||
"isOpen": true,
|
||||
"isIntermediate": true,
|
||||
"useCache": true
|
||||
},
|
||||
"position": {
|
||||
"x": 2500,
|
||||
"y": -600
|
||||
"y": -575
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -99,7 +130,7 @@
|
||||
"type": "invocation",
|
||||
"data": {
|
||||
"id": "c41e705b-f2e3-4d1a-83c4-e34bb9344966",
|
||||
"version": "1.0.2",
|
||||
"version": "1.0.3",
|
||||
"label": "",
|
||||
"notes": "",
|
||||
"type": "lora_loader",
|
||||
@@ -132,23 +163,51 @@
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "c3fa6872-2599-4a82-a596-b3446a66cf8b",
|
||||
"id": "24e9d7ed-4836-4ec4-8f9e-e747721f9818",
|
||||
"type": "invocation",
|
||||
"data": {
|
||||
"id": "c3fa6872-2599-4a82-a596-b3446a66cf8b",
|
||||
"version": "1.1.1",
|
||||
"id": "24e9d7ed-4836-4ec4-8f9e-e747721f9818",
|
||||
"version": "1.0.3",
|
||||
"label": "",
|
||||
"notes": "",
|
||||
"type": "main_model_loader",
|
||||
"inputs": {
|
||||
"model": {
|
||||
"name": "model",
|
||||
"label": ""
|
||||
}
|
||||
},
|
||||
"isOpen": true,
|
||||
"isIntermediate": true,
|
||||
"useCache": true
|
||||
},
|
||||
"position": {
|
||||
"x": 2500,
|
||||
"y": -600
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "85b77bb2-c67a-416a-b3e8-291abe746c44",
|
||||
"type": "invocation",
|
||||
"data": {
|
||||
"id": "85b77bb2-c67a-416a-b3e8-291abe746c44",
|
||||
"version": "1.2.0",
|
||||
"label": "",
|
||||
"notes": "",
|
||||
"type": "compel",
|
||||
"inputs": {
|
||||
"prompt": {
|
||||
"name": "prompt",
|
||||
"label": "Positive Prompt",
|
||||
"value": "super cute tiger cub"
|
||||
"label": "Negative Prompt",
|
||||
"value": ""
|
||||
},
|
||||
"clip": {
|
||||
"name": "clip",
|
||||
"label": ""
|
||||
},
|
||||
"mask": {
|
||||
"name": "mask",
|
||||
"label": ""
|
||||
}
|
||||
},
|
||||
"isOpen": true,
|
||||
@@ -157,7 +216,7 @@
|
||||
},
|
||||
"position": {
|
||||
"x": 3425,
|
||||
"y": -575
|
||||
"y": -300
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -315,52 +374,6 @@
|
||||
"x": 3425,
|
||||
"y": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "a9683c0a-6b1f-4a5e-8187-c57e764b3400",
|
||||
"type": "invocation",
|
||||
"data": {
|
||||
"id": "a9683c0a-6b1f-4a5e-8187-c57e764b3400",
|
||||
"version": "1.2.2",
|
||||
"label": "",
|
||||
"notes": "",
|
||||
"type": "l2i",
|
||||
"inputs": {
|
||||
"board": {
|
||||
"name": "board",
|
||||
"label": ""
|
||||
},
|
||||
"metadata": {
|
||||
"name": "metadata",
|
||||
"label": ""
|
||||
},
|
||||
"latents": {
|
||||
"name": "latents",
|
||||
"label": ""
|
||||
},
|
||||
"vae": {
|
||||
"name": "vae",
|
||||
"label": ""
|
||||
},
|
||||
"tiled": {
|
||||
"name": "tiled",
|
||||
"label": "",
|
||||
"value": false
|
||||
},
|
||||
"fp32": {
|
||||
"name": "fp32",
|
||||
"label": "",
|
||||
"value": false
|
||||
}
|
||||
},
|
||||
"isOpen": true,
|
||||
"isIntermediate": false,
|
||||
"useCache": true
|
||||
},
|
||||
"position": {
|
||||
"x": 4450,
|
||||
"y": -550
|
||||
}
|
||||
}
|
||||
],
|
||||
"edges": [
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
"name": "Tiled Upscaling (Beta)",
|
||||
"author": "Invoke",
|
||||
"description": "A workflow to upscale an input image with tiled upscaling. ",
|
||||
"version": "2.0.0",
|
||||
"version": "2.1.0",
|
||||
"contact": "invoke@invoke.ai",
|
||||
"tags": "tiled, upscaling, sd1.5",
|
||||
"notes": "",
|
||||
@@ -41,10 +41,318 @@
|
||||
}
|
||||
],
|
||||
"meta": {
|
||||
"category": "default",
|
||||
"version": "3.0.0"
|
||||
"version": "3.0.0",
|
||||
"category": "default"
|
||||
},
|
||||
"nodes": [
|
||||
{
|
||||
"id": "2ff466b8-5e2a-4d8f-923a-a3884c7ecbc5",
|
||||
"type": "invocation",
|
||||
"data": {
|
||||
"id": "2ff466b8-5e2a-4d8f-923a-a3884c7ecbc5",
|
||||
"version": "1.0.3",
|
||||
"label": "",
|
||||
"notes": "",
|
||||
"type": "main_model_loader",
|
||||
"inputs": {
|
||||
"model": {
|
||||
"name": "model",
|
||||
"label": ""
|
||||
}
|
||||
},
|
||||
"isOpen": true,
|
||||
"isIntermediate": true,
|
||||
"useCache": true
|
||||
},
|
||||
"position": {
|
||||
"x": -4514.466823162653,
|
||||
"y": -1235.7908800002283
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "287f134f-da8d-41d1-884e-5940e8f7b816",
|
||||
"type": "invocation",
|
||||
"data": {
|
||||
"id": "287f134f-da8d-41d1-884e-5940e8f7b816",
|
||||
"version": "1.4.1",
|
||||
"label": "",
|
||||
"notes": "",
|
||||
"type": "ip_adapter",
|
||||
"inputs": {
|
||||
"image": {
|
||||
"name": "image",
|
||||
"label": ""
|
||||
},
|
||||
"ip_adapter_model": {
|
||||
"name": "ip_adapter_model",
|
||||
"label": "IP-Adapter Model (select ip_adapter_sd15)",
|
||||
"value": {
|
||||
"key": "1cc210bb-4d0a-4312-b36c-b5d46c43768e",
|
||||
"hash": "blake3:3d669dffa7471b357b4df088b99ffb6bf4d4383d5e0ef1de5ec1c89728a3d5a5",
|
||||
"name": "ip_adapter_sd15",
|
||||
"base": "sd-1",
|
||||
"type": "ip_adapter"
|
||||
}
|
||||
},
|
||||
"clip_vision_model": {
|
||||
"name": "clip_vision_model",
|
||||
"label": "",
|
||||
"value": "ViT-H"
|
||||
},
|
||||
"weight": {
|
||||
"name": "weight",
|
||||
"label": "",
|
||||
"value": 0.2
|
||||
},
|
||||
"method": {
|
||||
"name": "method",
|
||||
"label": "",
|
||||
"value": "full"
|
||||
},
|
||||
"begin_step_percent": {
|
||||
"name": "begin_step_percent",
|
||||
"label": "",
|
||||
"value": 0
|
||||
},
|
||||
"end_step_percent": {
|
||||
"name": "end_step_percent",
|
||||
"label": "",
|
||||
"value": 1
|
||||
},
|
||||
"mask": {
|
||||
"name": "mask",
|
||||
"label": ""
|
||||
}
|
||||
},
|
||||
"isOpen": true,
|
||||
"isIntermediate": true,
|
||||
"useCache": true
|
||||
},
|
||||
"position": {
|
||||
"x": -2855.8555540799207,
|
||||
"y": -183.58854843775742
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "b76fe66f-7884-43ad-b72c-fadc81d7a73c",
|
||||
"type": "invocation",
|
||||
"data": {
|
||||
"id": "b76fe66f-7884-43ad-b72c-fadc81d7a73c",
|
||||
"version": "1.3.0",
|
||||
"label": "",
|
||||
"notes": "",
|
||||
"type": "l2i",
|
||||
"inputs": {
|
||||
"board": {
|
||||
"name": "board",
|
||||
"label": ""
|
||||
},
|
||||
"metadata": {
|
||||
"name": "metadata",
|
||||
"label": ""
|
||||
},
|
||||
"latents": {
|
||||
"name": "latents",
|
||||
"label": ""
|
||||
},
|
||||
"vae": {
|
||||
"name": "vae",
|
||||
"label": ""
|
||||
},
|
||||
"tiled": {
|
||||
"name": "tiled",
|
||||
"label": "",
|
||||
"value": false
|
||||
},
|
||||
"tile_size": {
|
||||
"name": "tile_size",
|
||||
"label": "",
|
||||
"value": 0
|
||||
},
|
||||
"fp32": {
|
||||
"name": "fp32",
|
||||
"label": "",
|
||||
"value": false
|
||||
}
|
||||
},
|
||||
"isOpen": true,
|
||||
"isIntermediate": true,
|
||||
"useCache": true
|
||||
},
|
||||
"position": {
|
||||
"x": -1999.770193862987,
|
||||
"y": -1075
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "d334f2da-016a-4524-9911-bdab85546888",
|
||||
"type": "invocation",
|
||||
"data": {
|
||||
"id": "d334f2da-016a-4524-9911-bdab85546888",
|
||||
"version": "1.1.2",
|
||||
"label": "",
|
||||
"notes": "",
|
||||
"type": "controlnet",
|
||||
"inputs": {
|
||||
"image": {
|
||||
"name": "image",
|
||||
"label": ""
|
||||
},
|
||||
"control_model": {
|
||||
"name": "control_model",
|
||||
"label": "Control Model (select contro_v11f1e_sd15_tile)",
|
||||
"value": {
|
||||
"key": "773843c8-db1f-4502-8f65-59782efa7960",
|
||||
"hash": "blake3:f0812e13758f91baf4e54b7dbb707b70642937d3b2098cd2b94cc36d3eba308e",
|
||||
"name": "control_v11f1e_sd15_tile",
|
||||
"base": "sd-1",
|
||||
"type": "controlnet"
|
||||
}
|
||||
},
|
||||
"control_weight": {
|
||||
"name": "control_weight",
|
||||
"label": "",
|
||||
"value": 1
|
||||
},
|
||||
"begin_step_percent": {
|
||||
"name": "begin_step_percent",
|
||||
"label": "",
|
||||
"value": 0
|
||||
},
|
||||
"end_step_percent": {
|
||||
"name": "end_step_percent",
|
||||
"label": "Structural Control",
|
||||
"value": 1
|
||||
},
|
||||
"control_mode": {
|
||||
"name": "control_mode",
|
||||
"label": "",
|
||||
"value": "more_control"
|
||||
},
|
||||
"resize_mode": {
|
||||
"name": "resize_mode",
|
||||
"label": "",
|
||||
"value": "just_resize"
|
||||
}
|
||||
},
|
||||
"isOpen": true,
|
||||
"isIntermediate": true,
|
||||
"useCache": true
|
||||
},
|
||||
"position": {
|
||||
"x": -2481.9569385477016,
|
||||
"y": -181.06590482739782
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "338b883c-3728-4f18-b3a6-6e7190c2f850",
|
||||
"type": "invocation",
|
||||
"data": {
|
||||
"id": "338b883c-3728-4f18-b3a6-6e7190c2f850",
|
||||
"version": "1.1.0",
|
||||
"label": "",
|
||||
"notes": "",
|
||||
"type": "i2l",
|
||||
"inputs": {
|
||||
"image": {
|
||||
"name": "image",
|
||||
"label": ""
|
||||
},
|
||||
"vae": {
|
||||
"name": "vae",
|
||||
"label": ""
|
||||
},
|
||||
"tiled": {
|
||||
"name": "tiled",
|
||||
"label": "",
|
||||
"value": false
|
||||
},
|
||||
"tile_size": {
|
||||
"name": "tile_size",
|
||||
"label": "",
|
||||
"value": 0
|
||||
},
|
||||
"fp32": {
|
||||
"name": "fp32",
|
||||
"label": "",
|
||||
"value": false
|
||||
}
|
||||
},
|
||||
"isOpen": false,
|
||||
"isIntermediate": true,
|
||||
"useCache": true
|
||||
},
|
||||
"position": {
|
||||
"x": -2908.4791167517287,
|
||||
"y": -408.87504820159086
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "947c3f88-0305-4695-8355-df4abac64b1c",
|
||||
"type": "invocation",
|
||||
"data": {
|
||||
"id": "947c3f88-0305-4695-8355-df4abac64b1c",
|
||||
"version": "1.2.0",
|
||||
"label": "",
|
||||
"notes": "",
|
||||
"type": "compel",
|
||||
"inputs": {
|
||||
"prompt": {
|
||||
"name": "prompt",
|
||||
"label": "",
|
||||
"value": ""
|
||||
},
|
||||
"clip": {
|
||||
"name": "clip",
|
||||
"label": ""
|
||||
},
|
||||
"mask": {
|
||||
"name": "mask",
|
||||
"label": ""
|
||||
}
|
||||
},
|
||||
"isOpen": true,
|
||||
"isIntermediate": true,
|
||||
"useCache": true
|
||||
},
|
||||
"position": {
|
||||
"x": -4014.4136788915944,
|
||||
"y": -968.5677253775948
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "9b2d8c58-ce8f-4162-a5a1-48de854040d6",
|
||||
"type": "invocation",
|
||||
"data": {
|
||||
"id": "9b2d8c58-ce8f-4162-a5a1-48de854040d6",
|
||||
"version": "1.2.0",
|
||||
"label": "",
|
||||
"notes": "",
|
||||
"type": "compel",
|
||||
"inputs": {
|
||||
"prompt": {
|
||||
"name": "prompt",
|
||||
"label": "Positive Prompt",
|
||||
"value": ""
|
||||
},
|
||||
"clip": {
|
||||
"name": "clip",
|
||||
"label": ""
|
||||
},
|
||||
"mask": {
|
||||
"name": "mask",
|
||||
"label": ""
|
||||
}
|
||||
},
|
||||
"isOpen": true,
|
||||
"isIntermediate": true,
|
||||
"useCache": true
|
||||
},
|
||||
"position": {
|
||||
"x": -4014.4136788915944,
|
||||
"y": -1243.5677253775948
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "b875cae6-d8a3-4fdc-b969-4d53cbd03f9a",
|
||||
"type": "invocation",
|
||||
@@ -181,64 +489,6 @@
|
||||
"y": 3.422855503409039
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "9b2d8c58-ce8f-4162-a5a1-48de854040d6",
|
||||
"type": "invocation",
|
||||
"data": {
|
||||
"id": "9b2d8c58-ce8f-4162-a5a1-48de854040d6",
|
||||
"version": "1.1.1",
|
||||
"label": "",
|
||||
"notes": "",
|
||||
"type": "compel",
|
||||
"inputs": {
|
||||
"prompt": {
|
||||
"name": "prompt",
|
||||
"label": "Positive Prompt",
|
||||
"value": ""
|
||||
},
|
||||
"clip": {
|
||||
"name": "clip",
|
||||
"label": ""
|
||||
}
|
||||
},
|
||||
"isOpen": true,
|
||||
"isIntermediate": true,
|
||||
"useCache": true
|
||||
},
|
||||
"position": {
|
||||
"x": -4014.4136788915944,
|
||||
"y": -1243.5677253775948
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "947c3f88-0305-4695-8355-df4abac64b1c",
|
||||
"type": "invocation",
|
||||
"data": {
|
||||
"id": "947c3f88-0305-4695-8355-df4abac64b1c",
|
||||
"version": "1.1.1",
|
||||
"label": "",
|
||||
"notes": "",
|
||||
"type": "compel",
|
||||
"inputs": {
|
||||
"prompt": {
|
||||
"name": "prompt",
|
||||
"label": "",
|
||||
"value": ""
|
||||
},
|
||||
"clip": {
|
||||
"name": "clip",
|
||||
"label": ""
|
||||
}
|
||||
},
|
||||
"isOpen": true,
|
||||
"isIntermediate": true,
|
||||
"useCache": true
|
||||
},
|
||||
"position": {
|
||||
"x": -4014.4136788915944,
|
||||
"y": -968.5677253775948
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "b3513fed-ed42-408d-b382-128fdb0de523",
|
||||
"type": "invocation",
|
||||
@@ -379,104 +629,6 @@
|
||||
"y": -29.08699277598673
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "338b883c-3728-4f18-b3a6-6e7190c2f850",
|
||||
"type": "invocation",
|
||||
"data": {
|
||||
"id": "338b883c-3728-4f18-b3a6-6e7190c2f850",
|
||||
"version": "1.0.2",
|
||||
"label": "",
|
||||
"notes": "",
|
||||
"type": "i2l",
|
||||
"inputs": {
|
||||
"image": {
|
||||
"name": "image",
|
||||
"label": ""
|
||||
},
|
||||
"vae": {
|
||||
"name": "vae",
|
||||
"label": ""
|
||||
},
|
||||
"tiled": {
|
||||
"name": "tiled",
|
||||
"label": "",
|
||||
"value": false
|
||||
},
|
||||
"fp32": {
|
||||
"name": "fp32",
|
||||
"label": "",
|
||||
"value": false
|
||||
}
|
||||
},
|
||||
"isOpen": false,
|
||||
"isIntermediate": true,
|
||||
"useCache": true
|
||||
},
|
||||
"position": {
|
||||
"x": -2908.4791167517287,
|
||||
"y": -408.87504820159086
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "d334f2da-016a-4524-9911-bdab85546888",
|
||||
"type": "invocation",
|
||||
"data": {
|
||||
"id": "d334f2da-016a-4524-9911-bdab85546888",
|
||||
"version": "1.1.1",
|
||||
"label": "",
|
||||
"notes": "",
|
||||
"type": "controlnet",
|
||||
"inputs": {
|
||||
"image": {
|
||||
"name": "image",
|
||||
"label": ""
|
||||
},
|
||||
"control_model": {
|
||||
"name": "control_model",
|
||||
"label": "Control Model (select contro_v11f1e_sd15_tile)",
|
||||
"value": {
|
||||
"key": "773843c8-db1f-4502-8f65-59782efa7960",
|
||||
"hash": "blake3:f0812e13758f91baf4e54b7dbb707b70642937d3b2098cd2b94cc36d3eba308e",
|
||||
"name": "control_v11f1e_sd15_tile",
|
||||
"base": "sd-1",
|
||||
"type": "controlnet"
|
||||
}
|
||||
},
|
||||
"control_weight": {
|
||||
"name": "control_weight",
|
||||
"label": "",
|
||||
"value": 1
|
||||
},
|
||||
"begin_step_percent": {
|
||||
"name": "begin_step_percent",
|
||||
"label": "",
|
||||
"value": 0
|
||||
},
|
||||
"end_step_percent": {
|
||||
"name": "end_step_percent",
|
||||
"label": "Structural Control",
|
||||
"value": 1
|
||||
},
|
||||
"control_mode": {
|
||||
"name": "control_mode",
|
||||
"label": "",
|
||||
"value": "more_control"
|
||||
},
|
||||
"resize_mode": {
|
||||
"name": "resize_mode",
|
||||
"label": "",
|
||||
"value": "just_resize"
|
||||
}
|
||||
},
|
||||
"isOpen": true,
|
||||
"isIntermediate": true,
|
||||
"useCache": true
|
||||
},
|
||||
"position": {
|
||||
"x": -2481.9569385477016,
|
||||
"y": -181.06590482739782
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "1011539e-85de-4e02-a003-0b22358491b8",
|
||||
"type": "invocation",
|
||||
@@ -563,52 +715,6 @@
|
||||
"y": -1006.415909408244
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "b76fe66f-7884-43ad-b72c-fadc81d7a73c",
|
||||
"type": "invocation",
|
||||
"data": {
|
||||
"id": "b76fe66f-7884-43ad-b72c-fadc81d7a73c",
|
||||
"version": "1.2.2",
|
||||
"label": "",
|
||||
"notes": "",
|
||||
"type": "l2i",
|
||||
"inputs": {
|
||||
"board": {
|
||||
"name": "board",
|
||||
"label": ""
|
||||
},
|
||||
"metadata": {
|
||||
"name": "metadata",
|
||||
"label": ""
|
||||
},
|
||||
"latents": {
|
||||
"name": "latents",
|
||||
"label": ""
|
||||
},
|
||||
"vae": {
|
||||
"name": "vae",
|
||||
"label": ""
|
||||
},
|
||||
"tiled": {
|
||||
"name": "tiled",
|
||||
"label": "",
|
||||
"value": false
|
||||
},
|
||||
"fp32": {
|
||||
"name": "fp32",
|
||||
"label": "",
|
||||
"value": false
|
||||
}
|
||||
},
|
||||
"isOpen": true,
|
||||
"isIntermediate": true,
|
||||
"useCache": true
|
||||
},
|
||||
"position": {
|
||||
"x": -1999.770193862987,
|
||||
"y": -1075
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "ab6f5dda-4b60-4ddf-99f2-f61fb5937527",
|
||||
"type": "invocation",
|
||||
@@ -779,56 +885,6 @@
|
||||
"y": -78.2819050861178
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "287f134f-da8d-41d1-884e-5940e8f7b816",
|
||||
"type": "invocation",
|
||||
"data": {
|
||||
"id": "287f134f-da8d-41d1-884e-5940e8f7b816",
|
||||
"version": "1.2.2",
|
||||
"label": "",
|
||||
"notes": "",
|
||||
"type": "ip_adapter",
|
||||
"inputs": {
|
||||
"image": {
|
||||
"name": "image",
|
||||
"label": ""
|
||||
},
|
||||
"ip_adapter_model": {
|
||||
"name": "ip_adapter_model",
|
||||
"label": "IP-Adapter Model (select ip_adapter_sd15)",
|
||||
"value": {
|
||||
"key": "1cc210bb-4d0a-4312-b36c-b5d46c43768e",
|
||||
"hash": "blake3:3d669dffa7471b357b4df088b99ffb6bf4d4383d5e0ef1de5ec1c89728a3d5a5",
|
||||
"name": "ip_adapter_sd15",
|
||||
"base": "sd-1",
|
||||
"type": "ip_adapter"
|
||||
}
|
||||
},
|
||||
"weight": {
|
||||
"name": "weight",
|
||||
"label": "",
|
||||
"value": 0.2
|
||||
},
|
||||
"begin_step_percent": {
|
||||
"name": "begin_step_percent",
|
||||
"label": "",
|
||||
"value": 0
|
||||
},
|
||||
"end_step_percent": {
|
||||
"name": "end_step_percent",
|
||||
"label": "",
|
||||
"value": 1
|
||||
}
|
||||
},
|
||||
"isOpen": true,
|
||||
"isIntermediate": true,
|
||||
"useCache": true
|
||||
},
|
||||
"position": {
|
||||
"x": -2855.8555540799207,
|
||||
"y": -183.58854843775742
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "1f86c8bf-06f9-4e28-abee-02f46f445ac4",
|
||||
"type": "invocation",
|
||||
@@ -899,30 +955,6 @@
|
||||
"y": -41.810810454906914
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "2ff466b8-5e2a-4d8f-923a-a3884c7ecbc5",
|
||||
"type": "invocation",
|
||||
"data": {
|
||||
"id": "2ff466b8-5e2a-4d8f-923a-a3884c7ecbc5",
|
||||
"version": "1.0.2",
|
||||
"label": "",
|
||||
"notes": "",
|
||||
"type": "main_model_loader",
|
||||
"inputs": {
|
||||
"model": {
|
||||
"name": "model",
|
||||
"label": ""
|
||||
}
|
||||
},
|
||||
"isOpen": true,
|
||||
"isIntermediate": true,
|
||||
"useCache": true
|
||||
},
|
||||
"position": {
|
||||
"x": -4514.466823162653,
|
||||
"y": -1235.7908800002283
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "f5d9bf3b-2646-4b17-9894-20fd2b4218ea",
|
||||
"type": "invocation",
|
||||
|
||||
@@ -98,7 +98,7 @@ class UnetSkipConnectionBlock(nn.Module):
|
||||
"""
|
||||
super(UnetSkipConnectionBlock, self).__init__()
|
||||
self.outermost = outermost
|
||||
if type(norm_layer) == functools.partial:
|
||||
if isinstance(norm_layer, functools.partial):
|
||||
use_bias = norm_layer.func == nn.InstanceNorm2d
|
||||
else:
|
||||
use_bias = norm_layer == nn.InstanceNorm2d
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
"reportBugLabel": "Fehler melden",
|
||||
"settingsLabel": "Einstellungen",
|
||||
"img2img": "Bild zu Bild",
|
||||
"nodes": "Arbeitsabläufe",
|
||||
"nodes": "Workflows",
|
||||
"upload": "Hochladen",
|
||||
"load": "Laden",
|
||||
"statusDisconnected": "Getrennt",
|
||||
@@ -18,16 +18,16 @@
|
||||
"postprocessing": "Nachbearbeitung",
|
||||
"t2iAdapter": "T2I Adapter",
|
||||
"communityLabel": "Gemeinschaft",
|
||||
"dontAskMeAgain": "Frag mich nicht nochmal",
|
||||
"areYouSure": "Bist du dir sicher?",
|
||||
"dontAskMeAgain": "Nicht nochmal fragen",
|
||||
"areYouSure": "Bist du sicher?",
|
||||
"on": "An",
|
||||
"nodeEditor": "Knoten Editor",
|
||||
"nodeEditor": "Node-Editor",
|
||||
"ipAdapter": "IP Adapter",
|
||||
"auto": "Automatisch",
|
||||
"auto": "Auto",
|
||||
"controlNet": "ControlNet",
|
||||
"imageFailedToLoad": "Kann Bild nicht laden",
|
||||
"modelManager": "Model Manager",
|
||||
"learnMore": "Mehr lernen",
|
||||
"learnMore": "Mehr erfahren",
|
||||
"loading": "Lade",
|
||||
"random": "Zufall",
|
||||
"batch": "Stapel-Manager",
|
||||
@@ -42,7 +42,7 @@
|
||||
"outputs": "Ausgabe",
|
||||
"data": "Daten",
|
||||
"safetensors": "Safe-Tensors",
|
||||
"outpaint": "Outpaint (Außen ausmalen)",
|
||||
"outpaint": "Outpaint",
|
||||
"details": "Details",
|
||||
"format": "Format",
|
||||
"unknown": "Unbekannt",
|
||||
@@ -78,7 +78,20 @@
|
||||
"add": "Hinzufügen",
|
||||
"loglevel": "Protokoll Stufe",
|
||||
"selected": "Ausgewählt",
|
||||
"beta": "Beta"
|
||||
"beta": "Beta",
|
||||
"comparing": "Vergleichen",
|
||||
"comparingDesc": "Bilder vergleichen",
|
||||
"editor": "Editor",
|
||||
"goTo": "Gehe zu",
|
||||
"positivePrompt": "Positiv-Prompt",
|
||||
"negativePrompt": "Negativ-Prompt",
|
||||
"editing": "Bearbeiten",
|
||||
"editingDesc": "Bearbeiten auf der Kontrollebenen-Leinwand",
|
||||
"viewing": "Ansehen",
|
||||
"viewingDesc": "Bilder in großer Galerie ansehen",
|
||||
"tab": "Tabulator",
|
||||
"enabled": "Aktiviert",
|
||||
"disabled": "Ausgeschaltet"
|
||||
},
|
||||
"gallery": {
|
||||
"galleryImageSize": "Bildgröße",
|
||||
@@ -585,17 +598,18 @@
|
||||
"mode": "Modus",
|
||||
"resetUI": "$t(accessibility.reset) von UI",
|
||||
"createIssue": "Ticket erstellen",
|
||||
"about": "Über"
|
||||
"about": "Über",
|
||||
"submitSupportTicket": "Support-Ticket senden"
|
||||
},
|
||||
"boards": {
|
||||
"autoAddBoard": "Automatisches Hinzufügen zum Board",
|
||||
"topMessage": "Dieser Ordner enthält Bilder die in den folgenden Funktionen verwendet werden:",
|
||||
"autoAddBoard": "Board automatisch erstellen",
|
||||
"topMessage": "Dieser Ordner enthält Bilder, die in den folgenden Funktionen verwendet werden:",
|
||||
"move": "Bewegen",
|
||||
"menuItemAutoAdd": "Auto-Hinzufügen zu diesem Ordner",
|
||||
"myBoard": "Meine Ordner",
|
||||
"searchBoard": "Ordner durchsuchen...",
|
||||
"noMatching": "Keine passenden Ordner",
|
||||
"selectBoard": "Ordner aussuchen",
|
||||
"selectBoard": "Ordner wählen",
|
||||
"cancel": "Abbrechen",
|
||||
"addBoard": "Board hinzufügen",
|
||||
"uncategorized": "Ohne Kategorie",
|
||||
@@ -605,30 +619,41 @@
|
||||
"clearSearch": "Suche leeren",
|
||||
"bottomMessage": "Löschen des Boards und seiner Bilder setzt alle Funktionen zurück, die sie gerade verwenden.",
|
||||
"deleteBoardOnly": "Nur Ordner löschen",
|
||||
"deleteBoard": "Löschen Ordner",
|
||||
"deleteBoardAndImages": "Löschen Ordner und Bilder",
|
||||
"deletedBoardsCannotbeRestored": "Gelöschte Ordner könnte nicht wiederhergestellt werden",
|
||||
"movingImagesToBoard_one": "Verschiebe {{count}} Bild zu Ordner:",
|
||||
"movingImagesToBoard_other": "Verschiebe {{count}} Bilder in Ordner:"
|
||||
"deleteBoard": "Lösche Ordner",
|
||||
"deleteBoardAndImages": "Lösche Ordner und Bilder",
|
||||
"deletedBoardsCannotbeRestored": "Gelöschte Ordner können nicht wiederhergestellt werden",
|
||||
"movingImagesToBoard_one": "Verschiebe {{count}} Bild in Ordner:",
|
||||
"movingImagesToBoard_other": "Verschiebe {{count}} Bilder in Ordner:",
|
||||
"selectedForAutoAdd": "Ausgewählt für Automatisches hinzufügen",
|
||||
"imagesWithCount_one": "{{count}} Bild",
|
||||
"imagesWithCount_other": "{{count}} Bilder",
|
||||
"addPrivateBoard": "Privaten Ordner hinzufügen",
|
||||
"addSharedBoard": "Geteilten Ordner hinzufügen",
|
||||
"boards": "Ordner",
|
||||
"unarchiveBoard": "Unarchive Ordner",
|
||||
"private": "Private Ordner",
|
||||
"shared": "Geteilte Ordner",
|
||||
"archiveBoard": "Ordner archivieren",
|
||||
"archived": "Archiviert"
|
||||
},
|
||||
"controlnet": {
|
||||
"showAdvanced": "Zeige Erweitert",
|
||||
"contentShuffleDescription": "Mischt den Inhalt von einem Bild",
|
||||
"contentShuffleDescription": "Mischt den Inhalt des Bilds",
|
||||
"addT2IAdapter": "$t(common.t2iAdapter) hinzufügen",
|
||||
"importImageFromCanvas": "Bild von Zeichenfläche importieren",
|
||||
"lineartDescription": "Konvertiere Bild in Strichzeichnung",
|
||||
"lineartDescription": "Konvertiert Bild in Linienzeichnung",
|
||||
"importMaskFromCanvas": "Importiere Maske von Zeichenfläche",
|
||||
"hed": "HED",
|
||||
"hideAdvanced": "Verstecke Erweitert",
|
||||
"contentShuffle": "Inhalt mischen",
|
||||
"beginEndStepPercent": "Start / Ende Step Prozent",
|
||||
"duplicate": "Kopieren",
|
||||
"beginEndStepPercent": "Start/Ende Step Prozent",
|
||||
"duplicate": "Duplizieren",
|
||||
"f": "F",
|
||||
"h": "H",
|
||||
"depthMidasDescription": "Tiefenmap erstellen mit Midas",
|
||||
"depthMidasDescription": "Z-Map erstellen mit Midas",
|
||||
"controlnet": "$t(controlnet.controlAdapter_one) #{{number}} ($t(common.controlNet))",
|
||||
"weight": "Einfluss",
|
||||
"selectModel": "Wähle ein Modell",
|
||||
"weight": "Gewichtung",
|
||||
"selectModel": "Modell wählen",
|
||||
"depthMidas": "Tiefe (Midas)",
|
||||
"w": "W",
|
||||
"addControlNet": "$t(common.controlNet) hinzufügen",
|
||||
@@ -637,7 +662,7 @@
|
||||
"ip_adapter": "$t(controlnet.controlAdapter_one) #{{number}} ($t(common.ipAdapter))",
|
||||
"fill": "Füllen",
|
||||
"addIPAdapter": "$t(common.ipAdapter) hinzufügen",
|
||||
"colorMapDescription": "Erstelle eine Farbkarte von diesem Bild",
|
||||
"colorMapDescription": "Erstellt eine color-map von diesem Bild",
|
||||
"t2i_adapter": "$t(controlnet.controlAdapter_one) #{{number}} ($t(common.t2iAdapter))",
|
||||
"imageResolution": "Bild Auflösung",
|
||||
"depthZoe": "Tiefe (Zoe)",
|
||||
@@ -646,41 +671,41 @@
|
||||
"highThreshold": "Hohe Schwelle",
|
||||
"toggleControlNet": "Dieses ControlNet ein- oder ausschalten",
|
||||
"delete": "Löschen",
|
||||
"controlAdapter_one": "Control Adapter",
|
||||
"controlAdapter_other": "Control Adapter",
|
||||
"controlAdapter_one": "Control-Adapter",
|
||||
"controlAdapter_other": "Control-Adapter",
|
||||
"colorMapTileSize": "Kachelgröße",
|
||||
"depthZoeDescription": "Tiefenmap erstellen mit Zoe",
|
||||
"setControlImageDimensions": "Setze Control-Bild Auflösung auf Breite/Höhe",
|
||||
"depthZoeDescription": "Z-Map erstellen mit Zoe",
|
||||
"setControlImageDimensions": "Bildauflösung auf optimalen Wert setzen",
|
||||
"resize": "Größe ändern",
|
||||
"resetControlImage": "Zurücksetzen vom Referenz Bild",
|
||||
"resetControlImage": "Zurücksetzen vom Kontrollbild",
|
||||
"balanced": "Ausgewogen",
|
||||
"prompt": "Prompt",
|
||||
"resizeMode": "Größe",
|
||||
"resizeMode": "Skalierungs-Modus",
|
||||
"processor": "Prozessor",
|
||||
"saveControlImage": "Speichere Referenz Bild",
|
||||
"saveControlImage": "Speichere Kontrollbild",
|
||||
"safe": "Speichern",
|
||||
"pidi": "PIDI",
|
||||
"normalBae": "Normales BAE",
|
||||
"normalBae": "Normale BAE",
|
||||
"mlsdDescription": "Minimalistischer Liniensegmentdetektor",
|
||||
"control": "Kontrolle",
|
||||
"coarse": "Grob",
|
||||
"crop": "Zuschneiden",
|
||||
"pidiDescription": "PIDI-Bildverarbeitung",
|
||||
"mediapipeFace": "Mediapipe Gesichter",
|
||||
"mediapipeFace": "Mediapipe Gesicht",
|
||||
"mlsd": "M-LSD",
|
||||
"controlMode": "Steuermodus",
|
||||
"controlMode": "Kontrollmodus",
|
||||
"cannyDescription": "Canny Umrisserkennung",
|
||||
"lineart": "Linienzeichnung",
|
||||
"lineartAnimeDescription": "Lineart-Verarbeitung im Anime-Stil",
|
||||
"minConfidence": "Minimales Vertrauen",
|
||||
"megaControl": "Mega-Kontrolle",
|
||||
"autoConfigure": "Prozessor Auto-konfig",
|
||||
"autoConfigure": "Prozessor Auto-Konfig",
|
||||
"normalBaeDescription": "Normale BAE-Verarbeitung",
|
||||
"noneDescription": "Es wurde keine Verarbeitung angewendet",
|
||||
"lineartAnime": "Lineart Anime / \"Strichzeichnung Anime\"",
|
||||
"noneDescription": "Es wurde nichts angewendet",
|
||||
"lineartAnime": "Strichzeichnung Anime",
|
||||
"mediapipeFaceDescription": "Gesichtserkennung mit Mediapipe",
|
||||
"canny": "\"Canny\"",
|
||||
"hedDescription": "Ganzheitlich verschachtelte Kantenerkennung",
|
||||
"canny": "Canny",
|
||||
"hedDescription": "Ganzheitlich-verschachtelte Kantenerkennung",
|
||||
"scribble": "Scribble",
|
||||
"maxFaces": "Maximale Anzahl Gesichter",
|
||||
"resizeSimple": "Größe ändern (einfach)",
|
||||
@@ -689,21 +714,23 @@
|
||||
"small": "Klein",
|
||||
"base": "Basis",
|
||||
"depthAnything": "Depth Anything",
|
||||
"depthAnythingDescription": "Erstellung einer Tiefenkarte mit der Depth-Anything-Technik",
|
||||
"depthAnythingDescription": "Erstellung einer Z-Map mit Depth-Anything-Technik",
|
||||
"face": "Gesicht",
|
||||
"body": "Körper",
|
||||
"hands": "Hände",
|
||||
"dwOpenpose": "DW Openpose",
|
||||
"dwOpenposeDescription": "Posenschätzung mit DW Openpose",
|
||||
"selectCLIPVisionModel": "Wähle ein CLIP Vision Model aus",
|
||||
"selectCLIPVisionModel": "Wähle ein CLIP-Vision Modell aus",
|
||||
"ipAdapterMethod": "Methode",
|
||||
"composition": "Nur Komposition",
|
||||
"full": "Voll",
|
||||
"style": "Nur Style"
|
||||
"style": "Nur Stil",
|
||||
"setControlImageDimensionsForce": "Bildauflösung setzen (ev. nicht optimal)",
|
||||
"beginEndStepPercentShort": "Start/Ende %"
|
||||
},
|
||||
"queue": {
|
||||
"status": "Status",
|
||||
"cancelTooltip": "Aktuellen Aufgabe abbrechen",
|
||||
"cancelTooltip": "Aufgabe abbrechen",
|
||||
"queueEmpty": "Warteschlange leer",
|
||||
"in_progress": "In Arbeit",
|
||||
"queueFront": "Am Anfang der Warteschlange einreihen",
|
||||
@@ -739,7 +766,7 @@
|
||||
"clearQueueAlertDialog2": "Warteschlange wirklich leeren?",
|
||||
"pruneSucceeded": "{{item_count}} abgeschlossene Elemente aus der Warteschlange entfernt",
|
||||
"pauseSucceeded": "Prozess angehalten",
|
||||
"cancelFailed": "Problem beim Stornieren des Auftrags",
|
||||
"cancelFailed": "Problem beim Abbrechen",
|
||||
"pauseFailed": "Problem beim Anhalten des Prozesses",
|
||||
"front": "Vorne",
|
||||
"pruneTooltip": "Bereinigen Sie {{item_count}} abgeschlossene Aufträge",
|
||||
@@ -1026,13 +1053,13 @@
|
||||
},
|
||||
"hrf": {
|
||||
"enableHrf": "Korrektur für hohe Auflösungen",
|
||||
"upscaleMethod": "Vergrößerungsmethoden",
|
||||
"upscaleMethod": "Vergrößerungsmethode",
|
||||
"metadata": {
|
||||
"strength": "Hochauflösender Fix Stärke",
|
||||
"enabled": "Hochauflösender Fix aktiviert",
|
||||
"method": "Hochauflösender Fix Methode"
|
||||
"strength": "Auflösungs-Fix Stärke",
|
||||
"enabled": "Auflösungs-Fix aktiviert",
|
||||
"method": "Auflösungs-Fix Methode"
|
||||
},
|
||||
"hrf": "Hochauflösender Fix"
|
||||
"hrf": "Hohe-Auflösung-Fix"
|
||||
},
|
||||
"models": {
|
||||
"noMatchingModels": "Keine passenden Modelle",
|
||||
@@ -1063,7 +1090,7 @@
|
||||
},
|
||||
"compositing": {
|
||||
"coherenceTab": "Kohärenzpass",
|
||||
"infillTab": "Füllung / Infill",
|
||||
"infillTab": "Infill",
|
||||
"title": "Compositing"
|
||||
}
|
||||
},
|
||||
@@ -1104,8 +1131,8 @@
|
||||
"showDynamicPrompts": "Dynamische Prompts anzeigen"
|
||||
},
|
||||
"prompt": {
|
||||
"noMatchingTriggers": "Keine passenden Auslöser",
|
||||
"addPromptTrigger": "Auslöse Text hinzufügen",
|
||||
"noMatchingTriggers": "Keine passenden Trigger",
|
||||
"addPromptTrigger": "Prompt-Trigger hinzufügen",
|
||||
"compatibleEmbeddings": "Kompatible Einbettungen"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"common": {
|
||||
"hotkeysLabel": "Raccourcis clavier",
|
||||
"languagePickerLabel": "Sélecteur de langue",
|
||||
"languagePickerLabel": "Langue",
|
||||
"reportBugLabel": "Signaler un bug",
|
||||
"settingsLabel": "Paramètres",
|
||||
"img2img": "Image en image",
|
||||
@@ -17,7 +17,53 @@
|
||||
"cancel": "Annuler",
|
||||
"loading": "Chargement",
|
||||
"txt2img": "Texte vers image",
|
||||
"postprocessing": "Post-Traitement"
|
||||
"postprocessing": "Post-Traitement",
|
||||
"file": "Fichier",
|
||||
"orderBy": "Trier par",
|
||||
"comparing": "Comparaison",
|
||||
"add": "Ajouter",
|
||||
"dontAskMeAgain": "Ne plus me demander",
|
||||
"nodeEditor": "Éditeur de nœud",
|
||||
"outputs": "Sorties",
|
||||
"unknown": "Inconnu",
|
||||
"editor": "Éditeur",
|
||||
"error": "Erreur",
|
||||
"installed": "Installé",
|
||||
"format": "format",
|
||||
"goTo": "Aller à",
|
||||
"input": "Saisie",
|
||||
"linear": "Linéaire",
|
||||
"localSystem": "Système local",
|
||||
"learnMore": "En savoir plus",
|
||||
"modelManager": "Gestionnaire de modèle",
|
||||
"notInstalled": "Non $t(common.installed)",
|
||||
"openInNewTab": "Ouvrir dans un nouvel onglet",
|
||||
"somethingWentWrong": "Une erreur s'est produite",
|
||||
"created": "Créé",
|
||||
"tab": "Onglet",
|
||||
"folder": "Dossier",
|
||||
"imageFailedToLoad": "Impossible de charger l'image",
|
||||
"prevPage": "Page précédente",
|
||||
"nextPage": "Page suivante",
|
||||
"selected": "Sélectionné",
|
||||
"save": "Enregistrer",
|
||||
"updated": "Mis à jour",
|
||||
"random": "Aléatoire",
|
||||
"unknownError": "Erreur inconnue",
|
||||
"red": "Rouge",
|
||||
"green": "Vert",
|
||||
"delete": "Supprimer",
|
||||
"simple": "Simple",
|
||||
"template": "Modèle",
|
||||
"advanced": "Avancé",
|
||||
"copy": "Copier",
|
||||
"saveAs": "Enregistrer sous",
|
||||
"blue": "Bleu",
|
||||
"alpha": "Alpha",
|
||||
"editing": "Édition",
|
||||
"enabled": "Activé",
|
||||
"disabled": "Désactivé",
|
||||
"direction": "Direction"
|
||||
},
|
||||
"gallery": {
|
||||
"galleryImageSize": "Taille de l'image",
|
||||
@@ -368,6 +414,63 @@
|
||||
"previousImage": "Image précédente",
|
||||
"showOptionsPanel": "Montrer la page d'options",
|
||||
"invokeProgressBar": "Barre de Progression Invoke",
|
||||
"menu": "Menu"
|
||||
"menu": "Menu",
|
||||
"loadMore": "Charger plus",
|
||||
"about": "À propos",
|
||||
"mode": "Mode"
|
||||
},
|
||||
"boards": {
|
||||
"move": "Déplacer",
|
||||
"cancel": "Annuler",
|
||||
"loading": "Chargement…",
|
||||
"archived": "Archivé",
|
||||
"clearSearch": "Effacer la recherche",
|
||||
"imagesWithCount_one": "{{count}} image",
|
||||
"imagesWithCount_many": "{{count}} images",
|
||||
"imagesWithCount_other": "{{count}} images"
|
||||
},
|
||||
"accordions": {
|
||||
"advanced": {
|
||||
"title": "Avancé"
|
||||
},
|
||||
"image": {
|
||||
"title": "Image"
|
||||
}
|
||||
},
|
||||
"controlnet": {
|
||||
"none": "Aucun",
|
||||
"detectResolution": "Détecter la résolution",
|
||||
"balanced": "Équilibré",
|
||||
"colorMap": "Couleur",
|
||||
"control": "Contrôle",
|
||||
"controlMode": "Mode de contrôle",
|
||||
"processor": "Processeur",
|
||||
"ipAdapterMethod": "Méthode",
|
||||
"delete": "Supprimer",
|
||||
"duplicate": "Dupliquer",
|
||||
"crop": "Rogner",
|
||||
"imageResolution": "Résolution d'image",
|
||||
"resize": "Redimensionner"
|
||||
},
|
||||
"queue": {
|
||||
"clear": "Effacer",
|
||||
"failed": "Échec",
|
||||
"session": "Session",
|
||||
"queueEmpty": "File d'attente vide",
|
||||
"next": "Suivant",
|
||||
"queue": "File d'attente",
|
||||
"clearSucceeded": "File d'attente effacée",
|
||||
"total": "Total",
|
||||
"pending": "En attente",
|
||||
"in_progress": "En cours",
|
||||
"time": "Heure",
|
||||
"status": "État",
|
||||
"openQueue": "Ouvrir la file d'attente",
|
||||
"queueFront": "Ajouter en premier",
|
||||
"cancel": "Annuler",
|
||||
"canceled": "Annulé",
|
||||
"clearQueueAlertDialog2": "Voulez-vous vraiment effacer la file d'attente ?",
|
||||
"queueBack": "Ajouter à la file d'attente",
|
||||
"completed": "Terminé"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -116,9 +116,9 @@
|
||||
"deleteSelection": "Elimina la selezione",
|
||||
"image": "immagine",
|
||||
"drop": "Rilascia",
|
||||
"unstarImage": "Rimuovi preferenza immagine",
|
||||
"unstarImage": "Rimuovi contrassegno immagine",
|
||||
"dropOrUpload": "$t(gallery.drop) o carica",
|
||||
"starImage": "Immagine preferita",
|
||||
"starImage": "Contrassegna l'immagine",
|
||||
"dropToUpload": "$t(gallery.drop) per aggiornare",
|
||||
"problemDeletingImagesDesc": "Impossibile eliminare una o più immagini",
|
||||
"problemDeletingImages": "Problema durante l'eliminazione delle immagini",
|
||||
@@ -142,7 +142,15 @@
|
||||
"compareHelp1": "Tieni premuto <Kbd>Alt</Kbd> mentre fai clic su un'immagine della galleria o usi i tasti freccia per cambiare l'immagine di confronto.",
|
||||
"compareHelp2": "Premi <Kbd>M</Kbd> per scorrere le modalità di confronto.",
|
||||
"compareHelp3": "Premi <Kbd>C</Kbd> per scambiare le immagini confrontate.",
|
||||
"compareHelp4": "Premi <Kbd>Z</Kbd> o <Kbd>Esc</Kbd> per uscire."
|
||||
"compareHelp4": "Premi <Kbd>Z</Kbd> o <Kbd>Esc</Kbd> per uscire.",
|
||||
"newestFirst": "Prima i più nuovi",
|
||||
"oldestFirst": "Prima i più vecchi",
|
||||
"sortDirection": "Direzione dell'ordinamento",
|
||||
"showStarredImagesFirst": "Mostra prima le immagini contrassegnate",
|
||||
"showArchivedBoards": "Mostra le bacheche archiviate",
|
||||
"searchImages": "Ricerca per metadati",
|
||||
"displayBoardSearch": "Mostra la ricerca nelle Bacheche",
|
||||
"displaySearch": "Mostra la ricerca"
|
||||
},
|
||||
"hotkeys": {
|
||||
"keyboardShortcuts": "Tasti di scelta rapida",
|
||||
@@ -941,7 +949,22 @@
|
||||
"deletedBoardsCannotbeRestored": "Le bacheche eliminate non possono essere ripristinate",
|
||||
"movingImagesToBoard_one": "Spostare {{count}} immagine nella bacheca:",
|
||||
"movingImagesToBoard_many": "Spostare {{count}} immagini nella bacheca:",
|
||||
"movingImagesToBoard_other": "Spostare {{count}} immagini nella bacheca:"
|
||||
"movingImagesToBoard_other": "Spostare {{count}} immagini nella bacheca:",
|
||||
"imagesWithCount_one": "{{count}} immagine",
|
||||
"imagesWithCount_many": "{{count}} immagini",
|
||||
"imagesWithCount_other": "{{count}} immagini",
|
||||
"assetsWithCount_one": "{{count}} risorsa",
|
||||
"assetsWithCount_many": "{{count}} risorse",
|
||||
"assetsWithCount_other": "{{count}} risorse",
|
||||
"archiveBoard": "Archivia la bacheca",
|
||||
"archived": "Archiviato",
|
||||
"unarchiveBoard": "Annulla l'archiviazione della bacheca",
|
||||
"selectedForAutoAdd": "Selezionato per l'aggiunta automatica",
|
||||
"addSharedBoard": "Aggiungi una Bacheca Condivisa",
|
||||
"boards": "Bacheche",
|
||||
"private": "Bacheche private",
|
||||
"shared": "Bacheche condivise",
|
||||
"addPrivateBoard": "Aggiungi una Bacheca Privata"
|
||||
},
|
||||
"controlnet": {
|
||||
"contentShuffleDescription": "Rimescola il contenuto di un'immagine",
|
||||
@@ -1005,7 +1028,7 @@
|
||||
"minConfidence": "Confidenza minima",
|
||||
"scribble": "Scarabocchio",
|
||||
"amult": "Angolo di illuminazione",
|
||||
"coarse": "Approssimativo",
|
||||
"coarse": "Grossolano",
|
||||
"resizeSimple": "Ridimensiona (semplice)",
|
||||
"large": "Grande",
|
||||
"small": "Piccolo",
|
||||
@@ -1330,7 +1353,7 @@
|
||||
"lora": {
|
||||
"heading": "LoRA",
|
||||
"paragraphs": [
|
||||
"Modelli leggeri utilizzati insieme ai modelli base."
|
||||
"Modelli concettuali utilizzati insieme ai modelli di base."
|
||||
]
|
||||
},
|
||||
"controlNet": {
|
||||
|
||||
@@ -70,7 +70,25 @@
|
||||
"outputs": "アウトプット",
|
||||
"prevPage": "前のページ",
|
||||
"unknownError": "未知のエラー",
|
||||
"orderBy": "並び順:"
|
||||
"orderBy": "並び順:",
|
||||
"comparing": "比較中",
|
||||
"comparingDesc": "2 つの画像の比較する",
|
||||
"enabled": "有効",
|
||||
"notInstalled": "未インストール",
|
||||
"positivePrompt": "プロンプト",
|
||||
"negativePrompt": "除外する要素",
|
||||
"selected": "選択済み",
|
||||
"aboutDesc": "Invokeを業務で利用する場合はマークしてください:",
|
||||
"beta": "ベータ",
|
||||
"disabled": "無効",
|
||||
"loglevel": "ログラベル",
|
||||
"editor": "エディタ",
|
||||
"safetensors": "Safetensors",
|
||||
"tab": "タブ",
|
||||
"viewingDesc": "画像を大きなギャラリービューで開く",
|
||||
"editing": "編集",
|
||||
"editingDesc": "コントロールレイヤキャンバスで編集",
|
||||
"toResolve": "解決方法"
|
||||
},
|
||||
"gallery": {
|
||||
"galleryImageSize": "画像のサイズ",
|
||||
@@ -105,7 +123,23 @@
|
||||
"noImageSelected": "画像が選択されていません",
|
||||
"deleteSelection": "選択中のものを削除",
|
||||
"downloadSelection": "選択中のものをダウンロード",
|
||||
"starImage": "スターをつける"
|
||||
"starImage": "スターをつける",
|
||||
"viewerImage": "閲覧画像",
|
||||
"compareImage": "比較画像",
|
||||
"openInViewer": "ビューアで開く",
|
||||
"selectForCompare": "比較対象として選択",
|
||||
"selectAnImageToCompare": "比較する画像を選択",
|
||||
"slider": "スライダー",
|
||||
"sideBySide": "横並び",
|
||||
"hover": "ホバー",
|
||||
"swapImages": "画像を入れ替える",
|
||||
"compareOptions": "比較オプション",
|
||||
"stretchToFit": "画面に合わせる",
|
||||
"exitCompare": "比較を終了する",
|
||||
"compareHelp1": "<Kbd>Alt</Kbd> キーを押しながらギャラリー画像をクリックするか、矢印キーを使用して比較画像を変更します。",
|
||||
"compareHelp3": "<Kbd>C</Kbd>を押して、比較した画像を入れ替えます。",
|
||||
"compareHelp4": "<Kbd>[Z</Kbd>]または<Kbd>[Esc</Kbd>]を押して終了します。",
|
||||
"compareHelp2": "<Kbd>M</Kbd> キーを押して比較モードを切り替えます。"
|
||||
},
|
||||
"hotkeys": {
|
||||
"keyboardShortcuts": "ホットキー",
|
||||
@@ -282,7 +316,8 @@
|
||||
"title": "手のひらツール"
|
||||
},
|
||||
"nextStagingImage": {
|
||||
"desc": "次のプレビュー画像"
|
||||
"desc": "次のプレビュー画像",
|
||||
"title": "次のステージング画像"
|
||||
},
|
||||
"cancelAndClear": {
|
||||
"desc": "生成をキャンセルしキューもクリアします",
|
||||
@@ -302,6 +337,35 @@
|
||||
"redoStroke": {
|
||||
"title": "ストロークをやり直す",
|
||||
"desc": "ブラシストロークのやり直し"
|
||||
},
|
||||
"resetOptionsAndGallery": {
|
||||
"title": "オプションとギャラリーをリセット",
|
||||
"desc": "オプションとギャラリーパネルをリセット"
|
||||
},
|
||||
"quickToggleMove": {
|
||||
"title": "高速トグル切り替え",
|
||||
"desc": "一時的に移動モードを切り替える"
|
||||
},
|
||||
"toggleSnap": {
|
||||
"title": "スナップの切り替え",
|
||||
"desc": "グリッドへのスナップの切り替え"
|
||||
},
|
||||
"previousStagingImage": {
|
||||
"desc": "ステージング領域の前の画像",
|
||||
"title": "前のステージング画像"
|
||||
},
|
||||
"nodesHotkeys": "ノード",
|
||||
"toggleOptionsAndGallery": {
|
||||
"desc": "オプションとギャラリーパネルのオンオフを切り替える",
|
||||
"title": "オプションとギャラリーを切り替える"
|
||||
},
|
||||
"undoStroke": {
|
||||
"desc": "ブラシストロークの取り消し",
|
||||
"title": "ストロークの取り消し"
|
||||
},
|
||||
"toggleViewer": {
|
||||
"desc": "イメージ ビューアーと現在のタブのワークスペースを切り替えます。",
|
||||
"title": "画像ビューアの切り替え"
|
||||
}
|
||||
},
|
||||
"modelManager": {
|
||||
@@ -464,10 +528,11 @@
|
||||
"showGalleryPanel": "ギャラリーパネルを表示",
|
||||
"menu": "メニュー",
|
||||
"loadMore": "さらに読み込む",
|
||||
"createIssue": "課題の作成",
|
||||
"createIssue": "問題を報告",
|
||||
"resetUI": "$t(accessibility.reset) UI",
|
||||
"mode": "モード:",
|
||||
"about": "Invoke について"
|
||||
"about": "Invoke について",
|
||||
"submitSupportTicket": "サポート依頼を送信する"
|
||||
},
|
||||
"controlnet": {
|
||||
"resize": "リサイズ",
|
||||
@@ -551,7 +616,13 @@
|
||||
"lineartAnime": "アニメ線画",
|
||||
"mlsdDescription": "最小線分検知",
|
||||
"dwOpenpose": "DW オープンポーズ",
|
||||
"dwOpenposeDescription": "DW オープンポーズによる人体ポーズの推定"
|
||||
"dwOpenposeDescription": "DW オープンポーズによる人体ポーズの推定",
|
||||
"ipAdapterMethod": "方式",
|
||||
"setControlImageDimensionsForce": "モデルを無視してサイズを W/H にコピー",
|
||||
"style": "スタイルのみ",
|
||||
"selectCLIPVisionModel": "CLIP Visionのモデルを選択",
|
||||
"composition": "構図のみ",
|
||||
"beginEndStepPercentShort": "開始 / 終了 %"
|
||||
},
|
||||
"metadata": {
|
||||
"seamless": "シームレス",
|
||||
@@ -620,7 +691,10 @@
|
||||
"time": "時間",
|
||||
"completedIn": "完了まで",
|
||||
"back": "戻る",
|
||||
"prune": "刈り込み"
|
||||
"prune": "刈り込み",
|
||||
"prompts_other": "プロンプト",
|
||||
"iterations_other": "繰り返し",
|
||||
"generations_other": "生成"
|
||||
},
|
||||
"models": {
|
||||
"noMatchingModels": "一致するモデルがありません",
|
||||
@@ -745,5 +819,10 @@
|
||||
"addPromptTrigger": "プロンプトトリガーを追加",
|
||||
"compatibleEmbeddings": "互換性のある埋め込み",
|
||||
"noMatchingTriggers": "一致するトリガーがありません"
|
||||
},
|
||||
"ui": {
|
||||
"tabs": {
|
||||
"queue": "キュー"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -144,7 +144,17 @@
|
||||
"compareOptions": "Варианты сравнения",
|
||||
"compareHelp1": "Удерживайте <Kbd>Alt</Kbd> при нажатии на изображение в галерее или при помощи клавиш со стрелками, чтобы изменить сравниваемое изображение.",
|
||||
"compareHelp2": "Нажмите <Kbd>M</Kbd>, чтобы переключиться между режимами сравнения.",
|
||||
"compareHelp3": "Нажмите <Kbd>C</Kbd>, чтобы поменять местами сравниваемые изображения."
|
||||
"compareHelp3": "Нажмите <Kbd>C</Kbd>, чтобы поменять местами сравниваемые изображения.",
|
||||
"newestFirst": "Сначала новые",
|
||||
"sortDirection": "Направление сортировки",
|
||||
"oldestFirst": "Сначала старые",
|
||||
"showStarredImagesFirst": "Сначала избранные изображения",
|
||||
"selectAllOnPage": "Выбрать все на странице",
|
||||
"selectAllOnBoard": "Выбрать все на доске",
|
||||
"showArchivedBoards": "Показать архивированные доски",
|
||||
"searchImages": "Поиск по метаданным",
|
||||
"displayBoardSearch": "Отобразить поиск досок",
|
||||
"displaySearch": "Отобразить поиск"
|
||||
},
|
||||
"hotkeys": {
|
||||
"keyboardShortcuts": "Горячие клавиши",
|
||||
@@ -1043,7 +1053,22 @@
|
||||
"downloadBoard": "Скачать доску",
|
||||
"deleteBoard": "Удалить доску",
|
||||
"deleteBoardAndImages": "Удалить доску и изображения",
|
||||
"deletedBoardsCannotbeRestored": "Удаленные доски не подлежат восстановлению"
|
||||
"deletedBoardsCannotbeRestored": "Удаленные доски не подлежат восстановлению",
|
||||
"assetsWithCount_one": "{{count}} ассет",
|
||||
"assetsWithCount_few": "{{count}} ассета",
|
||||
"assetsWithCount_many": "{{count}} ассетов",
|
||||
"imagesWithCount_one": "{{count}} изображение",
|
||||
"imagesWithCount_few": "{{count}} изображения",
|
||||
"imagesWithCount_many": "{{count}} изображений",
|
||||
"archiveBoard": "Архивировать доску",
|
||||
"archived": "Заархивировано",
|
||||
"unarchiveBoard": "Разархивировать доску",
|
||||
"selectedForAutoAdd": "Выбрано для автодобавления",
|
||||
"addSharedBoard": "Добавить общую доску",
|
||||
"boards": "Доски",
|
||||
"addPrivateBoard": "Добавить личную доску",
|
||||
"private": "Личные доски",
|
||||
"shared": "Общие доски"
|
||||
},
|
||||
"dynamicPrompts": {
|
||||
"seedBehaviour": {
|
||||
|
||||
@@ -70,7 +70,23 @@
|
||||
"add": "添加",
|
||||
"loglevel": "日志级别",
|
||||
"copy": "复制",
|
||||
"localSystem": "本地系统"
|
||||
"localSystem": "本地系统",
|
||||
"aboutHeading": "掌握你的创造力",
|
||||
"comparing": "对比中",
|
||||
"comparingDesc": "正在对比两张图片",
|
||||
"enabled": "已启用",
|
||||
"disabled": "已禁用",
|
||||
"red": "红",
|
||||
"editor": "编辑器",
|
||||
"positivePrompt": "正向提示词",
|
||||
"negativePrompt": "反向提示词",
|
||||
"selected": "选中的",
|
||||
"viewing": "查看",
|
||||
"viewingDesc": "在大型画廊视图中查看图片",
|
||||
"editing": "编辑中",
|
||||
"green": "绿",
|
||||
"blue": "蓝",
|
||||
"editingDesc": "在控制图层画布上编辑"
|
||||
},
|
||||
"gallery": {
|
||||
"galleryImageSize": "预览大小",
|
||||
@@ -100,7 +116,24 @@
|
||||
"problemDeletingImagesDesc": "有一张或多张图像无法被删除",
|
||||
"problemDeletingImages": "删除图像时出现问题",
|
||||
"unstarImage": "取消收藏图像",
|
||||
"starImage": "收藏图像"
|
||||
"starImage": "收藏图像",
|
||||
"alwaysShowImageSizeBadge": "始终显示图像尺寸",
|
||||
"selectForCompare": "选择以比较",
|
||||
"selectAnImageToCompare": "选择一个图像进行比较",
|
||||
"slider": "滑块",
|
||||
"sideBySide": "并排",
|
||||
"bulkDownloadFailed": "下载失败",
|
||||
"bulkDownloadRequested": "准备下载",
|
||||
"bulkDownloadRequestedDesc": "您的下载请求正在准备中,这可能需要一些时间。",
|
||||
"bulkDownloadRequestFailed": "下载准备过程中出现问题",
|
||||
"viewerImage": "查看器图像",
|
||||
"compareImage": "对比图像",
|
||||
"openInViewer": "在查看器中打开",
|
||||
"selectAllOnBoard": "选择板块全部",
|
||||
"hover": "悬停",
|
||||
"selectAllOnPage": "选择本页全部",
|
||||
"swapImages": "交换图像",
|
||||
"compareOptions": "比较选项"
|
||||
},
|
||||
"hotkeys": {
|
||||
"keyboardShortcuts": "快捷键",
|
||||
@@ -604,7 +637,8 @@
|
||||
"mode": "模式",
|
||||
"resetUI": "$t(accessibility.reset) UI",
|
||||
"createIssue": "创建问题",
|
||||
"about": "关于"
|
||||
"about": "关于",
|
||||
"submitSupportTicket": "提交支持工单"
|
||||
},
|
||||
"tooltip": {
|
||||
"feature": {
|
||||
@@ -806,7 +840,21 @@
|
||||
"controlAdapter_other": "Control Adapters",
|
||||
"lineartAnime": "Lineart Anime",
|
||||
"canny": "Canny",
|
||||
"resizeSimple": "缩放(简单)"
|
||||
"resizeSimple": "缩放(简单)",
|
||||
"body": "身体",
|
||||
"ipAdapterMethod": "方法",
|
||||
"setControlImageDimensionsForce": "将尺寸复制到宽/高(忽略模型)",
|
||||
"depthAnythingDescription": "使用Depth Anything技术生成深度图",
|
||||
"selectCLIPVisionModel": "选择一个CLIP视觉模型",
|
||||
"small": "小",
|
||||
"full": "全部",
|
||||
"large": "大",
|
||||
"face": "脸",
|
||||
"style": "仅风格",
|
||||
"hands": "手",
|
||||
"composition": "仅构图",
|
||||
"modelSize": "模型尺寸",
|
||||
"dwOpenposeDescription": "使用DW Openpose进行人体姿态预估"
|
||||
},
|
||||
"queue": {
|
||||
"status": "状态",
|
||||
@@ -863,7 +911,10 @@
|
||||
"graphFailedToQueue": "节点图加入队列失败",
|
||||
"batchFieldValues": "批处理值",
|
||||
"time": "时间",
|
||||
"openQueue": "打开队列"
|
||||
"openQueue": "打开队列",
|
||||
"prompts_other": "提示词",
|
||||
"iterations_other": "迭代",
|
||||
"generations_other": "生成"
|
||||
},
|
||||
"sdxl": {
|
||||
"refinerStart": "Refiner 开始作用时机",
|
||||
@@ -1238,5 +1289,9 @@
|
||||
"image": {
|
||||
"title": "图像"
|
||||
}
|
||||
},
|
||||
"prompt": {
|
||||
"addPromptTrigger": "添加提示词触发器",
|
||||
"noMatchingTriggers": "没有匹配的触发器"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -31,19 +31,13 @@ export const addArchivedOrDeletedBoardListener = (startAppListening: AppStartLis
|
||||
return;
|
||||
}
|
||||
|
||||
let didReset = false;
|
||||
|
||||
if (!queryResult.data.find((board) => board.board_id === autoAddBoardId)) {
|
||||
dispatch(autoAddBoardIdChanged('none'));
|
||||
didReset = true;
|
||||
}
|
||||
if (!queryResult.data.find((board) => board.board_id === selectedBoardId)) {
|
||||
dispatch(boardIdSelected({ boardId: 'none' }));
|
||||
didReset = true;
|
||||
}
|
||||
if (didReset) {
|
||||
dispatch(galleryViewChanged('images'));
|
||||
}
|
||||
if (!queryResult.data.find((board) => board.board_id === autoAddBoardId)) {
|
||||
dispatch(autoAddBoardIdChanged('none'));
|
||||
}
|
||||
},
|
||||
});
|
||||
|
||||
@@ -90,25 +84,17 @@ export const addArchivedOrDeletedBoardListener = (startAppListening: AppStartLis
|
||||
return;
|
||||
}
|
||||
|
||||
let didReset = false;
|
||||
|
||||
// Handle the case where selected board is archived
|
||||
const selectedBoard = queryResult.data.find((b) => b.board_id === selectedBoardId);
|
||||
if (selectedBoard && selectedBoard.archived) {
|
||||
dispatch(boardIdSelected({ boardId: 'none' }));
|
||||
didReset = true;
|
||||
dispatch(galleryViewChanged('images'));
|
||||
}
|
||||
|
||||
// Handle the case where auto-add board is archived
|
||||
const autoAddBoard = queryResult.data.find((b) => b.board_id === autoAddBoardId);
|
||||
if (autoAddBoard && autoAddBoard.archived) {
|
||||
dispatch(autoAddBoardIdChanged('none'));
|
||||
didReset = true;
|
||||
}
|
||||
|
||||
// When resetting the auto-add board or selected board, we should also reset the view to images
|
||||
if (didReset) {
|
||||
dispatch(galleryViewChanged('images'));
|
||||
}
|
||||
},
|
||||
});
|
||||
@@ -123,25 +109,15 @@ export const addArchivedOrDeletedBoardListener = (startAppListening: AppStartLis
|
||||
const state = getState();
|
||||
const { selectedBoardId, autoAddBoardId } = state.gallery;
|
||||
|
||||
let didReset = false;
|
||||
|
||||
// Handle the case where selected board isn't in the list of boards
|
||||
const selectedBoard = boards.find((b) => b.board_id === selectedBoardId);
|
||||
if (selectedBoard && selectedBoard.archived) {
|
||||
if (!boards.find((b) => b.board_id === selectedBoardId)) {
|
||||
dispatch(boardIdSelected({ boardId: 'none' }));
|
||||
didReset = true;
|
||||
dispatch(galleryViewChanged('images'));
|
||||
}
|
||||
|
||||
// Handle the case where auto-add board isn't in the list of boards
|
||||
const autoAddBoard = boards.find((b) => b.board_id === autoAddBoardId);
|
||||
if (autoAddBoard && autoAddBoard.archived) {
|
||||
if (!boards.find((b) => b.board_id === autoAddBoardId)) {
|
||||
dispatch(autoAddBoardIdChanged('none'));
|
||||
didReset = true;
|
||||
}
|
||||
|
||||
// When resetting the auto-add board or selected board, we should also reset the view to images
|
||||
if (didReset) {
|
||||
dispatch(galleryViewChanged('images'));
|
||||
}
|
||||
},
|
||||
});
|
||||
|
||||
@@ -136,7 +136,12 @@ export const addImageDeletionListeners = (startAppListening: AppStartListening)
|
||||
if (data) {
|
||||
const deletedImageIndex = data.items.findIndex((i) => i.image_name === imageDTO.image_name);
|
||||
const nextImage = data.items[deletedImageIndex + 1] ?? data.items[0] ?? null;
|
||||
dispatch(imageSelected(nextImage));
|
||||
if (nextImage?.image_name === imageDTO.image_name) {
|
||||
// If the next image is the same as the deleted one, it means it was the last image, reset selection
|
||||
dispatch(imageSelected(null));
|
||||
} else {
|
||||
dispatch(imageSelected(nextImage));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -176,6 +181,8 @@ export const addImageDeletionListeners = (startAppListening: AppStartListening)
|
||||
const queryArgs = selectListImagesQueryArgs(state);
|
||||
const { data } = imagesApi.endpoints.listImages.select(queryArgs)(state);
|
||||
if (data) {
|
||||
// When we delete multiple images, we clear the selection. Then, the the next time we load images, we will
|
||||
// select the first one. This is handled below in the listener for `imagesApi.endpoints.listImages.matchFulfilled`.
|
||||
dispatch(imageSelected(null));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,7 +13,6 @@ import {
|
||||
import { $nodeExecutionStates, upsertExecutionState } from 'features/nodes/hooks/useExecutionState';
|
||||
import { zNodeStatus } from 'features/nodes/types/invocation';
|
||||
import { CANVAS_OUTPUT } from 'features/nodes/util/graph/constants';
|
||||
import { boardsApi } from 'services/api/endpoints/boards';
|
||||
import { imagesApi } from 'services/api/endpoints/images';
|
||||
import { getCategories, getListImagesUrl } from 'services/api/util';
|
||||
import { socketInvocationComplete } from 'services/events/actions';
|
||||
@@ -52,14 +51,6 @@ export const addInvocationCompleteEventListener = (startAppListening: AppStartLi
|
||||
}
|
||||
|
||||
if (!imageDTO.is_intermediate) {
|
||||
// update the total images for the board
|
||||
dispatch(
|
||||
boardsApi.util.updateQueryData('getBoardImagesTotal', imageDTO.board_id ?? 'none', (draft) => {
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
draft.total += 1;
|
||||
})
|
||||
);
|
||||
|
||||
dispatch(
|
||||
imagesApi.util.invalidateTags([
|
||||
{ type: 'Board', id: imageDTO.board_id ?? 'none' },
|
||||
|
||||
@@ -1,22 +1,12 @@
|
||||
import { useTranslation } from 'react-i18next';
|
||||
import { useGetBoardAssetsTotalQuery, useGetBoardImagesTotalQuery } from 'services/api/endpoints/boards';
|
||||
|
||||
type Props = {
|
||||
board_id: string;
|
||||
imageCount: number;
|
||||
assetCount: number;
|
||||
isArchived: boolean;
|
||||
};
|
||||
|
||||
export const BoardTotalsTooltip = ({ board_id, isArchived }: Props) => {
|
||||
export const BoardTotalsTooltip = ({ imageCount, assetCount, isArchived }: Props) => {
|
||||
const { t } = useTranslation();
|
||||
const { imagesTotal } = useGetBoardImagesTotalQuery(board_id, {
|
||||
selectFromResult: ({ data }) => {
|
||||
return { imagesTotal: data?.total ?? 0 };
|
||||
},
|
||||
});
|
||||
const { assetsTotal } = useGetBoardAssetsTotalQuery(board_id, {
|
||||
selectFromResult: ({ data }) => {
|
||||
return { assetsTotal: data?.total ?? 0 };
|
||||
},
|
||||
});
|
||||
return `${t('boards.imagesWithCount', { count: imagesTotal })}, ${t('boards.assetsWithCount', { count: assetsTotal })}${isArchived ? ` (${t('boards.archived')})` : ''}`;
|
||||
return `${t('boards.imagesWithCount', { count: imageCount })}, ${t('boards.assetsWithCount', { count: assetCount })}${isArchived ? ` (${t('boards.archived')})` : ''}`;
|
||||
};
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Flex, Text } from '@invoke-ai/ui-library';
|
||||
import { Box, Flex, Text } from '@invoke-ai/ui-library';
|
||||
import { EMPTY_ARRAY } from 'app/store/constants';
|
||||
import { useAppSelector } from 'app/store/storeHooks';
|
||||
import { overlayScrollbarsParams } from 'common/components/OverlayScrollbars/constants';
|
||||
@@ -40,9 +40,41 @@ const BoardsList = () => {
|
||||
|
||||
return (
|
||||
<>
|
||||
<Flex flexDir="column" gap={2} borderRadius="base" maxHeight="100%">
|
||||
<OverlayScrollbarsComponent defer style={overlayScrollbarsStyles} options={overlayScrollbarsParams.options}>
|
||||
{allowPrivateBoards && (
|
||||
<Box position="relative" w="full" h="full">
|
||||
<Box position="absolute" top={0} right={0} bottom={0} left={0}>
|
||||
<OverlayScrollbarsComponent defer style={overlayScrollbarsStyles} options={overlayScrollbarsParams.options}>
|
||||
{allowPrivateBoards && (
|
||||
<Flex direction="column" gap={1}>
|
||||
<Flex
|
||||
position="sticky"
|
||||
w="full"
|
||||
justifyContent="space-between"
|
||||
alignItems="center"
|
||||
ps={2}
|
||||
pb={1}
|
||||
pt={2}
|
||||
zIndex={1}
|
||||
top={0}
|
||||
bg="base.900"
|
||||
>
|
||||
<Text fontSize="md" fontWeight="semibold" userSelect="none">
|
||||
{t('boards.private')}
|
||||
</Text>
|
||||
<AddBoardButton isPrivateBoard={true} />
|
||||
</Flex>
|
||||
<Flex direction="column" gap={1}>
|
||||
<NoBoardBoard isSelected={selectedBoardId === 'none'} />
|
||||
{filteredPrivateBoards.map((board) => (
|
||||
<GalleryBoard
|
||||
board={board}
|
||||
isSelected={selectedBoardId === board.board_id}
|
||||
setBoardToDelete={setBoardToDelete}
|
||||
key={board.board_id}
|
||||
/>
|
||||
))}
|
||||
</Flex>
|
||||
</Flex>
|
||||
)}
|
||||
<Flex direction="column" gap={1}>
|
||||
<Flex
|
||||
position="sticky"
|
||||
@@ -50,19 +82,20 @@ const BoardsList = () => {
|
||||
justifyContent="space-between"
|
||||
alignItems="center"
|
||||
ps={2}
|
||||
py={1}
|
||||
pb={1}
|
||||
pt={2}
|
||||
zIndex={1}
|
||||
top={0}
|
||||
bg="base.900"
|
||||
>
|
||||
<Text fontSize="md" fontWeight="semibold" userSelect="none">
|
||||
{t('boards.private')}
|
||||
{allowPrivateBoards ? t('boards.shared') : t('boards.boards')}
|
||||
</Text>
|
||||
<AddBoardButton isPrivateBoard={true} />
|
||||
<AddBoardButton isPrivateBoard={false} />
|
||||
</Flex>
|
||||
<Flex direction="column" gap={1}>
|
||||
<NoBoardBoard isSelected={selectedBoardId === 'none'} />
|
||||
{filteredPrivateBoards.map((board) => (
|
||||
{!allowPrivateBoards && <NoBoardBoard isSelected={selectedBoardId === 'none'} />}
|
||||
{filteredSharedBoards.map((board) => (
|
||||
<GalleryBoard
|
||||
board={board}
|
||||
isSelected={selectedBoardId === board.board_id}
|
||||
@@ -72,38 +105,9 @@ const BoardsList = () => {
|
||||
))}
|
||||
</Flex>
|
||||
</Flex>
|
||||
)}
|
||||
<Flex direction="column" gap={1}>
|
||||
<Flex
|
||||
position="sticky"
|
||||
w="full"
|
||||
justifyContent="space-between"
|
||||
alignItems="center"
|
||||
ps={2}
|
||||
py={1}
|
||||
zIndex={1}
|
||||
top={0}
|
||||
bg="base.900"
|
||||
>
|
||||
<Text fontSize="md" fontWeight="semibold" userSelect="none">
|
||||
{allowPrivateBoards ? t('boards.shared') : t('boards.boards')}
|
||||
</Text>
|
||||
<AddBoardButton isPrivateBoard={false} />
|
||||
</Flex>
|
||||
<Flex direction="column" gap={1}>
|
||||
{!allowPrivateBoards && <NoBoardBoard isSelected={selectedBoardId === 'none'} />}
|
||||
{filteredSharedBoards.map((board) => (
|
||||
<GalleryBoard
|
||||
board={board}
|
||||
isSelected={selectedBoardId === board.board_id}
|
||||
setBoardToDelete={setBoardToDelete}
|
||||
key={board.board_id}
|
||||
/>
|
||||
))}
|
||||
</Flex>
|
||||
</Flex>
|
||||
</OverlayScrollbarsComponent>
|
||||
</Flex>
|
||||
</OverlayScrollbarsComponent>
|
||||
</Box>
|
||||
</Box>
|
||||
<DeleteBoardModal boardToDelete={boardToDelete} setBoardToDelete={setBoardToDelete} />
|
||||
</>
|
||||
);
|
||||
|
||||
@@ -116,7 +116,13 @@ const GalleryBoard = ({ board, isSelected, setBoardToDelete }: GalleryBoardProps
|
||||
<BoardContextMenu board={board} setBoardToDelete={setBoardToDelete}>
|
||||
{(ref) => (
|
||||
<Tooltip
|
||||
label={<BoardTotalsTooltip board_id={board.board_id} isArchived={Boolean(board.archived)} />}
|
||||
label={
|
||||
<BoardTotalsTooltip
|
||||
imageCount={board.image_count}
|
||||
assetCount={board.asset_count}
|
||||
isArchived={Boolean(board.archived)}
|
||||
/>
|
||||
}
|
||||
openDelay={1000}
|
||||
placement="left"
|
||||
closeOnScroll
|
||||
@@ -166,7 +172,7 @@ const GalleryBoard = ({ board, isSelected, setBoardToDelete }: GalleryBoardProps
|
||||
</Editable>
|
||||
{autoAddBoardId === board.board_id && !editingDisclosure.isOpen && <AutoAddBadge />}
|
||||
{board.archived && !editingDisclosure.isOpen && <Icon as={PiArchiveBold} fill="base.300" />}
|
||||
{!editingDisclosure.isOpen && <Text variant="subtext">{board.image_count}</Text>}
|
||||
{!editingDisclosure.isOpen && <Text variant="subtext">{board.image_count + board.asset_count}</Text>}
|
||||
|
||||
<IAIDroppable data={droppableData} dropLabel={<Text fontSize="md">{t('unifiedCanvas.move')}</Text>} />
|
||||
</Flex>
|
||||
|
||||
@@ -9,7 +9,7 @@ import NoBoardBoardContextMenu from 'features/gallery/components/Boards/NoBoardB
|
||||
import { autoAddBoardIdChanged, boardIdSelected } from 'features/gallery/store/gallerySlice';
|
||||
import { memo, useCallback, useMemo } from 'react';
|
||||
import { useTranslation } from 'react-i18next';
|
||||
import { useGetBoardImagesTotalQuery } from 'services/api/endpoints/boards';
|
||||
import { useGetUncategorizedImageCountsQuery } from 'services/api/endpoints/boards';
|
||||
import { useBoardName } from 'services/api/hooks/useBoardName';
|
||||
|
||||
interface Props {
|
||||
@@ -22,11 +22,7 @@ const _hover: SystemStyleObject = {
|
||||
|
||||
const NoBoardBoard = memo(({ isSelected }: Props) => {
|
||||
const dispatch = useAppDispatch();
|
||||
const { imagesTotal } = useGetBoardImagesTotalQuery('none', {
|
||||
selectFromResult: ({ data }) => {
|
||||
return { imagesTotal: data?.total ?? 0 };
|
||||
},
|
||||
});
|
||||
const { data } = useGetUncategorizedImageCountsQuery();
|
||||
const autoAddBoardId = useAppSelector((s) => s.gallery.autoAddBoardId);
|
||||
const autoAssignBoardOnClick = useAppSelector((s) => s.gallery.autoAssignBoardOnClick);
|
||||
const boardSearchText = useAppSelector((s) => s.gallery.boardSearchText);
|
||||
@@ -60,7 +56,13 @@ const NoBoardBoard = memo(({ isSelected }: Props) => {
|
||||
<NoBoardBoardContextMenu>
|
||||
{(ref) => (
|
||||
<Tooltip
|
||||
label={<BoardTotalsTooltip board_id="none" isArchived={false} />}
|
||||
label={
|
||||
<BoardTotalsTooltip
|
||||
imageCount={data?.image_count ?? 0}
|
||||
assetCount={data?.asset_count ?? 0}
|
||||
isArchived={false}
|
||||
/>
|
||||
}
|
||||
openDelay={1000}
|
||||
placement="left"
|
||||
closeOnScroll
|
||||
@@ -99,7 +101,7 @@ const NoBoardBoard = memo(({ isSelected }: Props) => {
|
||||
{boardName}
|
||||
</Text>
|
||||
{autoAddBoardId === 'none' && <AutoAddBadge />}
|
||||
<Text variant="subtext">{imagesTotal}</Text>
|
||||
<Text variant="subtext">{(data?.image_count ?? 0) + (data?.asset_count ?? 0)}</Text>
|
||||
<IAIDroppable data={droppableData} dropLabel={<Text fontSize="md">{t('unifiedCanvas.move')}</Text>} />
|
||||
</Flex>
|
||||
</Tooltip>
|
||||
|
||||
@@ -16,6 +16,7 @@ import { GalleryHeader } from 'features/gallery/components/GalleryHeader';
|
||||
import { galleryViewChanged } from 'features/gallery/store/gallerySlice';
|
||||
import ResizeHandle from 'features/ui/components/tabs/ResizeHandle';
|
||||
import { usePanel, type UsePanelOptions } from 'features/ui/hooks/usePanel';
|
||||
import type { CSSProperties } from 'react';
|
||||
import { memo, useCallback, useMemo, useRef } from 'react';
|
||||
import { useTranslation } from 'react-i18next';
|
||||
import { PiMagnifyingGlassBold } from 'react-icons/pi';
|
||||
@@ -29,13 +30,15 @@ import GalleryImageGrid from './ImageGrid/GalleryImageGrid';
|
||||
import { GalleryPagination } from './ImageGrid/GalleryPagination';
|
||||
import { GallerySearch } from './ImageGrid/GallerySearch';
|
||||
|
||||
const baseStyles: ChakraProps['sx'] = {
|
||||
const COLLAPSE_STYLES: CSSProperties = { flexShrink: 0, minHeight: 0 };
|
||||
|
||||
const BASE_STYLES: ChakraProps['sx'] = {
|
||||
fontWeight: 'semibold',
|
||||
fontSize: 'sm',
|
||||
color: 'base.300',
|
||||
};
|
||||
|
||||
const selectedStyles: ChakraProps['sx'] = {
|
||||
const SELECTED_STYLES: ChakraProps['sx'] = {
|
||||
borderColor: 'base.800',
|
||||
borderBottomColor: 'base.900',
|
||||
color: 'invokeBlue.300',
|
||||
@@ -110,11 +113,13 @@ const ImageGalleryContent = () => {
|
||||
onExpand={boardsListPanel.onExpand}
|
||||
collapsible
|
||||
>
|
||||
<Collapse in={boardSearchDisclosure.isOpen}>
|
||||
<BoardsSearch />
|
||||
</Collapse>
|
||||
<Divider pt={2} />
|
||||
<BoardsList />
|
||||
<Flex flexDir="column" w="full" h="full">
|
||||
<Collapse in={boardSearchDisclosure.isOpen} style={COLLAPSE_STYLES}>
|
||||
<BoardsSearch />
|
||||
</Collapse>
|
||||
<Divider pt={2} />
|
||||
<BoardsList />
|
||||
</Flex>
|
||||
</Panel>
|
||||
<ResizeHandle
|
||||
id="gallery-panel-handle"
|
||||
@@ -125,10 +130,10 @@ const ImageGalleryContent = () => {
|
||||
<Flex flexDirection="column" alignItems="center" justifyContent="space-between" h="full" w="full">
|
||||
<Tabs index={galleryView === 'images' ? 0 : 1} variant="enclosed" display="flex" flexDir="column" w="full">
|
||||
<TabList gap={2} fontSize="sm" borderColor="base.800">
|
||||
<Tab sx={baseStyles} _selected={selectedStyles} onClick={handleClickImages} data-testid="images-tab">
|
||||
<Tab sx={BASE_STYLES} _selected={SELECTED_STYLES} onClick={handleClickImages} data-testid="images-tab">
|
||||
{t('parameters.images')}
|
||||
</Tab>
|
||||
<Tab sx={baseStyles} _selected={selectedStyles} onClick={handleClickAssets} data-testid="assets-tab">
|
||||
<Tab sx={BASE_STYLES} _selected={SELECTED_STYLES} onClick={handleClickAssets} data-testid="assets-tab">
|
||||
{t('gallery.assets')}
|
||||
</Tab>
|
||||
<Spacer />
|
||||
@@ -157,7 +162,7 @@ const ImageGalleryContent = () => {
|
||||
</TabList>
|
||||
</Tabs>
|
||||
<Box w="full">
|
||||
<Collapse in={searchDisclosure.isOpen}>
|
||||
<Collapse in={searchDisclosure.isOpen} style={COLLAPSE_STYLES}>
|
||||
<Box w="full" pt={2}>
|
||||
<GallerySearch />
|
||||
</Box>
|
||||
|
||||
@@ -1,12 +1,4 @@
|
||||
import { ASSETS_CATEGORIES, IMAGE_CATEGORIES } from 'features/gallery/store/types';
|
||||
import type {
|
||||
BoardDTO,
|
||||
CreateBoardArg,
|
||||
ListBoardsArgs,
|
||||
OffsetPaginatedResults_ImageDTO_,
|
||||
UpdateBoardArg,
|
||||
} from 'services/api/types';
|
||||
import { getListImagesUrl } from 'services/api/util';
|
||||
import type { BoardDTO, CreateBoardArg, ListBoardsArgs, S, UpdateBoardArg } from 'services/api/types';
|
||||
|
||||
import type { ApiTagDescription } from '..';
|
||||
import { api, buildV1Url, LIST_TAG } from '..';
|
||||
@@ -55,38 +47,11 @@ export const boardsApi = api.injectEndpoints({
|
||||
keepUnusedDataFor: 0,
|
||||
}),
|
||||
|
||||
getBoardImagesTotal: build.query<{ total: number }, string | undefined>({
|
||||
query: (board_id) => ({
|
||||
url: getListImagesUrl({
|
||||
board_id: board_id ?? 'none',
|
||||
categories: IMAGE_CATEGORIES,
|
||||
is_intermediate: false,
|
||||
limit: 0,
|
||||
offset: 0,
|
||||
}),
|
||||
method: 'GET',
|
||||
getUncategorizedImageCounts: build.query<S['UncategorizedImageCounts'], void>({
|
||||
query: () => ({
|
||||
url: buildBoardsUrl('uncategorized/counts'),
|
||||
}),
|
||||
providesTags: (result, error, arg) => [{ type: 'BoardImagesTotal', id: arg ?? 'none' }, 'FetchOnReconnect'],
|
||||
transformResponse: (response: OffsetPaginatedResults_ImageDTO_) => {
|
||||
return { total: response.total };
|
||||
},
|
||||
}),
|
||||
|
||||
getBoardAssetsTotal: build.query<{ total: number }, string | undefined>({
|
||||
query: (board_id) => ({
|
||||
url: getListImagesUrl({
|
||||
board_id: board_id ?? 'none',
|
||||
categories: ASSETS_CATEGORIES,
|
||||
is_intermediate: false,
|
||||
limit: 0,
|
||||
offset: 0,
|
||||
}),
|
||||
method: 'GET',
|
||||
}),
|
||||
providesTags: (result, error, arg) => [{ type: 'BoardAssetsTotal', id: arg ?? 'none' }, 'FetchOnReconnect'],
|
||||
transformResponse: (response: OffsetPaginatedResults_ImageDTO_) => {
|
||||
return { total: response.total };
|
||||
},
|
||||
providesTags: ['UncategorizedImageCounts', { type: 'Board', id: LIST_TAG }, { type: 'Board', id: 'none' }],
|
||||
}),
|
||||
|
||||
/**
|
||||
@@ -124,9 +89,8 @@ export const boardsApi = api.injectEndpoints({
|
||||
|
||||
export const {
|
||||
useListAllBoardsQuery,
|
||||
useGetBoardImagesTotalQuery,
|
||||
useGetBoardAssetsTotalQuery,
|
||||
useCreateBoardMutation,
|
||||
useUpdateBoardMutation,
|
||||
useListAllImageNamesForBoardQuery,
|
||||
useGetUncategorizedImageCountsQuery,
|
||||
} = boardsApi;
|
||||
|
||||
@@ -93,7 +93,6 @@ export const imagesApi = api.injectEndpoints({
|
||||
const boardId = imageDTO.board_id ?? 'none';
|
||||
|
||||
return [
|
||||
{ type: 'Image', id: imageDTO.image_name },
|
||||
{
|
||||
type: 'ImageList',
|
||||
id: getListImagesUrl({
|
||||
@@ -138,9 +137,6 @@ export const imagesApi = api.injectEndpoints({
|
||||
id: boardId,
|
||||
},
|
||||
];
|
||||
for (const imageDTO of imageDTOs) {
|
||||
tags.push({ type: 'Image', id: imageDTO.image_name });
|
||||
}
|
||||
|
||||
return tags;
|
||||
}
|
||||
@@ -508,7 +504,6 @@ export const imagesApi = api.injectEndpoints({
|
||||
export const {
|
||||
useGetIntermediatesCountQuery,
|
||||
useListImagesQuery,
|
||||
useGetImageDTOQuery,
|
||||
useGetImageMetadataQuery,
|
||||
useGetImageWorkflowQuery,
|
||||
useLazyGetImageWorkflowQuery,
|
||||
@@ -526,6 +521,10 @@ export const {
|
||||
useBulkDownloadImagesMutation,
|
||||
} = imagesApi;
|
||||
|
||||
export const useGetImageDTOQuery = (...args: Parameters<typeof imagesApi.useGetImageDTOQuery>) => {
|
||||
return imagesApi.useGetImageDTOQuery(...args);
|
||||
};
|
||||
|
||||
/**
|
||||
* Imperative RTKQ helper to fetch an ImageDTO.
|
||||
* @param image_name The name of the image to fetch
|
||||
|
||||
@@ -44,6 +44,7 @@ const tagTypes = [
|
||||
// This is invalidated on reconnect. It should be used for queries that have changing data,
|
||||
// especially related to the queue and generation.
|
||||
'FetchOnReconnect',
|
||||
'UncategorizedImageCounts',
|
||||
] as const;
|
||||
export type ApiTagDescription = TagDescription<(typeof tagTypes)[number]>;
|
||||
export const LIST_TAG = 'LIST';
|
||||
|
||||
@@ -333,6 +333,13 @@ export type paths = {
|
||||
*/
|
||||
get: operations["list_all_board_image_names"];
|
||||
};
|
||||
"/api/v1/boards/uncategorized/counts": {
|
||||
/**
|
||||
* Get Uncategorized Image Counts
|
||||
* @description Gets count of images and assets for uncategorized images (images with no board assocation)
|
||||
*/
|
||||
get: operations["get_uncategorized_image_counts"];
|
||||
};
|
||||
"/api/v1/board_images/": {
|
||||
/**
|
||||
* Add Image To Board
|
||||
@@ -1020,7 +1027,7 @@ export type components = {
|
||||
};
|
||||
/**
|
||||
* BoardDTO
|
||||
* @description Deserialized board record with cover image URL and image count.
|
||||
* @description Deserialized board record.
|
||||
*/
|
||||
BoardDTO: {
|
||||
/**
|
||||
@@ -1050,9 +1057,9 @@ export type components = {
|
||||
deleted_at?: string | null;
|
||||
/**
|
||||
* Cover Image Name
|
||||
* @description The name of the board's cover image.
|
||||
* @description The name of the cover image of the board.
|
||||
*/
|
||||
cover_image_name: string | null;
|
||||
cover_image_name?: string | null;
|
||||
/**
|
||||
* Archived
|
||||
* @description Whether or not the board is archived.
|
||||
@@ -1068,6 +1075,11 @@ export type components = {
|
||||
* @description The number of images in the board.
|
||||
*/
|
||||
image_count: number;
|
||||
/**
|
||||
* Asset Count
|
||||
* @description The number of assets in the board.
|
||||
*/
|
||||
asset_count: number;
|
||||
};
|
||||
/**
|
||||
* BoardField
|
||||
@@ -7304,145 +7316,145 @@ export type components = {
|
||||
project_id: string | null;
|
||||
};
|
||||
InvocationOutputMap: {
|
||||
rectangle_mask: components["schemas"]["MaskOutput"];
|
||||
hed_image_processor: components["schemas"]["ImageOutput"];
|
||||
compel: components["schemas"]["ConditioningOutput"];
|
||||
img_resize: components["schemas"]["ImageOutput"];
|
||||
ideal_size: components["schemas"]["IdealSizeOutput"];
|
||||
rand_int: components["schemas"]["IntegerOutput"];
|
||||
clip_skip: components["schemas"]["CLIPSkipInvocationOutput"];
|
||||
string_collection: components["schemas"]["StringCollectionOutput"];
|
||||
create_gradient_mask: components["schemas"]["GradientMaskOutput"];
|
||||
round_float: components["schemas"]["FloatOutput"];
|
||||
scheduler: components["schemas"]["SchedulerOutput"];
|
||||
main_model_loader: components["schemas"]["ModelLoaderOutput"];
|
||||
string_split: components["schemas"]["String2Output"];
|
||||
mask_from_id: components["schemas"]["ImageOutput"];
|
||||
collect: components["schemas"]["CollectInvocationOutput"];
|
||||
heuristic_resize: components["schemas"]["ImageOutput"];
|
||||
tomask: components["schemas"]["ImageOutput"];
|
||||
boolean_collection: components["schemas"]["BooleanCollectionOutput"];
|
||||
core_metadata: components["schemas"]["MetadataOutput"];
|
||||
canny_image_processor: components["schemas"]["ImageOutput"];
|
||||
string_replace: components["schemas"]["StringOutput"];
|
||||
face_mask_detection: components["schemas"]["FaceMaskOutput"];
|
||||
integer: components["schemas"]["IntegerOutput"];
|
||||
img_watermark: components["schemas"]["ImageOutput"];
|
||||
img_crop: components["schemas"]["ImageOutput"];
|
||||
t2i_adapter: components["schemas"]["T2IAdapterOutput"];
|
||||
create_denoise_mask: components["schemas"]["DenoiseMaskOutput"];
|
||||
rand_float: components["schemas"]["FloatOutput"];
|
||||
zoe_depth_image_processor: components["schemas"]["ImageOutput"];
|
||||
face_off: components["schemas"]["FaceOffOutput"];
|
||||
tile_to_properties: components["schemas"]["TileToPropertiesOutput"];
|
||||
color_map_image_processor: components["schemas"]["ImageOutput"];
|
||||
lineart_anime_image_processor: components["schemas"]["ImageOutput"];
|
||||
face_identifier: components["schemas"]["ImageOutput"];
|
||||
float_math: components["schemas"]["FloatOutput"];
|
||||
mediapipe_face_processor: components["schemas"]["ImageOutput"];
|
||||
img_channel_multiply: components["schemas"]["ImageOutput"];
|
||||
metadata_item: components["schemas"]["MetadataItemOutput"];
|
||||
img_ilerp: components["schemas"]["ImageOutput"];
|
||||
conditioning: components["schemas"]["ConditioningOutput"];
|
||||
pidi_image_processor: components["schemas"]["ImageOutput"];
|
||||
seamless: components["schemas"]["SeamlessModeOutput"];
|
||||
latents: components["schemas"]["LatentsOutput"];
|
||||
img_chan: components["schemas"]["ImageOutput"];
|
||||
model_identifier: components["schemas"]["ModelIdentifierOutput"];
|
||||
noise: components["schemas"]["NoiseOutput"];
|
||||
string_join: components["schemas"]["StringOutput"];
|
||||
blank_image: components["schemas"]["ImageOutput"];
|
||||
calculate_image_tiles: components["schemas"]["CalculateImageTilesOutput"];
|
||||
invert_tensor_mask: components["schemas"]["MaskOutput"];
|
||||
save_image: components["schemas"]["ImageOutput"];
|
||||
unsharp_mask: components["schemas"]["ImageOutput"];
|
||||
image_mask_to_tensor: components["schemas"]["MaskOutput"];
|
||||
step_param_easing: components["schemas"]["FloatCollectionOutput"];
|
||||
merge_tiles_to_image: components["schemas"]["ImageOutput"];
|
||||
integer_collection: components["schemas"]["IntegerCollectionOutput"];
|
||||
calculate_image_tiles_even_split: components["schemas"]["CalculateImageTilesOutput"];
|
||||
integer_math: components["schemas"]["IntegerOutput"];
|
||||
range: components["schemas"]["IntegerCollectionOutput"];
|
||||
prompt_from_file: components["schemas"]["StringCollectionOutput"];
|
||||
segment_anything_processor: components["schemas"]["ImageOutput"];
|
||||
freeu: components["schemas"]["UNetOutput"];
|
||||
sub: components["schemas"]["IntegerOutput"];
|
||||
lresize: components["schemas"]["LatentsOutput"];
|
||||
float: components["schemas"]["FloatOutput"];
|
||||
float_collection: components["schemas"]["FloatCollectionOutput"];
|
||||
dynamic_prompt: components["schemas"]["StringCollectionOutput"];
|
||||
infill_lama: components["schemas"]["ImageOutput"];
|
||||
l2i: components["schemas"]["ImageOutput"];
|
||||
img_lerp: components["schemas"]["ImageOutput"];
|
||||
ip_adapter: components["schemas"]["IPAdapterOutput"];
|
||||
lora_collection_loader: components["schemas"]["LoRALoaderOutput"];
|
||||
color: components["schemas"]["ColorOutput"];
|
||||
tiled_multi_diffusion_denoise_latents: components["schemas"]["LatentsOutput"];
|
||||
cv_inpaint: components["schemas"]["ImageOutput"];
|
||||
lscale: components["schemas"]["LatentsOutput"];
|
||||
string: components["schemas"]["StringOutput"];
|
||||
sdxl_refiner_compel_prompt: components["schemas"]["ConditioningOutput"];
|
||||
string_join_three: components["schemas"]["StringOutput"];
|
||||
midas_depth_image_processor: components["schemas"]["ImageOutput"];
|
||||
esrgan: components["schemas"]["ImageOutput"];
|
||||
sdxl_refiner_model_loader: components["schemas"]["SDXLRefinerModelLoaderOutput"];
|
||||
mul: components["schemas"]["IntegerOutput"];
|
||||
normalbae_image_processor: components["schemas"]["ImageOutput"];
|
||||
infill_rgba: components["schemas"]["ImageOutput"];
|
||||
sdxl_model_loader: components["schemas"]["SDXLModelLoaderOutput"];
|
||||
vae_loader: components["schemas"]["VAEOutput"];
|
||||
float_to_int: components["schemas"]["IntegerOutput"];
|
||||
lora_selector: components["schemas"]["LoRASelectorOutput"];
|
||||
crop_latents: components["schemas"]["LatentsOutput"];
|
||||
img_mul: components["schemas"]["ImageOutput"];
|
||||
float_range: components["schemas"]["FloatCollectionOutput"];
|
||||
merge_metadata: components["schemas"]["MetadataOutput"];
|
||||
img_blur: components["schemas"]["ImageOutput"];
|
||||
boolean: components["schemas"]["BooleanOutput"];
|
||||
tile_image_processor: components["schemas"]["ImageOutput"];
|
||||
mlsd_image_processor: components["schemas"]["ImageOutput"];
|
||||
infill_patchmatch: components["schemas"]["ImageOutput"];
|
||||
img_pad_crop: components["schemas"]["ImageOutput"];
|
||||
leres_image_processor: components["schemas"]["ImageOutput"];
|
||||
sdxl_lora_loader: components["schemas"]["SDXLLoRALoaderOutput"];
|
||||
dw_openpose_image_processor: components["schemas"]["ImageOutput"];
|
||||
img_scale: components["schemas"]["ImageOutput"];
|
||||
pair_tile_image: components["schemas"]["PairTileImageOutput"];
|
||||
lblend: components["schemas"]["LatentsOutput"];
|
||||
range_of_size: components["schemas"]["IntegerCollectionOutput"];
|
||||
image_collection: components["schemas"]["ImageCollectionOutput"];
|
||||
calculate_image_tiles_min_overlap: components["schemas"]["CalculateImageTilesOutput"];
|
||||
img_channel_offset: components["schemas"]["ImageOutput"];
|
||||
alpha_mask_to_tensor: components["schemas"]["MaskOutput"];
|
||||
infill_cv2: components["schemas"]["ImageOutput"];
|
||||
mask_combine: components["schemas"]["ImageOutput"];
|
||||
string_split_neg: components["schemas"]["StringPosNegOutput"];
|
||||
sdxl_lora_collection_loader: components["schemas"]["SDXLLoRALoaderOutput"];
|
||||
lineart_image_processor: components["schemas"]["ImageOutput"];
|
||||
img_nsfw: components["schemas"]["ImageOutput"];
|
||||
image: components["schemas"]["ImageOutput"];
|
||||
content_shuffle_image_processor: components["schemas"]["ImageOutput"];
|
||||
canvas_paste_back: components["schemas"]["ImageOutput"];
|
||||
iterate: components["schemas"]["IterateInvocationOutput"];
|
||||
div: components["schemas"]["IntegerOutput"];
|
||||
latents_collection: components["schemas"]["LatentsCollectionOutput"];
|
||||
img_conv: components["schemas"]["ImageOutput"];
|
||||
mask_edge: components["schemas"]["ImageOutput"];
|
||||
conditioning_collection: components["schemas"]["ConditioningCollectionOutput"];
|
||||
img_hue_adjust: components["schemas"]["ImageOutput"];
|
||||
depth_anything_image_processor: components["schemas"]["ImageOutput"];
|
||||
lora_loader: components["schemas"]["LoRALoaderOutput"];
|
||||
sdxl_compel_prompt: components["schemas"]["ConditioningOutput"];
|
||||
add: components["schemas"]["IntegerOutput"];
|
||||
controlnet: components["schemas"]["ControlOutput"];
|
||||
color_correct: components["schemas"]["ImageOutput"];
|
||||
random_range: components["schemas"]["IntegerCollectionOutput"];
|
||||
denoise_latents: components["schemas"]["LatentsOutput"];
|
||||
metadata: components["schemas"]["MetadataOutput"];
|
||||
i2l: components["schemas"]["LatentsOutput"];
|
||||
show_image: components["schemas"]["ImageOutput"];
|
||||
img_paste: components["schemas"]["ImageOutput"];
|
||||
clip_skip: components["schemas"]["CLIPSkipInvocationOutput"];
|
||||
canvas_paste_back: components["schemas"]["ImageOutput"];
|
||||
seamless: components["schemas"]["SeamlessModeOutput"];
|
||||
blank_image: components["schemas"]["ImageOutput"];
|
||||
dynamic_prompt: components["schemas"]["StringCollectionOutput"];
|
||||
step_param_easing: components["schemas"]["FloatCollectionOutput"];
|
||||
latents_collection: components["schemas"]["LatentsCollectionOutput"];
|
||||
normalbae_image_processor: components["schemas"]["ImageOutput"];
|
||||
rand_float: components["schemas"]["FloatOutput"];
|
||||
lora_loader: components["schemas"]["LoRALoaderOutput"];
|
||||
collect: components["schemas"]["CollectInvocationOutput"];
|
||||
infill_rgba: components["schemas"]["ImageOutput"];
|
||||
img_lerp: components["schemas"]["ImageOutput"];
|
||||
integer_math: components["schemas"]["IntegerOutput"];
|
||||
conditioning_collection: components["schemas"]["ConditioningCollectionOutput"];
|
||||
mask_from_id: components["schemas"]["ImageOutput"];
|
||||
mlsd_image_processor: components["schemas"]["ImageOutput"];
|
||||
zoe_depth_image_processor: components["schemas"]["ImageOutput"];
|
||||
ideal_size: components["schemas"]["IdealSizeOutput"];
|
||||
conditioning: components["schemas"]["ConditioningOutput"];
|
||||
img_resize: components["schemas"]["ImageOutput"];
|
||||
integer_collection: components["schemas"]["IntegerCollectionOutput"];
|
||||
float_range: components["schemas"]["FloatCollectionOutput"];
|
||||
tile_to_properties: components["schemas"]["TileToPropertiesOutput"];
|
||||
alpha_mask_to_tensor: components["schemas"]["MaskOutput"];
|
||||
img_watermark: components["schemas"]["ImageOutput"];
|
||||
merge_tiles_to_image: components["schemas"]["ImageOutput"];
|
||||
merge_metadata: components["schemas"]["MetadataOutput"];
|
||||
round_float: components["schemas"]["FloatOutput"];
|
||||
denoise_latents: components["schemas"]["LatentsOutput"];
|
||||
string_join_three: components["schemas"]["StringOutput"];
|
||||
img_blur: components["schemas"]["ImageOutput"];
|
||||
color_map_image_processor: components["schemas"]["ImageOutput"];
|
||||
img_scale: components["schemas"]["ImageOutput"];
|
||||
infill_tile: components["schemas"]["ImageOutput"];
|
||||
add: components["schemas"]["IntegerOutput"];
|
||||
img_paste: components["schemas"]["ImageOutput"];
|
||||
img_crop: components["schemas"]["ImageOutput"];
|
||||
cv_inpaint: components["schemas"]["ImageOutput"];
|
||||
image_collection: components["schemas"]["ImageCollectionOutput"];
|
||||
img_pad_crop: components["schemas"]["ImageOutput"];
|
||||
canny_image_processor: components["schemas"]["ImageOutput"];
|
||||
model_identifier: components["schemas"]["ModelIdentifierOutput"];
|
||||
i2l: components["schemas"]["LatentsOutput"];
|
||||
face_mask_detection: components["schemas"]["FaceMaskOutput"];
|
||||
img_channel_multiply: components["schemas"]["ImageOutput"];
|
||||
sdxl_model_loader: components["schemas"]["SDXLModelLoaderOutput"];
|
||||
img_mul: components["schemas"]["ImageOutput"];
|
||||
tomask: components["schemas"]["ImageOutput"];
|
||||
image_mask_to_tensor: components["schemas"]["MaskOutput"];
|
||||
face_identifier: components["schemas"]["ImageOutput"];
|
||||
noise: components["schemas"]["NoiseOutput"];
|
||||
l2i: components["schemas"]["ImageOutput"];
|
||||
mul: components["schemas"]["IntegerOutput"];
|
||||
sub: components["schemas"]["IntegerOutput"];
|
||||
main_model_loader: components["schemas"]["ModelLoaderOutput"];
|
||||
controlnet: components["schemas"]["ControlOutput"];
|
||||
ip_adapter: components["schemas"]["IPAdapterOutput"];
|
||||
lscale: components["schemas"]["LatentsOutput"];
|
||||
sdxl_lora_collection_loader: components["schemas"]["SDXLLoRALoaderOutput"];
|
||||
latents: components["schemas"]["LatentsOutput"];
|
||||
string_split: components["schemas"]["String2Output"];
|
||||
sdxl_refiner_compel_prompt: components["schemas"]["ConditioningOutput"];
|
||||
esrgan: components["schemas"]["ImageOutput"];
|
||||
dw_openpose_image_processor: components["schemas"]["ImageOutput"];
|
||||
compel: components["schemas"]["ConditioningOutput"];
|
||||
sdxl_lora_loader: components["schemas"]["SDXLLoRALoaderOutput"];
|
||||
sdxl_compel_prompt: components["schemas"]["ConditioningOutput"];
|
||||
tile_image_processor: components["schemas"]["ImageOutput"];
|
||||
mediapipe_face_processor: components["schemas"]["ImageOutput"];
|
||||
metadata_item: components["schemas"]["MetadataItemOutput"];
|
||||
float_math: components["schemas"]["FloatOutput"];
|
||||
prompt_from_file: components["schemas"]["StringCollectionOutput"];
|
||||
pidi_image_processor: components["schemas"]["ImageOutput"];
|
||||
content_shuffle_image_processor: components["schemas"]["ImageOutput"];
|
||||
lineart_anime_image_processor: components["schemas"]["ImageOutput"];
|
||||
t2i_adapter: components["schemas"]["T2IAdapterOutput"];
|
||||
integer: components["schemas"]["IntegerOutput"];
|
||||
unsharp_mask: components["schemas"]["ImageOutput"];
|
||||
range: components["schemas"]["IntegerCollectionOutput"];
|
||||
string: components["schemas"]["StringOutput"];
|
||||
show_image: components["schemas"]["ImageOutput"];
|
||||
image: components["schemas"]["ImageOutput"];
|
||||
heuristic_resize: components["schemas"]["ImageOutput"];
|
||||
div: components["schemas"]["IntegerOutput"];
|
||||
rand_int: components["schemas"]["IntegerOutput"];
|
||||
float: components["schemas"]["FloatOutput"];
|
||||
img_conv: components["schemas"]["ImageOutput"];
|
||||
mask_combine: components["schemas"]["ImageOutput"];
|
||||
random_range: components["schemas"]["IntegerCollectionOutput"];
|
||||
boolean_collection: components["schemas"]["BooleanCollectionOutput"];
|
||||
pair_tile_image: components["schemas"]["PairTileImageOutput"];
|
||||
save_image: components["schemas"]["ImageOutput"];
|
||||
lora_selector: components["schemas"]["LoRASelectorOutput"];
|
||||
boolean: components["schemas"]["BooleanOutput"];
|
||||
tiled_multi_diffusion_denoise_latents: components["schemas"]["LatentsOutput"];
|
||||
rectangle_mask: components["schemas"]["MaskOutput"];
|
||||
lineart_image_processor: components["schemas"]["ImageOutput"];
|
||||
midas_depth_image_processor: components["schemas"]["ImageOutput"];
|
||||
img_nsfw: components["schemas"]["ImageOutput"];
|
||||
infill_patchmatch: components["schemas"]["ImageOutput"];
|
||||
infill_lama: components["schemas"]["ImageOutput"];
|
||||
infill_cv2: components["schemas"]["ImageOutput"];
|
||||
float_to_int: components["schemas"]["IntegerOutput"];
|
||||
color: components["schemas"]["ColorOutput"];
|
||||
lora_collection_loader: components["schemas"]["LoRALoaderOutput"];
|
||||
vae_loader: components["schemas"]["VAEOutput"];
|
||||
string_split_neg: components["schemas"]["StringPosNegOutput"];
|
||||
lresize: components["schemas"]["LatentsOutput"];
|
||||
string_collection: components["schemas"]["StringCollectionOutput"];
|
||||
invert_tensor_mask: components["schemas"]["MaskOutput"];
|
||||
depth_anything_image_processor: components["schemas"]["ImageOutput"];
|
||||
hed_image_processor: components["schemas"]["ImageOutput"];
|
||||
leres_image_processor: components["schemas"]["ImageOutput"];
|
||||
img_ilerp: components["schemas"]["ImageOutput"];
|
||||
freeu: components["schemas"]["UNetOutput"];
|
||||
mask_edge: components["schemas"]["ImageOutput"];
|
||||
string_join: components["schemas"]["StringOutput"];
|
||||
img_hue_adjust: components["schemas"]["ImageOutput"];
|
||||
color_correct: components["schemas"]["ImageOutput"];
|
||||
calculate_image_tiles_min_overlap: components["schemas"]["CalculateImageTilesOutput"];
|
||||
img_chan: components["schemas"]["ImageOutput"];
|
||||
calculate_image_tiles_even_split: components["schemas"]["CalculateImageTilesOutput"];
|
||||
create_denoise_mask: components["schemas"]["DenoiseMaskOutput"];
|
||||
lblend: components["schemas"]["LatentsOutput"];
|
||||
crop_latents: components["schemas"]["LatentsOutput"];
|
||||
string_replace: components["schemas"]["StringOutput"];
|
||||
range_of_size: components["schemas"]["IntegerCollectionOutput"];
|
||||
calculate_image_tiles: components["schemas"]["CalculateImageTilesOutput"];
|
||||
iterate: components["schemas"]["IterateInvocationOutput"];
|
||||
create_gradient_mask: components["schemas"]["GradientMaskOutput"];
|
||||
face_off: components["schemas"]["FaceOffOutput"];
|
||||
sdxl_refiner_model_loader: components["schemas"]["SDXLRefinerModelLoaderOutput"];
|
||||
scheduler: components["schemas"]["SchedulerOutput"];
|
||||
float_collection: components["schemas"]["FloatCollectionOutput"];
|
||||
core_metadata: components["schemas"]["MetadataOutput"];
|
||||
segment_anything_processor: components["schemas"]["ImageOutput"];
|
||||
};
|
||||
/**
|
||||
* InvocationStartedEvent
|
||||
@@ -13206,6 +13218,19 @@ export type components = {
|
||||
*/
|
||||
type?: "url";
|
||||
};
|
||||
/** UncategorizedImageCounts */
|
||||
UncategorizedImageCounts: {
|
||||
/**
|
||||
* Image Count
|
||||
* @description The number of uncategorized images.
|
||||
*/
|
||||
image_count: number;
|
||||
/**
|
||||
* Asset Count
|
||||
* @description The number of uncategorized assets.
|
||||
*/
|
||||
asset_count: number;
|
||||
};
|
||||
/**
|
||||
* Unsharp Mask
|
||||
* @description Applies an unsharp mask filter to an image
|
||||
@@ -15163,6 +15188,20 @@ export type operations = {
|
||||
};
|
||||
};
|
||||
};
|
||||
/**
|
||||
* Get Uncategorized Image Counts
|
||||
* @description Gets count of images and assets for uncategorized images (images with no board assocation)
|
||||
*/
|
||||
get_uncategorized_image_counts: {
|
||||
responses: {
|
||||
/** @description Successful Response */
|
||||
200: {
|
||||
content: {
|
||||
"application/json": components["schemas"]["UncategorizedImageCounts"];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
/**
|
||||
* Add Image To Board
|
||||
* @description Creates a board_image
|
||||
|
||||
@@ -36,7 +36,6 @@ export type AppDependencyVersions = S['AppDependencyVersions'];
|
||||
export type ImageDTO = S['ImageDTO'];
|
||||
export type BoardDTO = S['BoardDTO'];
|
||||
export type ImageCategory = S['ImageCategory'];
|
||||
export type OffsetPaginatedResults_ImageDTO_ = S['OffsetPaginatedResults_ImageDTO_'];
|
||||
|
||||
// Models
|
||||
export type ModelType = S['ModelType'];
|
||||
|
||||
@@ -1 +1 @@
|
||||
__version__ = "4.2.6a1"
|
||||
__version__ = "4.2.6"
|
||||
|
||||
@@ -127,7 +127,16 @@ def test_generate_id_with_board_id(monkeypatch: Any, mock_invoker: Invoker):
|
||||
|
||||
def mock_board_get(*args, **kwargs):
|
||||
return BoardRecord(
|
||||
board_id="12345", board_name="test_board_name", created_at="None", updated_at="None", archived=False
|
||||
board_id="12345",
|
||||
board_name="test_board_name",
|
||||
created_at="None",
|
||||
updated_at="None",
|
||||
archived=False,
|
||||
asset_count=0,
|
||||
image_count=0,
|
||||
cover_image_name="asdf.png",
|
||||
deleted_at=None,
|
||||
is_private=False,
|
||||
)
|
||||
|
||||
monkeypatch.setattr(mock_invoker.services.board_records, "get", mock_board_get)
|
||||
@@ -156,7 +165,16 @@ def test_handler_board_id(tmp_path: Path, monkeypatch: Any, mock_image_dto: Imag
|
||||
|
||||
def mock_board_get(*args, **kwargs):
|
||||
return BoardRecord(
|
||||
board_id="12345", board_name="test_board_name", created_at="None", updated_at="None", archived=False
|
||||
board_id="12345",
|
||||
board_name="test_board_name",
|
||||
created_at="None",
|
||||
updated_at="None",
|
||||
archived=False,
|
||||
asset_count=0,
|
||||
image_count=0,
|
||||
cover_image_name="asdf.png",
|
||||
deleted_at=None,
|
||||
is_private=False,
|
||||
)
|
||||
|
||||
monkeypatch.setattr(mock_invoker.services.board_records, "get", mock_board_get)
|
||||
|
||||
@@ -40,7 +40,7 @@ def store(
|
||||
config._root = datadir
|
||||
logger = InvokeAILogger.get_logger(config=config)
|
||||
db = create_mock_sqlite_database(config, logger)
|
||||
return ModelRecordServiceSQL(db)
|
||||
return ModelRecordServiceSQL(db, logger)
|
||||
|
||||
|
||||
def example_ti_config(key: Optional[str] = None) -> TextualInversionFileConfig:
|
||||
|
||||
@@ -110,7 +110,7 @@ def mm2_installer(
|
||||
logger = InvokeAILogger.get_logger()
|
||||
db = create_mock_sqlite_database(mm2_app_config, logger)
|
||||
events = TestEventService()
|
||||
store = ModelRecordServiceSQL(db)
|
||||
store = ModelRecordServiceSQL(db, logger)
|
||||
|
||||
installer = ModelInstallService(
|
||||
app_config=mm2_app_config,
|
||||
@@ -128,7 +128,7 @@ def mm2_installer(
|
||||
def mm2_record_store(mm2_app_config: InvokeAIAppConfig) -> ModelRecordServiceBase:
|
||||
logger = InvokeAILogger.get_logger(config=mm2_app_config)
|
||||
db = create_mock_sqlite_database(mm2_app_config, logger)
|
||||
store = ModelRecordServiceSQL(db)
|
||||
store = ModelRecordServiceSQL(db, logger)
|
||||
# add five simple config records to the database
|
||||
config1 = VAEDiffusersConfig(
|
||||
key="test_config_1",
|
||||
|
||||
Reference in New Issue
Block a user