2023-06-23 09:14:13 +00:00
|
|
|
/**
|
|
|
|
* This file was auto-generated by openapi-typescript.
|
|
|
|
* Do not make direct changes to the file.
|
|
|
|
*/
|
|
|
|
|
2023-07-13 05:22:18 +00:00
|
|
|
|
2023-06-23 09:14:13 +00:00
|
|
|
export type paths = {
|
2023-07-13 05:22:18 +00:00
|
|
|
"/api/v1/sessions/": {
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* List Sessions
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Gets a list of sessions, optionally searching
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
get: operations["list_sessions"];
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Create Session
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Creates a new session, optionally initializing it with an invocation graph
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
post: operations["create_session"];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
2023-07-13 05:22:18 +00:00
|
|
|
"/api/v1/sessions/{session_id}": {
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Get Session
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Gets a session
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
get: operations["get_session"];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
2023-07-13 05:22:18 +00:00
|
|
|
"/api/v1/sessions/{session_id}/nodes": {
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Add Node
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Adds a node to the graph
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
post: operations["add_node"];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
2023-07-13 05:22:18 +00:00
|
|
|
"/api/v1/sessions/{session_id}/nodes/{node_path}": {
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Update Node
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Updates a node in the graph and removes all linked edges
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
put: operations["update_node"];
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Delete Node
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Deletes a node in the graph and removes all linked edges
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
delete: operations["delete_node"];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
2023-07-13 05:22:18 +00:00
|
|
|
"/api/v1/sessions/{session_id}/edges": {
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Add Edge
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Adds an edge to the graph
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
post: operations["add_edge"];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
2023-07-13 05:22:18 +00:00
|
|
|
"/api/v1/sessions/{session_id}/edges/{from_node_id}/{from_field}/{to_node_id}/{to_field}": {
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Delete Edge
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Deletes an edge from the graph
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
delete: operations["delete_edge"];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
2023-07-13 05:22:18 +00:00
|
|
|
"/api/v1/sessions/{session_id}/invoke": {
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Invoke Session
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Invokes a session
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
put: operations["invoke_session"];
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Cancel Session Invoke
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Invokes a session
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
delete: operations["cancel_session_invoke"];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
2023-07-13 05:22:18 +00:00
|
|
|
"/api/v1/models/": {
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* List Models
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Gets a list of models
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
get: operations["list_models"];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
2023-07-13 05:22:18 +00:00
|
|
|
"/api/v1/models/{base_model}/{model_type}/{model_name}": {
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Delete Model
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Delete Model
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
delete: operations["del_model"];
|
2023-07-07 06:08:30 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Update Model
|
2023-07-17 01:50:35 +00:00
|
|
|
* @description Update model contents with a new config. If the model name or base fields are changed, then the model is renamed.
|
2023-07-07 06:08:30 +00:00
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
patch: operations["update_model"];
|
2023-07-07 06:08:30 +00:00
|
|
|
};
|
2023-07-15 15:06:57 +00:00
|
|
|
"/api/v1/models/import": {
|
|
|
|
/**
|
|
|
|
* Import Model
|
|
|
|
* @description Add a model using its local path, repo_id, or remote URL. Model characteristics will be probed and configured automatically
|
|
|
|
*/
|
|
|
|
post: operations["import_model"];
|
|
|
|
};
|
|
|
|
"/api/v1/models/add": {
|
|
|
|
/**
|
|
|
|
* Add Model
|
|
|
|
* @description Add a model using the configuration information appropriate for its type. Only local models can be added by path
|
|
|
|
*/
|
|
|
|
post: operations["add_model"];
|
|
|
|
};
|
2023-07-13 05:22:18 +00:00
|
|
|
"/api/v1/models/convert/{base_model}/{model_type}/{model_name}": {
|
2023-07-07 06:08:30 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Convert Model
|
2023-07-15 15:06:57 +00:00
|
|
|
* @description Convert a checkpoint model into a diffusers model, optionally saving to the indicated destination directory, or `models` if none.
|
2023-07-07 06:08:30 +00:00
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
put: operations["convert_model"];
|
2023-07-07 06:08:30 +00:00
|
|
|
};
|
2023-07-15 15:06:57 +00:00
|
|
|
"/api/v1/models/search": {
|
|
|
|
/** Search For Models */
|
|
|
|
get: operations["search_for_models"];
|
|
|
|
};
|
|
|
|
"/api/v1/models/ckpt_confs": {
|
|
|
|
/**
|
|
|
|
* List Ckpt Configs
|
|
|
|
* @description Return a list of the legacy checkpoint configuration files stored in `ROOT/configs/stable-diffusion`, relative to ROOT.
|
|
|
|
*/
|
|
|
|
get: operations["list_ckpt_configs"];
|
|
|
|
};
|
|
|
|
"/api/v1/models/sync": {
|
|
|
|
/**
|
|
|
|
* Sync To Config
|
|
|
|
* @description Call after making changes to models.yaml, autoimport directories or models directory to synchronize
|
|
|
|
* in-memory data structures with disk data structures.
|
|
|
|
*/
|
2023-07-20 06:50:43 +00:00
|
|
|
post: operations["sync_to_config"];
|
2023-07-15 15:06:57 +00:00
|
|
|
};
|
2023-07-13 05:22:18 +00:00
|
|
|
"/api/v1/models/merge/{base_model}": {
|
2023-07-07 06:08:30 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Merge Models
|
2023-07-07 06:08:30 +00:00
|
|
|
* @description Convert a checkpoint model into a diffusers model
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
put: operations["merge_models"];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
2023-07-13 05:22:18 +00:00
|
|
|
"/api/v1/images/": {
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* List Image Dtos
|
2023-07-12 15:15:09 +00:00
|
|
|
* @description Gets a list of image DTOs
|
2023-06-23 09:14:13 +00:00
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
get: operations["list_image_dtos"];
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Upload Image
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Uploads an image
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
post: operations["upload_image"];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
2023-07-13 05:22:18 +00:00
|
|
|
"/api/v1/images/{image_name}": {
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Get Image Dto
|
2023-07-12 15:15:09 +00:00
|
|
|
* @description Gets an image's DTO
|
2023-06-23 09:14:13 +00:00
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
get: operations["get_image_dto"];
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Delete Image
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Deletes an image
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
delete: operations["delete_image"];
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Update Image
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Updates an image
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
patch: operations["update_image"];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
2023-07-19 14:55:29 +00:00
|
|
|
"/api/v1/images/clear-intermediates": {
|
|
|
|
/**
|
|
|
|
* Clear Intermediates
|
2023-07-20 10:48:35 +00:00
|
|
|
* @description Clears all intermediates
|
2023-07-19 14:55:29 +00:00
|
|
|
*/
|
|
|
|
post: operations["clear_intermediates"];
|
|
|
|
};
|
2023-07-13 05:22:18 +00:00
|
|
|
"/api/v1/images/{image_name}/metadata": {
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Get Image Metadata
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Gets an image's metadata
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
get: operations["get_image_metadata"];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
2023-07-13 05:22:18 +00:00
|
|
|
"/api/v1/images/{image_name}/full": {
|
2023-07-12 15:15:09 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Get Image Full
|
2023-07-12 15:15:09 +00:00
|
|
|
* @description Gets a full-resolution image file
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
get: operations["get_image_full"];
|
2023-07-12 15:15:09 +00:00
|
|
|
};
|
2023-07-13 05:22:18 +00:00
|
|
|
"/api/v1/images/{image_name}/thumbnail": {
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Get Image Thumbnail
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Gets a thumbnail image file
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
get: operations["get_image_thumbnail"];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
2023-07-13 05:22:18 +00:00
|
|
|
"/api/v1/images/{image_name}/urls": {
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Get Image Urls
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Gets an image and thumbnail URL
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
get: operations["get_image_urls"];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
2023-07-13 05:22:18 +00:00
|
|
|
"/api/v1/boards/": {
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* List Boards
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Gets a list of boards
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
get: operations["list_boards"];
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Create Board
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Creates a board
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
post: operations["create_board"];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
2023-07-13 05:22:18 +00:00
|
|
|
"/api/v1/boards/{board_id}": {
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Get Board
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Gets a board
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
get: operations["get_board"];
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Delete Board
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Deletes a board
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
delete: operations["delete_board"];
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Update Board
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Updates a board
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
patch: operations["update_board"];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
feat(ui): another go at gallery (#3791)
* feat(ui): migrate listImages to RTK query using createEntityAdapter
- see comments in `endpoints/images.ts` for explanation of the caching
- so far, only manually updating `all` images when new image is generated. no other manual cache updates are implemented, but will be needed.
- fixed some weirdness with loading state components (like the spinners in gallery)
- added `useThumbnailFallback` for `IAIDndImage`, this displays the tiny webp thumbnail while the full-size images load
- comment out some old thunk related stuff in gallerySlice, which is no longer needed
* feat(ui): add manual cache updates for board changes (wip)
- update RTK Query caches when adding/removing single image to/from board
- work more on migrating all image-related operations to RTK Query
* update AddImagesToBoardContext so that it works when user uses context menu + modal
* handle case where no image is selected
* get assets working for main list and boards - dnd only
* feat(ui): migrate image uploads to RTK Query
- minor refactor of `ImageUploader` and `useImageUploadButton` hooks, simplify some logic
- style filesystem upload overlay to match existing UI
- replace all old `imageUploaded` thunks with `uploadImage` RTK Query calls, update associated logic including canvas related uploads
- simplify `PostUploadAction`s that only need to display user input
* feat(ui): remove `receivedPageOfImages` thunks
* feat(ui): remove `receivedImageUrls` thunk
* feat(ui): finish removing all images thunks
stuff now broken:
- image usage
- delete board images
- on first load, no image selected
* feat(ui): simplify `updateImage` cache manipulation
- we don't actually ever change categories, so we can remove a lot of logic
* feat(ui): simplify canvas autosave
- instead of using a network request to set the canvas generation as not intermediate, we can just do that in the graph
* feat(ui): simplify & handle edge cases in cache updates
* feat(db, api): support `board_id='none'` for `get_many` images queries
This allows us to get all images that are not on a board.
* chore(ui): regen types
* feat(ui): add `All Assets`, `No Board` boards
Restructure boards:
- `all images` is all images
- `all assets` is all assets
- `no board` is all images/assets without a board set
- user boards may have images and assets
Update caching logic
- much simpler without every board having sub-views of images and assets
- update drag and drop operations for all possible interactions
* chore(ui): regen types
* feat(ui): move download to top of context menu
* feat(ui): improve drop overlay styles
* fix(ui): fix image not selected on first load
- listen for first load of all images board, then select the first image
* feat(ui): refactor board deletion
api changes:
- add route to list all image names for a board. this is required to handle board + image deletion. we need to know every image in the board to determine the image usage across the app. this is fetched only when the delete board and images modal is opened so it's as efficient as it can be.
- update the delete board route to respond with a list of deleted `board_images` and `images`, as image names. this is needed to perform accurate clientside state & cache updates after deleting.
db changes:
- remove unused `board_images` service method to get paginated images dtos for a board. this is now done thru the list images endpoint & images service. needs a small logic change on `images.delete_images_on_board`
ui changes:
- simplify the delete board modal - no context, just minor prop drilling. this is feasible for boards only because the components that need to trigger and manipulate the modal are very close together in the tree
- add cache updates for `deleteBoard` & `deleteBoardAndImages` mutations
- the only thing we cannot do directly is on `deleteBoardAndImages`, update the `No Board` board. we'd need to insert image dtos that we may not have loaded. instead, i am just invalidating the tags for that `listImages` cache. so when you `deleteBoardAndImages`, the `No Board` will re-fetch the initial image limit. i think this is more efficient than e.g. fetching all image dtos to insert then inserting them.
- handle image usage for `deleteBoardAndImages`
- update all (i think/hope) the little bits and pieces in the UI to accomodate these changes
* fix(ui): fix board selection logic
* feat(ui): add delete board modal loading state
* fix(ui): use thumbnails for board cover images
* fix(ui): fix race condition with board selection
when selecting a board that doesn't have any images loaded, we need to wait until the images haveloaded before selecting the first image.
this logic is debounced to ~1000ms.
* feat(ui): name 'No Board' correctly, change icon
* fix(ui): do not cache listAllImageNames query
if we cache it, we can end up with stale image usage during deletion.
we could of course manually update the cache as we are doing elsewhere. but because this is a relatively infrequent network request, i'd like to trade increased cache mgmt complexity here for increased resource usage.
* feat(ui): reduce drag preview opacity, remove border
* fix(ui): fix incorrect queryArg used in `deleteImage` and `updateImage` cache updates
* fix(ui): fix doubled open in new tab
* fix(ui): fix new generations not getting added to 'No Board'
* fix(ui): fix board id not changing on new image when autosave enabled
* fix(ui): context menu when selection is 0
need to revise how context menu is triggered later, when we approach multi select
* fix(ui): fix deleting does not update counts for all images and all assets
* fix(ui): fix all assets board name in boards list collapse button
* fix(ui): ensure we never go under 0 for total board count
* fix(ui): fix text overflow on board names
---------
Co-authored-by: Mary Hipp <maryhipp@Marys-MacBook-Air.local>
2023-07-19 16:06:38 +00:00
|
|
|
"/api/v1/boards/{board_id}/image_names": {
|
|
|
|
/**
|
|
|
|
* List All Board Image Names
|
|
|
|
* @description Gets a list of images for a board
|
|
|
|
*/
|
|
|
|
get: operations["list_all_board_image_names"];
|
|
|
|
};
|
2023-07-13 05:22:18 +00:00
|
|
|
"/api/v1/board_images/": {
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Create Board Image
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Creates a board_image
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
post: operations["create_board_image"];
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Remove Board Image
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Deletes a board_image
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
delete: operations["remove_board_image"];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
2023-07-13 05:22:18 +00:00
|
|
|
"/api/v1/app/version": {
|
2023-07-08 09:31:17 +00:00
|
|
|
/** Get Version */
|
2023-07-13 05:22:18 +00:00
|
|
|
get: operations["app_version"];
|
2023-07-12 15:56:40 +00:00
|
|
|
};
|
2023-07-13 05:22:18 +00:00
|
|
|
"/api/v1/app/config": {
|
2023-07-12 15:56:40 +00:00
|
|
|
/** Get Config */
|
2023-07-13 05:22:18 +00:00
|
|
|
get: operations["get_config"];
|
2023-07-08 09:31:17 +00:00
|
|
|
};
|
2023-07-20 15:45:54 +00:00
|
|
|
"/api/v1/app/logging": {
|
|
|
|
/**
|
|
|
|
* Get Log Level
|
|
|
|
* @description Returns the log level
|
|
|
|
*/
|
|
|
|
get: operations["get_log_level"];
|
|
|
|
/**
|
|
|
|
* Set Log Level
|
|
|
|
* @description Sets the log verbosity level
|
|
|
|
*/
|
|
|
|
post: operations["set_log_level"];
|
|
|
|
};
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
export type webhooks = Record<string, never>;
|
|
|
|
|
|
|
|
export type components = {
|
|
|
|
schemas: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* AddInvocation
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Adds two numbers
|
|
|
|
*/
|
|
|
|
AddInvocation: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Id
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The id of this node. Must be unique among all nodes.
|
|
|
|
*/
|
|
|
|
id: string;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Is Intermediate
|
|
|
|
* @description Whether or not this node is an intermediate node.
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default false
|
|
|
|
*/
|
|
|
|
is_intermediate?: boolean;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Type
|
|
|
|
* @default add
|
2023-06-23 09:14:13 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
type?: "add";
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* A
|
|
|
|
* @description The first number
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default 0
|
|
|
|
*/
|
|
|
|
a?: number;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* B
|
|
|
|
* @description The second number
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default 0
|
|
|
|
*/
|
|
|
|
b?: number;
|
|
|
|
};
|
2023-07-08 09:31:17 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* AppConfig
|
2023-07-12 15:56:40 +00:00
|
|
|
* @description App Config Response
|
|
|
|
*/
|
|
|
|
AppConfig: {
|
2023-07-13 05:22:18 +00:00
|
|
|
/**
|
|
|
|
* Infill Methods
|
|
|
|
* @description List of available infill methods
|
|
|
|
*/
|
|
|
|
infill_methods: (string)[];
|
2023-07-12 15:56:40 +00:00
|
|
|
};
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* AppVersion
|
2023-07-08 09:31:17 +00:00
|
|
|
* @description App Version Response
|
|
|
|
*/
|
|
|
|
AppVersion: {
|
2023-07-13 05:22:18 +00:00
|
|
|
/**
|
|
|
|
* Version
|
|
|
|
* @description App version
|
|
|
|
*/
|
2023-07-08 09:31:17 +00:00
|
|
|
version: string;
|
|
|
|
};
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* BaseModelType
|
|
|
|
* @description An enumeration.
|
2023-06-23 09:14:13 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-18 02:01:56 +00:00
|
|
|
BaseModelType: "sd-1" | "sd-2" | "sdxl" | "sdxl-refiner";
|
2023-06-23 09:14:13 +00:00
|
|
|
/** BoardChanges */
|
|
|
|
BoardChanges: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Board Name
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The board's new name.
|
|
|
|
*/
|
|
|
|
board_name?: string;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Cover Image Name
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The name of the board's new cover image.
|
|
|
|
*/
|
|
|
|
cover_image_name?: string;
|
|
|
|
};
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* BoardDTO
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Deserialized board record with cover image URL and image count.
|
|
|
|
*/
|
|
|
|
BoardDTO: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Board Id
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The unique ID of the board.
|
|
|
|
*/
|
|
|
|
board_id: string;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Board Name
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The name of the board.
|
|
|
|
*/
|
|
|
|
board_name: string;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Created At
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The created timestamp of the board.
|
|
|
|
*/
|
|
|
|
created_at: string;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Updated At
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The updated timestamp of the board.
|
|
|
|
*/
|
|
|
|
updated_at: string;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Deleted At
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The deleted timestamp of the board.
|
|
|
|
*/
|
|
|
|
deleted_at?: string;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Cover Image Name
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The name of the board's cover image.
|
|
|
|
*/
|
|
|
|
cover_image_name?: string;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Image Count
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The number of images in the board.
|
|
|
|
*/
|
|
|
|
image_count: number;
|
|
|
|
};
|
|
|
|
/** Body_create_board_image */
|
|
|
|
Body_create_board_image: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Board Id
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The id of the board to add to
|
|
|
|
*/
|
|
|
|
board_id: string;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Image Name
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The name of the image to add
|
|
|
|
*/
|
|
|
|
image_name: string;
|
|
|
|
};
|
2023-07-07 06:08:30 +00:00
|
|
|
/** Body_import_model */
|
|
|
|
Body_import_model: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Location
|
2023-07-07 06:08:30 +00:00
|
|
|
* @description A model path, repo_id or URL to import
|
|
|
|
*/
|
|
|
|
location: string;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Prediction Type
|
|
|
|
* @description Prediction type for SDv2 checkpoint files
|
|
|
|
* @default v_prediction
|
2023-07-07 06:08:30 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
prediction_type?: "v_prediction" | "epsilon" | "sample";
|
2023-07-07 06:08:30 +00:00
|
|
|
};
|
|
|
|
/** Body_merge_models */
|
|
|
|
Body_merge_models: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Model Names
|
2023-07-07 06:08:30 +00:00
|
|
|
* @description model name
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
model_names: (string)[];
|
2023-07-07 06:08:30 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Merged Model Name
|
2023-07-07 06:08:30 +00:00
|
|
|
* @description Name of destination model
|
|
|
|
*/
|
|
|
|
merged_model_name: string;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Alpha
|
|
|
|
* @description Alpha weighting strength to apply to 2d and 3d models
|
2023-07-07 06:08:30 +00:00
|
|
|
* @default 0.5
|
|
|
|
*/
|
|
|
|
alpha?: number;
|
|
|
|
/** @description Interpolation method */
|
2023-07-13 05:22:18 +00:00
|
|
|
interp: components["schemas"]["MergeInterpolationMethod"];
|
2023-07-07 06:08:30 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Force
|
|
|
|
* @description Force merging of models created with different versions of diffusers
|
2023-07-07 06:08:30 +00:00
|
|
|
* @default false
|
|
|
|
*/
|
|
|
|
force?: boolean;
|
2023-07-15 15:06:57 +00:00
|
|
|
/**
|
|
|
|
* Merge Dest Directory
|
|
|
|
* @description Save the merged model to the designated directory (with 'merged_model_name' appended)
|
|
|
|
*/
|
|
|
|
merge_dest_directory?: string;
|
2023-07-07 06:08:30 +00:00
|
|
|
};
|
2023-06-23 09:14:13 +00:00
|
|
|
/** Body_remove_board_image */
|
|
|
|
Body_remove_board_image: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Board Id
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The id of the board
|
|
|
|
*/
|
|
|
|
board_id: string;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Image Name
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The name of the image to remove
|
|
|
|
*/
|
|
|
|
image_name: string;
|
|
|
|
};
|
|
|
|
/** Body_upload_image */
|
|
|
|
Body_upload_image: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* File
|
2023-06-23 09:14:13 +00:00
|
|
|
* Format: binary
|
|
|
|
*/
|
2023-07-07 06:08:30 +00:00
|
|
|
file: Blob;
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* CannyImageProcessorInvocation
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Canny edge detection for ControlNet
|
|
|
|
*/
|
|
|
|
CannyImageProcessorInvocation: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Id
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The id of this node. Must be unique among all nodes.
|
|
|
|
*/
|
|
|
|
id: string;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Is Intermediate
|
|
|
|
* @description Whether or not this node is an intermediate node.
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default false
|
|
|
|
*/
|
|
|
|
is_intermediate?: boolean;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Type
|
|
|
|
* @default canny_image_processor
|
2023-06-23 09:14:13 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
type?: "canny_image_processor";
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Image
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The image to process
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
image?: components["schemas"]["ImageField"];
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Low Threshold
|
|
|
|
* @description The low threshold of the Canny pixel gradient (0-255)
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default 100
|
|
|
|
*/
|
|
|
|
low_threshold?: number;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* High Threshold
|
|
|
|
* @description The high threshold of the Canny pixel gradient (0-255)
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default 200
|
|
|
|
*/
|
|
|
|
high_threshold?: number;
|
|
|
|
};
|
|
|
|
/** ClipField */
|
|
|
|
ClipField: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Tokenizer
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Info to load tokenizer submodel
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
tokenizer: components["schemas"]["ModelInfo"];
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Text Encoder
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Info to load text_encoder submodel
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
text_encoder: components["schemas"]["ModelInfo"];
|
2023-07-06 17:57:39 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Skipped Layers
|
2023-07-06 17:57:39 +00:00
|
|
|
* @description Number of skipped layers in text_encoder
|
|
|
|
*/
|
|
|
|
skipped_layers: number;
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Loras
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Loras to apply on model loading
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
loras: (components["schemas"]["LoraInfo"])[];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
2023-07-06 17:57:39 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* ClipSkipInvocation
|
2023-07-06 17:57:39 +00:00
|
|
|
* @description Skip layers in clip text_encoder model.
|
|
|
|
*/
|
|
|
|
ClipSkipInvocation: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Id
|
2023-07-06 17:57:39 +00:00
|
|
|
* @description The id of this node. Must be unique among all nodes.
|
|
|
|
*/
|
|
|
|
id: string;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Is Intermediate
|
|
|
|
* @description Whether or not this node is an intermediate node.
|
2023-07-06 17:57:39 +00:00
|
|
|
* @default false
|
|
|
|
*/
|
|
|
|
is_intermediate?: boolean;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Type
|
|
|
|
* @default clip_skip
|
2023-07-06 17:57:39 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
type?: "clip_skip";
|
2023-07-06 17:57:39 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Clip
|
2023-07-06 17:57:39 +00:00
|
|
|
* @description Clip to use
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
clip?: components["schemas"]["ClipField"];
|
2023-07-06 17:57:39 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Skipped Layers
|
|
|
|
* @description Number of layers to skip in text_encoder
|
2023-07-06 17:57:39 +00:00
|
|
|
* @default 0
|
|
|
|
*/
|
|
|
|
skipped_layers?: number;
|
|
|
|
};
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* ClipSkipInvocationOutput
|
2023-07-06 17:57:39 +00:00
|
|
|
* @description Clip skip node output
|
|
|
|
*/
|
|
|
|
ClipSkipInvocationOutput: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Type
|
|
|
|
* @default clip_skip_output
|
2023-07-06 17:57:39 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
type?: "clip_skip_output";
|
2023-07-06 17:57:39 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Clip
|
2023-07-06 17:57:39 +00:00
|
|
|
* @description Clip with skipped layers
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
clip?: components["schemas"]["ClipField"];
|
2023-07-06 17:57:39 +00:00
|
|
|
};
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* CollectInvocation
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Collects values into a collection
|
|
|
|
*/
|
|
|
|
CollectInvocation: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Id
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The id of this node. Must be unique among all nodes.
|
|
|
|
*/
|
|
|
|
id: string;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Is Intermediate
|
|
|
|
* @description Whether or not this node is an intermediate node.
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default false
|
|
|
|
*/
|
|
|
|
is_intermediate?: boolean;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Type
|
|
|
|
* @default collect
|
2023-06-23 09:14:13 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
type?: "collect";
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Item
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The item to collect (all inputs must be of the same type)
|
|
|
|
*/
|
|
|
|
item?: unknown;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Collection
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The collection, will be provided on execution
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
collection?: (unknown)[];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* CollectInvocationOutput
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Base class for all invocation outputs
|
|
|
|
*/
|
|
|
|
CollectInvocationOutput: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Type
|
|
|
|
* @default collect_output
|
2023-06-23 09:14:13 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
type: "collect_output";
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Collection
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The collection of input items
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
collection: (unknown)[];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
|
|
|
/** ColorField */
|
|
|
|
ColorField: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* R
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The red component
|
|
|
|
*/
|
|
|
|
r: number;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* G
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The green component
|
|
|
|
*/
|
|
|
|
g: number;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* B
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The blue component
|
|
|
|
*/
|
|
|
|
b: number;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* A
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The alpha component
|
|
|
|
*/
|
|
|
|
a: number;
|
|
|
|
};
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* CompelInvocation
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Parse prompt using compel package to conditioning.
|
|
|
|
*/
|
|
|
|
CompelInvocation: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Id
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The id of this node. Must be unique among all nodes.
|
|
|
|
*/
|
|
|
|
id: string;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Is Intermediate
|
|
|
|
* @description Whether or not this node is an intermediate node.
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default false
|
|
|
|
*/
|
|
|
|
is_intermediate?: boolean;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Type
|
|
|
|
* @default compel
|
2023-06-23 09:14:13 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
type?: "compel";
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Prompt
|
|
|
|
* @description Prompt
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default
|
|
|
|
*/
|
|
|
|
prompt?: string;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Clip
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Clip to use
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
clip?: components["schemas"]["ClipField"];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* CompelOutput
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Compel parser output
|
|
|
|
*/
|
|
|
|
CompelOutput: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Type
|
|
|
|
* @default compel_output
|
2023-06-23 09:14:13 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
type?: "compel_output";
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Conditioning
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Conditioning
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
conditioning?: components["schemas"]["ConditioningField"];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
|
|
|
/** ConditioningField */
|
|
|
|
ConditioningField: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Conditioning Name
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The name of conditioning data
|
|
|
|
*/
|
|
|
|
conditioning_name: string;
|
|
|
|
};
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* ContentShuffleImageProcessorInvocation
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Applies content shuffle processing to image
|
|
|
|
*/
|
|
|
|
ContentShuffleImageProcessorInvocation: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Id
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The id of this node. Must be unique among all nodes.
|
|
|
|
*/
|
|
|
|
id: string;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Is Intermediate
|
|
|
|
* @description Whether or not this node is an intermediate node.
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default false
|
|
|
|
*/
|
|
|
|
is_intermediate?: boolean;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Type
|
|
|
|
* @default content_shuffle_image_processor
|
2023-06-23 09:14:13 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
type?: "content_shuffle_image_processor";
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Image
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The image to process
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
image?: components["schemas"]["ImageField"];
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Detect Resolution
|
|
|
|
* @description The pixel resolution for detection
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default 512
|
|
|
|
*/
|
|
|
|
detect_resolution?: number;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Image Resolution
|
|
|
|
* @description The pixel resolution for the output image
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default 512
|
|
|
|
*/
|
|
|
|
image_resolution?: number;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* H
|
|
|
|
* @description Content shuffle `h` parameter
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default 512
|
|
|
|
*/
|
|
|
|
h?: number;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* W
|
|
|
|
* @description Content shuffle `w` parameter
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default 512
|
|
|
|
*/
|
|
|
|
w?: number;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* F
|
|
|
|
* @description Content shuffle `f` parameter
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default 256
|
|
|
|
*/
|
|
|
|
f?: number;
|
|
|
|
};
|
|
|
|
/** ControlField */
|
|
|
|
ControlField: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Image
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The control image
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
image: components["schemas"]["ImageField"];
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Control Model
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The ControlNet model to use
|
|
|
|
*/
|
2023-07-08 09:31:45 +00:00
|
|
|
control_model: components["schemas"]["ControlNetModelField"];
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Control Weight
|
|
|
|
* @description The weight given to the ControlNet
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default 1
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
control_weight: number | (number)[];
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Begin Step Percent
|
|
|
|
* @description When the ControlNet is first applied (% of total steps)
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default 0
|
|
|
|
*/
|
|
|
|
begin_step_percent: number;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* End Step Percent
|
|
|
|
* @description When the ControlNet is last applied (% of total steps)
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default 1
|
|
|
|
*/
|
|
|
|
end_step_percent: number;
|
2023-06-25 04:04:16 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Control Mode
|
|
|
|
* @description The control mode to use
|
|
|
|
* @default balanced
|
2023-06-25 04:04:16 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
control_mode?: "balanced" | "more_prompt" | "more_control" | "unbalanced";
|
2023-07-20 10:48:35 +00:00
|
|
|
/**
|
|
|
|
* Resize Mode
|
|
|
|
* @description The resize mode to use
|
|
|
|
* @default just_resize
|
|
|
|
* @enum {string}
|
|
|
|
*/
|
|
|
|
resize_mode?: "just_resize" | "crop_resize" | "fill_resize" | "just_resize_simple";
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* ControlNetInvocation
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Collects ControlNet info to pass to other nodes
|
|
|
|
*/
|
|
|
|
ControlNetInvocation: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Id
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The id of this node. Must be unique among all nodes.
|
|
|
|
*/
|
|
|
|
id: string;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Is Intermediate
|
|
|
|
* @description Whether or not this node is an intermediate node.
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default false
|
|
|
|
*/
|
|
|
|
is_intermediate?: boolean;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Type
|
|
|
|
* @default controlnet
|
2023-06-23 09:14:13 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
type?: "controlnet";
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Image
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The control image
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
image?: components["schemas"]["ImageField"];
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Control Model
|
|
|
|
* @description control model used
|
2023-07-08 09:31:45 +00:00
|
|
|
* @default lllyasviel/sd-controlnet-canny
|
2023-06-23 09:14:13 +00:00
|
|
|
*/
|
2023-07-08 09:31:45 +00:00
|
|
|
control_model?: components["schemas"]["ControlNetModelField"];
|
2023-07-13 05:22:18 +00:00
|
|
|
/**
|
|
|
|
* Control Weight
|
|
|
|
* @description The weight given to the ControlNet
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default 1
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
control_weight?: number | (number)[];
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Begin Step Percent
|
|
|
|
* @description When the ControlNet is first applied (% of total steps)
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default 0
|
|
|
|
*/
|
|
|
|
begin_step_percent?: number;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* End Step Percent
|
|
|
|
* @description When the ControlNet is last applied (% of total steps)
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default 1
|
|
|
|
*/
|
|
|
|
end_step_percent?: number;
|
2023-06-25 04:04:16 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Control Mode
|
|
|
|
* @description The control mode used
|
|
|
|
* @default balanced
|
2023-06-25 04:04:16 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
control_mode?: "balanced" | "more_prompt" | "more_control" | "unbalanced";
|
2023-07-20 10:48:35 +00:00
|
|
|
/**
|
|
|
|
* Resize Mode
|
|
|
|
* @description The resize mode used
|
|
|
|
* @default just_resize
|
|
|
|
* @enum {string}
|
|
|
|
*/
|
|
|
|
resize_mode?: "just_resize" | "crop_resize" | "fill_resize" | "just_resize_simple";
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
|
|
|
/** ControlNetModelConfig */
|
|
|
|
ControlNetModelConfig: {
|
2023-07-12 15:15:09 +00:00
|
|
|
/** Model Name */
|
|
|
|
model_name: string;
|
2023-07-13 05:22:18 +00:00
|
|
|
base_model: components["schemas"]["BaseModelType"];
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Model Type
|
2023-06-23 09:14:13 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
model_type: "controlnet";
|
2023-06-23 09:14:13 +00:00
|
|
|
/** Path */
|
|
|
|
path: string;
|
|
|
|
/** Description */
|
|
|
|
description?: string;
|
2023-07-13 05:22:18 +00:00
|
|
|
model_format: components["schemas"]["ControlNetModelFormat"];
|
|
|
|
error?: components["schemas"]["ModelError"];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
2023-07-08 09:31:45 +00:00
|
|
|
/**
|
|
|
|
* ControlNetModelField
|
|
|
|
* @description ControlNet model field
|
|
|
|
*/
|
|
|
|
ControlNetModelField: {
|
|
|
|
/**
|
|
|
|
* Model Name
|
|
|
|
* @description Name of the ControlNet model
|
|
|
|
*/
|
|
|
|
model_name: string;
|
|
|
|
/** @description Base model */
|
|
|
|
base_model: components["schemas"]["BaseModelType"];
|
|
|
|
};
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* ControlNetModelFormat
|
|
|
|
* @description An enumeration.
|
2023-06-23 09:14:13 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
ControlNetModelFormat: "checkpoint" | "diffusers";
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* ControlOutput
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description node output for ControlNet info
|
|
|
|
*/
|
|
|
|
ControlOutput: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Type
|
|
|
|
* @default control_output
|
2023-06-23 09:14:13 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
type?: "control_output";
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Control
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The control info
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
control?: components["schemas"]["ControlField"];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
2023-07-12 15:15:09 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* CoreMetadata
|
2023-07-12 15:15:09 +00:00
|
|
|
* @description Core generation metadata for an image generated in InvokeAI.
|
|
|
|
*/
|
|
|
|
CoreMetadata: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Generation Mode
|
2023-07-12 15:15:09 +00:00
|
|
|
* @description The generation mode that output this image
|
|
|
|
*/
|
|
|
|
generation_mode: string;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Positive Prompt
|
2023-07-12 15:15:09 +00:00
|
|
|
* @description The positive prompt parameter
|
|
|
|
*/
|
|
|
|
positive_prompt: string;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Negative Prompt
|
2023-07-12 15:15:09 +00:00
|
|
|
* @description The negative prompt parameter
|
|
|
|
*/
|
|
|
|
negative_prompt: string;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Width
|
2023-07-12 15:15:09 +00:00
|
|
|
* @description The width parameter
|
|
|
|
*/
|
|
|
|
width: number;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Height
|
2023-07-12 15:15:09 +00:00
|
|
|
* @description The height parameter
|
|
|
|
*/
|
|
|
|
height: number;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Seed
|
2023-07-12 15:15:09 +00:00
|
|
|
* @description The seed used for noise generation
|
|
|
|
*/
|
|
|
|
seed: number;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Rand Device
|
2023-07-12 15:15:09 +00:00
|
|
|
* @description The device used for random number generation
|
|
|
|
*/
|
|
|
|
rand_device: string;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Cfg Scale
|
2023-07-12 15:15:09 +00:00
|
|
|
* @description The classifier-free guidance scale parameter
|
|
|
|
*/
|
|
|
|
cfg_scale: number;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Steps
|
2023-07-12 15:15:09 +00:00
|
|
|
* @description The number of steps used for inference
|
|
|
|
*/
|
|
|
|
steps: number;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Scheduler
|
2023-07-12 15:15:09 +00:00
|
|
|
* @description The scheduler used for inference
|
|
|
|
*/
|
|
|
|
scheduler: string;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Clip Skip
|
2023-07-12 15:15:09 +00:00
|
|
|
* @description The number of skipped CLIP layers
|
|
|
|
*/
|
|
|
|
clip_skip: number;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Model
|
2023-07-12 15:15:09 +00:00
|
|
|
* @description The main model used for inference
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
model: components["schemas"]["MainModelField"];
|
2023-07-12 15:15:09 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Controlnets
|
2023-07-12 15:15:09 +00:00
|
|
|
* @description The ControlNets used for inference
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
controlnets: (components["schemas"]["ControlField"])[];
|
2023-07-12 15:15:09 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Loras
|
2023-07-12 15:15:09 +00:00
|
|
|
* @description The LoRAs used for inference
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
loras: (components["schemas"]["LoRAMetadataField"])[];
|
2023-07-25 14:22:47 +00:00
|
|
|
/**
|
|
|
|
* Vae
|
|
|
|
* @description The VAE used for decoding, if the main model's default was not used
|
|
|
|
*/
|
|
|
|
vae?: components["schemas"]["VAEModelField"];
|
2023-07-12 15:15:09 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Strength
|
2023-07-12 15:15:09 +00:00
|
|
|
* @description The strength used for latents-to-latents
|
|
|
|
*/
|
|
|
|
strength?: number;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Init Image
|
2023-07-12 15:15:09 +00:00
|
|
|
* @description The name of the initial image
|
|
|
|
*/
|
|
|
|
init_image?: string;
|
|
|
|
/**
|
2023-07-25 14:22:47 +00:00
|
|
|
* Positive Style Prompt
|
|
|
|
* @description The positive style prompt parameter
|
2023-07-12 15:15:09 +00:00
|
|
|
*/
|
2023-07-25 14:22:47 +00:00
|
|
|
positive_style_prompt?: string;
|
|
|
|
/**
|
|
|
|
* Negative Style Prompt
|
|
|
|
* @description The negative style prompt parameter
|
|
|
|
*/
|
|
|
|
negative_style_prompt?: string;
|
|
|
|
/**
|
|
|
|
* Refiner Model
|
|
|
|
* @description The SDXL Refiner model used
|
|
|
|
*/
|
|
|
|
refiner_model?: components["schemas"]["MainModelField"];
|
|
|
|
/**
|
|
|
|
* Refiner Cfg Scale
|
|
|
|
* @description The classifier-free guidance scale parameter used for the refiner
|
|
|
|
*/
|
|
|
|
refiner_cfg_scale?: number;
|
|
|
|
/**
|
|
|
|
* Refiner Steps
|
|
|
|
* @description The number of steps used for the refiner
|
|
|
|
*/
|
|
|
|
refiner_steps?: number;
|
|
|
|
/**
|
|
|
|
* Refiner Scheduler
|
|
|
|
* @description The scheduler used for the refiner
|
|
|
|
*/
|
|
|
|
refiner_scheduler?: string;
|
|
|
|
/**
|
|
|
|
* Refiner Aesthetic Store
|
|
|
|
* @description The aesthetic score used for the refiner
|
|
|
|
*/
|
|
|
|
refiner_aesthetic_store?: number;
|
|
|
|
/**
|
|
|
|
* Refiner Start
|
|
|
|
* @description The start value used for refiner denoising
|
|
|
|
*/
|
|
|
|
refiner_start?: number;
|
2023-07-12 15:15:09 +00:00
|
|
|
};
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* CvInpaintInvocation
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Simple inpaint using opencv.
|
|
|
|
*/
|
|
|
|
CvInpaintInvocation: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Id
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The id of this node. Must be unique among all nodes.
|
|
|
|
*/
|
|
|
|
id: string;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Is Intermediate
|
|
|
|
* @description Whether or not this node is an intermediate node.
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default false
|
|
|
|
*/
|
|
|
|
is_intermediate?: boolean;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Type
|
|
|
|
* @default cv_inpaint
|
2023-06-23 09:14:13 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
type?: "cv_inpaint";
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Image
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The image to inpaint
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
image?: components["schemas"]["ImageField"];
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Mask
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The mask to use when inpainting
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
mask?: components["schemas"]["ImageField"];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
feat(ui): another go at gallery (#3791)
* feat(ui): migrate listImages to RTK query using createEntityAdapter
- see comments in `endpoints/images.ts` for explanation of the caching
- so far, only manually updating `all` images when new image is generated. no other manual cache updates are implemented, but will be needed.
- fixed some weirdness with loading state components (like the spinners in gallery)
- added `useThumbnailFallback` for `IAIDndImage`, this displays the tiny webp thumbnail while the full-size images load
- comment out some old thunk related stuff in gallerySlice, which is no longer needed
* feat(ui): add manual cache updates for board changes (wip)
- update RTK Query caches when adding/removing single image to/from board
- work more on migrating all image-related operations to RTK Query
* update AddImagesToBoardContext so that it works when user uses context menu + modal
* handle case where no image is selected
* get assets working for main list and boards - dnd only
* feat(ui): migrate image uploads to RTK Query
- minor refactor of `ImageUploader` and `useImageUploadButton` hooks, simplify some logic
- style filesystem upload overlay to match existing UI
- replace all old `imageUploaded` thunks with `uploadImage` RTK Query calls, update associated logic including canvas related uploads
- simplify `PostUploadAction`s that only need to display user input
* feat(ui): remove `receivedPageOfImages` thunks
* feat(ui): remove `receivedImageUrls` thunk
* feat(ui): finish removing all images thunks
stuff now broken:
- image usage
- delete board images
- on first load, no image selected
* feat(ui): simplify `updateImage` cache manipulation
- we don't actually ever change categories, so we can remove a lot of logic
* feat(ui): simplify canvas autosave
- instead of using a network request to set the canvas generation as not intermediate, we can just do that in the graph
* feat(ui): simplify & handle edge cases in cache updates
* feat(db, api): support `board_id='none'` for `get_many` images queries
This allows us to get all images that are not on a board.
* chore(ui): regen types
* feat(ui): add `All Assets`, `No Board` boards
Restructure boards:
- `all images` is all images
- `all assets` is all assets
- `no board` is all images/assets without a board set
- user boards may have images and assets
Update caching logic
- much simpler without every board having sub-views of images and assets
- update drag and drop operations for all possible interactions
* chore(ui): regen types
* feat(ui): move download to top of context menu
* feat(ui): improve drop overlay styles
* fix(ui): fix image not selected on first load
- listen for first load of all images board, then select the first image
* feat(ui): refactor board deletion
api changes:
- add route to list all image names for a board. this is required to handle board + image deletion. we need to know every image in the board to determine the image usage across the app. this is fetched only when the delete board and images modal is opened so it's as efficient as it can be.
- update the delete board route to respond with a list of deleted `board_images` and `images`, as image names. this is needed to perform accurate clientside state & cache updates after deleting.
db changes:
- remove unused `board_images` service method to get paginated images dtos for a board. this is now done thru the list images endpoint & images service. needs a small logic change on `images.delete_images_on_board`
ui changes:
- simplify the delete board modal - no context, just minor prop drilling. this is feasible for boards only because the components that need to trigger and manipulate the modal are very close together in the tree
- add cache updates for `deleteBoard` & `deleteBoardAndImages` mutations
- the only thing we cannot do directly is on `deleteBoardAndImages`, update the `No Board` board. we'd need to insert image dtos that we may not have loaded. instead, i am just invalidating the tags for that `listImages` cache. so when you `deleteBoardAndImages`, the `No Board` will re-fetch the initial image limit. i think this is more efficient than e.g. fetching all image dtos to insert then inserting them.
- handle image usage for `deleteBoardAndImages`
- update all (i think/hope) the little bits and pieces in the UI to accomodate these changes
* fix(ui): fix board selection logic
* feat(ui): add delete board modal loading state
* fix(ui): use thumbnails for board cover images
* fix(ui): fix race condition with board selection
when selecting a board that doesn't have any images loaded, we need to wait until the images haveloaded before selecting the first image.
this logic is debounced to ~1000ms.
* feat(ui): name 'No Board' correctly, change icon
* fix(ui): do not cache listAllImageNames query
if we cache it, we can end up with stale image usage during deletion.
we could of course manually update the cache as we are doing elsewhere. but because this is a relatively infrequent network request, i'd like to trade increased cache mgmt complexity here for increased resource usage.
* feat(ui): reduce drag preview opacity, remove border
* fix(ui): fix incorrect queryArg used in `deleteImage` and `updateImage` cache updates
* fix(ui): fix doubled open in new tab
* fix(ui): fix new generations not getting added to 'No Board'
* fix(ui): fix board id not changing on new image when autosave enabled
* fix(ui): context menu when selection is 0
need to revise how context menu is triggered later, when we approach multi select
* fix(ui): fix deleting does not update counts for all images and all assets
* fix(ui): fix all assets board name in boards list collapse button
* fix(ui): ensure we never go under 0 for total board count
* fix(ui): fix text overflow on board names
---------
Co-authored-by: Mary Hipp <maryhipp@Marys-MacBook-Air.local>
2023-07-19 16:06:38 +00:00
|
|
|
/** DeleteBoardResult */
|
|
|
|
DeleteBoardResult: {
|
|
|
|
/**
|
|
|
|
* Board Id
|
|
|
|
* @description The id of the board that was deleted.
|
|
|
|
*/
|
|
|
|
board_id: string;
|
|
|
|
/**
|
|
|
|
* Deleted Board Images
|
|
|
|
* @description The image names of the board-images relationships that were deleted.
|
|
|
|
*/
|
|
|
|
deleted_board_images: (string)[];
|
|
|
|
/**
|
|
|
|
* Deleted Images
|
|
|
|
* @description The names of the images that were deleted.
|
|
|
|
*/
|
|
|
|
deleted_images: (string)[];
|
|
|
|
};
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* DivideInvocation
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Divides two numbers
|
|
|
|
*/
|
|
|
|
DivideInvocation: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Id
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The id of this node. Must be unique among all nodes.
|
|
|
|
*/
|
|
|
|
id: string;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Is Intermediate
|
|
|
|
* @description Whether or not this node is an intermediate node.
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default false
|
|
|
|
*/
|
|
|
|
is_intermediate?: boolean;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Type
|
|
|
|
* @default div
|
2023-06-23 09:14:13 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
type?: "div";
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* A
|
|
|
|
* @description The first number
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default 0
|
|
|
|
*/
|
|
|
|
a?: number;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* B
|
|
|
|
* @description The second number
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default 0
|
|
|
|
*/
|
|
|
|
b?: number;
|
|
|
|
};
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* DynamicPromptInvocation
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Parses a prompt using adieyal/dynamicprompts' random or combinatorial generator
|
|
|
|
*/
|
|
|
|
DynamicPromptInvocation: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Id
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The id of this node. Must be unique among all nodes.
|
|
|
|
*/
|
|
|
|
id: string;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Is Intermediate
|
|
|
|
* @description Whether or not this node is an intermediate node.
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default false
|
|
|
|
*/
|
|
|
|
is_intermediate?: boolean;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Type
|
|
|
|
* @default dynamic_prompt
|
2023-06-23 09:14:13 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
type?: "dynamic_prompt";
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Prompt
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The prompt to parse with dynamicprompts
|
|
|
|
*/
|
|
|
|
prompt: string;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Max Prompts
|
|
|
|
* @description The number of prompts to generate
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default 1
|
|
|
|
*/
|
|
|
|
max_prompts?: number;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Combinatorial
|
|
|
|
* @description Whether to use the combinatorial generator
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default false
|
|
|
|
*/
|
|
|
|
combinatorial?: boolean;
|
|
|
|
};
|
2023-07-17 11:08:53 +00:00
|
|
|
/**
|
|
|
|
* ESRGANInvocation
|
|
|
|
* @description Upscales an image using RealESRGAN.
|
|
|
|
*/
|
|
|
|
ESRGANInvocation: {
|
|
|
|
/**
|
|
|
|
* Id
|
|
|
|
* @description The id of this node. Must be unique among all nodes.
|
|
|
|
*/
|
|
|
|
id: string;
|
|
|
|
/**
|
|
|
|
* Is Intermediate
|
|
|
|
* @description Whether or not this node is an intermediate node.
|
|
|
|
* @default false
|
|
|
|
*/
|
|
|
|
is_intermediate?: boolean;
|
|
|
|
/**
|
|
|
|
* Type
|
|
|
|
* @default esrgan
|
|
|
|
* @enum {string}
|
|
|
|
*/
|
|
|
|
type?: "esrgan";
|
|
|
|
/**
|
|
|
|
* Image
|
|
|
|
* @description The input image
|
|
|
|
*/
|
|
|
|
image?: components["schemas"]["ImageField"];
|
|
|
|
/**
|
|
|
|
* Model Name
|
|
|
|
* @description The Real-ESRGAN model to use
|
|
|
|
* @default RealESRGAN_x4plus.pth
|
|
|
|
* @enum {string}
|
|
|
|
*/
|
|
|
|
model_name?: "RealESRGAN_x4plus.pth" | "RealESRGAN_x4plus_anime_6B.pth" | "ESRGAN_SRx4_DF2KOST_official-ff704c30.pth" | "RealESRGAN_x2plus.pth";
|
|
|
|
};
|
2023-06-23 09:14:13 +00:00
|
|
|
/** Edge */
|
|
|
|
Edge: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Source
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The connection for the edge's from node and field
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
source: components["schemas"]["EdgeConnection"];
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Destination
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The connection for the edge's to node and field
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
destination: components["schemas"]["EdgeConnection"];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
|
|
|
/** EdgeConnection */
|
|
|
|
EdgeConnection: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Node Id
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The id of the node for this edge connection
|
|
|
|
*/
|
|
|
|
node_id: string;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Field
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The field for this connection
|
|
|
|
*/
|
|
|
|
field: string;
|
|
|
|
};
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* FloatCollectionOutput
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description A collection of floats
|
|
|
|
*/
|
|
|
|
FloatCollectionOutput: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Type
|
|
|
|
* @default float_collection
|
2023-06-23 09:14:13 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
type?: "float_collection";
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Collection
|
|
|
|
* @description The float collection
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default []
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
collection?: (number)[];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* FloatLinearRangeInvocation
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Creates a range
|
|
|
|
*/
|
|
|
|
FloatLinearRangeInvocation: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Id
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The id of this node. Must be unique among all nodes.
|
|
|
|
*/
|
|
|
|
id: string;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Is Intermediate
|
|
|
|
* @description Whether or not this node is an intermediate node.
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default false
|
|
|
|
*/
|
|
|
|
is_intermediate?: boolean;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Type
|
|
|
|
* @default float_range
|
2023-06-23 09:14:13 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
type?: "float_range";
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Start
|
|
|
|
* @description The first value of the range
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default 5
|
|
|
|
*/
|
|
|
|
start?: number;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Stop
|
|
|
|
* @description The last value of the range
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default 10
|
|
|
|
*/
|
|
|
|
stop?: number;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Steps
|
|
|
|
* @description number of values to interpolate over (including start and stop)
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default 30
|
|
|
|
*/
|
|
|
|
steps?: number;
|
|
|
|
};
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* FloatOutput
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description A float output
|
|
|
|
*/
|
|
|
|
FloatOutput: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Type
|
|
|
|
* @default float_output
|
2023-06-23 09:14:13 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
type?: "float_output";
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Param
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The output float
|
|
|
|
*/
|
|
|
|
param?: number;
|
|
|
|
};
|
|
|
|
/** Graph */
|
|
|
|
Graph: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Id
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The id of this graph
|
|
|
|
*/
|
|
|
|
id?: string;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Nodes
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The nodes in this graph
|
|
|
|
*/
|
|
|
|
nodes?: {
|
2023-07-24 12:25:39 +00:00
|
|
|
[key: string]: (components["schemas"]["ControlNetInvocation"] | components["schemas"]["ImageProcessorInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["LoraLoaderInvocation"] | components["schemas"]["VaeLoaderInvocation"] | components["schemas"]["MetadataAccumulatorInvocation"] | components["schemas"]["LoadImageInvocation"] | components["schemas"]["ShowImageInvocation"] | components["schemas"]["ImageCropInvocation"] | components["schemas"]["ImagePasteInvocation"] | components["schemas"]["MaskFromAlphaInvocation"] | components["schemas"]["ImageMultiplyInvocation"] | components["schemas"]["ImageChannelInvocation"] | components["schemas"]["ImageConvertInvocation"] | components["schemas"]["ImageBlurInvocation"] | components["schemas"]["ImageResizeInvocation"] | components["schemas"]["ImageScaleInvocation"] | components["schemas"]["ImageLerpInvocation"] | components["schemas"]["ImageInverseLerpInvocation"] | components["schemas"]["ImageNSFWBlurInvocation"] | components["schemas"]["ImageWatermarkInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["SDXLRawPromptInvocation"] | components["schemas"]["SDXLRefinerRawPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["TextToLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["InpaintInvocation"] | components["schemas"]["AddInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["ParamIntInvocation"] | components["schemas"]["ParamFloatInvocation"] | components["schemas"]["ParamStringInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["SDXLTextToLatentsInvocation"] | components["schemas"]["SDXLLatentsToLatentsInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["StepParamEasingInvocation"] | components["schemas"]["GraphInvocation"] | components["schemas"]["IterateInvocation"] | components["schemas"]["CollectInvocation"] | components["schemas"]["CannyImageProcessorInvocation"] | components["schemas"]["HedImageProcessorInvocation"] | components["schemas"]["LineartImageProcessorInvocation"] | components["schemas"]["LineartAnimeImageProcessorInvocation"] | components["schemas"]["OpenposeImageProcessorInvocation"] | components["schemas"]["MidasDepthImageProcessorInvocation"] | components["schemas"]["NormalbaeImageProcessorInvocation"] | components["schemas"]["MlsdImageProcessorInvocation"] | components["schemas"]["PidiImageProcessorInvocation"] | components["schemas"]["ContentShuffleImageProcessorInvocation"] | components["schemas"]["ZoeDepthImageProcessorInvocation"] | components["schemas"]["MediapipeFaceProcessorInvocation"] | components["schemas"]["LeresImageProcessorInvocation"] | components["schemas"]["TileResamplerProcessorInvocation"] | components["schemas"]["SegmentAnythingProcessorInvocation"] | components["schemas"]["LatentsToLatentsInvocation"]) | undefined;
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Edges
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The connections between nodes and their fields in this graph
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
edges?: (components["schemas"]["Edge"])[];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* GraphExecutionState
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Tracks the state of a graph execution
|
|
|
|
*/
|
|
|
|
GraphExecutionState: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Id
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The id of the execution state
|
|
|
|
*/
|
|
|
|
id: string;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Graph
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The graph being executed
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
graph: components["schemas"]["Graph"];
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Execution Graph
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The expanded graph of activated and executed nodes
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
execution_graph: components["schemas"]["Graph"];
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Executed
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The set of node ids that have been executed
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
executed: (string)[];
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Executed History
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The list of node ids that have been executed, in order of execution
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
executed_history: (string)[];
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Results
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The results of node executions
|
|
|
|
*/
|
|
|
|
results: {
|
2023-07-23 20:24:34 +00:00
|
|
|
[key: string]: (components["schemas"]["ImageOutput"] | components["schemas"]["MaskOutput"] | components["schemas"]["ControlOutput"] | components["schemas"]["ModelLoaderOutput"] | components["schemas"]["LoraLoaderOutput"] | components["schemas"]["VaeLoaderOutput"] | components["schemas"]["MetadataAccumulatorOutput"] | components["schemas"]["CompelOutput"] | components["schemas"]["ClipSkipInvocationOutput"] | components["schemas"]["LatentsOutput"] | components["schemas"]["IntOutput"] | components["schemas"]["FloatOutput"] | components["schemas"]["StringOutput"] | components["schemas"]["IntCollectionOutput"] | components["schemas"]["FloatCollectionOutput"] | components["schemas"]["ImageCollectionOutput"] | components["schemas"]["PromptOutput"] | components["schemas"]["PromptCollectionOutput"] | components["schemas"]["NoiseOutput"] | components["schemas"]["SDXLModelLoaderOutput"] | components["schemas"]["SDXLRefinerModelLoaderOutput"] | components["schemas"]["GraphInvocationOutput"] | components["schemas"]["IterateInvocationOutput"] | components["schemas"]["CollectInvocationOutput"]) | undefined;
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Errors
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Errors raised when executing nodes
|
|
|
|
*/
|
|
|
|
errors: {
|
|
|
|
[key: string]: string | undefined;
|
|
|
|
};
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Prepared Source Mapping
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The map of prepared nodes to original graph nodes
|
|
|
|
*/
|
|
|
|
prepared_source_mapping: {
|
|
|
|
[key: string]: string | undefined;
|
|
|
|
};
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Source Prepared Mapping
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The map of original graph nodes to prepared nodes
|
|
|
|
*/
|
|
|
|
source_prepared_mapping: {
|
2023-07-13 05:22:18 +00:00
|
|
|
[key: string]: (string)[] | undefined;
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* GraphInvocation
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Execute a graph
|
|
|
|
*/
|
|
|
|
GraphInvocation: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Id
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The id of this node. Must be unique among all nodes.
|
|
|
|
*/
|
|
|
|
id: string;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Is Intermediate
|
|
|
|
* @description Whether or not this node is an intermediate node.
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default false
|
|
|
|
*/
|
|
|
|
is_intermediate?: boolean;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Type
|
|
|
|
* @default graph
|
2023-06-23 09:14:13 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
type?: "graph";
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Graph
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The graph to run
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
graph?: components["schemas"]["Graph"];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* GraphInvocationOutput
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Base class for all invocation outputs
|
|
|
|
*/
|
|
|
|
GraphInvocationOutput: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Type
|
|
|
|
* @default graph_output
|
2023-06-23 09:14:13 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
type: "graph_output";
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
|
|
|
/** HTTPValidationError */
|
|
|
|
HTTPValidationError: {
|
|
|
|
/** Detail */
|
2023-07-13 05:22:18 +00:00
|
|
|
detail?: (components["schemas"]["ValidationError"])[];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* HedImageProcessorInvocation
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Applies HED edge detection to image
|
|
|
|
*/
|
|
|
|
HedImageProcessorInvocation: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Id
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The id of this node. Must be unique among all nodes.
|
|
|
|
*/
|
|
|
|
id: string;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Is Intermediate
|
|
|
|
* @description Whether or not this node is an intermediate node.
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default false
|
|
|
|
*/
|
|
|
|
is_intermediate?: boolean;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Type
|
|
|
|
* @default hed_image_processor
|
2023-06-23 09:14:13 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
type?: "hed_image_processor";
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Image
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The image to process
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
image?: components["schemas"]["ImageField"];
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Detect Resolution
|
|
|
|
* @description The pixel resolution for detection
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default 512
|
|
|
|
*/
|
|
|
|
detect_resolution?: number;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Image Resolution
|
|
|
|
* @description The pixel resolution for the output image
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default 512
|
|
|
|
*/
|
|
|
|
image_resolution?: number;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Scribble
|
|
|
|
* @description Whether to use scribble mode
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default false
|
|
|
|
*/
|
|
|
|
scribble?: boolean;
|
|
|
|
};
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* ImageBlurInvocation
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Blurs an image
|
|
|
|
*/
|
|
|
|
ImageBlurInvocation: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Id
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The id of this node. Must be unique among all nodes.
|
|
|
|
*/
|
|
|
|
id: string;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Is Intermediate
|
|
|
|
* @description Whether or not this node is an intermediate node.
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default false
|
|
|
|
*/
|
|
|
|
is_intermediate?: boolean;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Type
|
|
|
|
* @default img_blur
|
2023-06-23 09:14:13 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
type?: "img_blur";
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Image
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The image to blur
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
image?: components["schemas"]["ImageField"];
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Radius
|
|
|
|
* @description The blur radius
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default 8
|
|
|
|
*/
|
|
|
|
radius?: number;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Blur Type
|
|
|
|
* @description The type of blur
|
|
|
|
* @default gaussian
|
2023-06-23 09:14:13 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
blur_type?: "gaussian" | "box";
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* ImageCategory
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The category of an image.
|
2023-07-13 05:22:18 +00:00
|
|
|
*
|
2023-06-23 09:14:13 +00:00
|
|
|
* - GENERAL: The image is an output, init image, or otherwise an image without a specialized purpose.
|
|
|
|
* - MASK: The image is a mask image.
|
|
|
|
* - CONTROL: The image is a ControlNet control image.
|
|
|
|
* - USER: The image is a user-provide image.
|
2023-07-13 05:22:18 +00:00
|
|
|
* - OTHER: The image is some other type of image with a specialized purpose. To be used by external nodes.
|
2023-06-23 09:14:13 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
ImageCategory: "general" | "mask" | "control" | "user" | "other";
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* ImageChannelInvocation
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Gets a channel from an image.
|
|
|
|
*/
|
|
|
|
ImageChannelInvocation: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Id
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The id of this node. Must be unique among all nodes.
|
|
|
|
*/
|
|
|
|
id: string;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Is Intermediate
|
|
|
|
* @description Whether or not this node is an intermediate node.
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default false
|
|
|
|
*/
|
|
|
|
is_intermediate?: boolean;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Type
|
|
|
|
* @default img_chan
|
2023-06-23 09:14:13 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
type?: "img_chan";
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Image
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The image to get the channel from
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
image?: components["schemas"]["ImageField"];
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Channel
|
|
|
|
* @description The channel to get
|
|
|
|
* @default A
|
2023-06-23 09:14:13 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
channel?: "A" | "R" | "G" | "B";
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
2023-07-03 14:09:18 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* ImageCollectionInvocation
|
2023-07-03 14:09:18 +00:00
|
|
|
* @description Load a collection of images and provide it as output.
|
|
|
|
*/
|
|
|
|
ImageCollectionInvocation: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Id
|
2023-07-03 14:09:18 +00:00
|
|
|
* @description The id of this node. Must be unique among all nodes.
|
|
|
|
*/
|
|
|
|
id: string;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Is Intermediate
|
|
|
|
* @description Whether or not this node is an intermediate node.
|
2023-07-03 14:09:18 +00:00
|
|
|
* @default false
|
|
|
|
*/
|
|
|
|
is_intermediate?: boolean;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Type
|
|
|
|
* @default image_collection
|
2023-07-03 14:09:18 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
type?: "image_collection";
|
2023-07-03 14:09:18 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Images
|
|
|
|
* @description The image collection to load
|
2023-07-03 14:09:18 +00:00
|
|
|
* @default []
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
images?: (components["schemas"]["ImageField"])[];
|
2023-07-03 14:09:18 +00:00
|
|
|
};
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* ImageCollectionOutput
|
2023-07-03 14:09:18 +00:00
|
|
|
* @description A collection of images
|
|
|
|
*/
|
|
|
|
ImageCollectionOutput: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Type
|
|
|
|
* @default image_collection
|
2023-07-03 14:09:18 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
type: "image_collection";
|
2023-07-03 14:09:18 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Collection
|
|
|
|
* @description The output images
|
2023-07-03 14:09:18 +00:00
|
|
|
* @default []
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
collection: (components["schemas"]["ImageField"])[];
|
2023-07-03 14:09:18 +00:00
|
|
|
};
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* ImageConvertInvocation
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Converts an image to a different mode.
|
|
|
|
*/
|
|
|
|
ImageConvertInvocation: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Id
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The id of this node. Must be unique among all nodes.
|
|
|
|
*/
|
|
|
|
id: string;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Is Intermediate
|
|
|
|
* @description Whether or not this node is an intermediate node.
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default false
|
|
|
|
*/
|
|
|
|
is_intermediate?: boolean;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Type
|
|
|
|
* @default img_conv
|
2023-06-23 09:14:13 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
type?: "img_conv";
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Image
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The image to convert
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
image?: components["schemas"]["ImageField"];
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Mode
|
|
|
|
* @description The mode to convert to
|
|
|
|
* @default L
|
2023-06-23 09:14:13 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
mode?: "L" | "RGB" | "RGBA" | "CMYK" | "YCbCr" | "LAB" | "HSV" | "I" | "F";
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* ImageCropInvocation
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Crops an image to a specified box. The box can be outside of the image.
|
|
|
|
*/
|
|
|
|
ImageCropInvocation: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Id
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The id of this node. Must be unique among all nodes.
|
|
|
|
*/
|
|
|
|
id: string;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Is Intermediate
|
|
|
|
* @description Whether or not this node is an intermediate node.
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default false
|
|
|
|
*/
|
|
|
|
is_intermediate?: boolean;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Type
|
|
|
|
* @default img_crop
|
2023-06-23 09:14:13 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
type?: "img_crop";
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Image
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The image to crop
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
image?: components["schemas"]["ImageField"];
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* X
|
|
|
|
* @description The left x coordinate of the crop rectangle
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default 0
|
|
|
|
*/
|
|
|
|
x?: number;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Y
|
|
|
|
* @description The top y coordinate of the crop rectangle
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default 0
|
|
|
|
*/
|
|
|
|
y?: number;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Width
|
|
|
|
* @description The width of the crop rectangle
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default 512
|
|
|
|
*/
|
|
|
|
width?: number;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Height
|
|
|
|
* @description The height of the crop rectangle
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default 512
|
|
|
|
*/
|
|
|
|
height?: number;
|
|
|
|
};
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* ImageDTO
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Deserialized image record, enriched for the frontend.
|
|
|
|
*/
|
|
|
|
ImageDTO: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Image Name
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The unique name of the image.
|
|
|
|
*/
|
|
|
|
image_name: string;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Image Url
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The URL of the image.
|
|
|
|
*/
|
|
|
|
image_url: string;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Thumbnail Url
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The URL of the image's thumbnail.
|
|
|
|
*/
|
|
|
|
thumbnail_url: string;
|
|
|
|
/** @description The type of the image. */
|
2023-07-13 05:22:18 +00:00
|
|
|
image_origin: components["schemas"]["ResourceOrigin"];
|
2023-06-23 09:14:13 +00:00
|
|
|
/** @description The category of the image. */
|
2023-07-13 05:22:18 +00:00
|
|
|
image_category: components["schemas"]["ImageCategory"];
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Width
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The width of the image in px.
|
|
|
|
*/
|
|
|
|
width: number;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Height
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The height of the image in px.
|
|
|
|
*/
|
|
|
|
height: number;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Created At
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The created timestamp of the image.
|
|
|
|
*/
|
|
|
|
created_at: string;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Updated At
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The updated timestamp of the image.
|
|
|
|
*/
|
|
|
|
updated_at: string;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Deleted At
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The deleted timestamp of the image.
|
|
|
|
*/
|
|
|
|
deleted_at?: string;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Is Intermediate
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Whether this is an intermediate image.
|
|
|
|
*/
|
|
|
|
is_intermediate: boolean;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Session Id
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The session ID that generated this image, if it is a generated image.
|
|
|
|
*/
|
|
|
|
session_id?: string;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Node Id
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The node ID that generated this image, if it is a generated image.
|
|
|
|
*/
|
|
|
|
node_id?: string;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Board Id
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The id of the board the image belongs to, if one exists.
|
|
|
|
*/
|
|
|
|
board_id?: string;
|
|
|
|
};
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* ImageField
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description An image field used for passing image objects between invocations
|
|
|
|
*/
|
|
|
|
ImageField: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Image Name
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The name of the image
|
|
|
|
*/
|
|
|
|
image_name: string;
|
|
|
|
};
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* ImageInverseLerpInvocation
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Inverse linear interpolation of all pixels of an image
|
|
|
|
*/
|
|
|
|
ImageInverseLerpInvocation: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Id
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The id of this node. Must be unique among all nodes.
|
|
|
|
*/
|
|
|
|
id: string;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Is Intermediate
|
|
|
|
* @description Whether or not this node is an intermediate node.
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default false
|
|
|
|
*/
|
|
|
|
is_intermediate?: boolean;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Type
|
|
|
|
* @default img_ilerp
|
2023-06-23 09:14:13 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
type?: "img_ilerp";
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Image
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The image to lerp
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
image?: components["schemas"]["ImageField"];
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Min
|
|
|
|
* @description The minimum input value
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default 0
|
|
|
|
*/
|
|
|
|
min?: number;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Max
|
|
|
|
* @description The maximum input value
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default 255
|
|
|
|
*/
|
|
|
|
max?: number;
|
|
|
|
};
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* ImageLerpInvocation
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Linear interpolation of all pixels of an image
|
|
|
|
*/
|
|
|
|
ImageLerpInvocation: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Id
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The id of this node. Must be unique among all nodes.
|
|
|
|
*/
|
|
|
|
id: string;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Is Intermediate
|
|
|
|
* @description Whether or not this node is an intermediate node.
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default false
|
|
|
|
*/
|
|
|
|
is_intermediate?: boolean;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Type
|
|
|
|
* @default img_lerp
|
2023-06-23 09:14:13 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
type?: "img_lerp";
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Image
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The image to lerp
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
image?: components["schemas"]["ImageField"];
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Min
|
|
|
|
* @description The minimum output value
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default 0
|
|
|
|
*/
|
|
|
|
min?: number;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Max
|
|
|
|
* @description The maximum output value
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default 255
|
|
|
|
*/
|
|
|
|
max?: number;
|
|
|
|
};
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* ImageMetadata
|
2023-07-12 15:15:09 +00:00
|
|
|
* @description An image's generation metadata
|
2023-06-23 09:14:13 +00:00
|
|
|
*/
|
|
|
|
ImageMetadata: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Metadata
|
2023-07-12 15:15:09 +00:00
|
|
|
* @description The image's core metadata, if it was created in the Linear or Canvas UI
|
2023-06-23 09:14:13 +00:00
|
|
|
*/
|
2023-07-12 15:15:09 +00:00
|
|
|
metadata?: Record<string, never>;
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Graph
|
2023-07-12 15:15:09 +00:00
|
|
|
* @description The graph that created the image
|
2023-06-23 09:14:13 +00:00
|
|
|
*/
|
2023-07-12 15:15:09 +00:00
|
|
|
graph?: Record<string, never>;
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* ImageMultiplyInvocation
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Multiplies two images together using `PIL.ImageChops.multiply()`.
|
|
|
|
*/
|
|
|
|
ImageMultiplyInvocation: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Id
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The id of this node. Must be unique among all nodes.
|
|
|
|
*/
|
|
|
|
id: string;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Is Intermediate
|
|
|
|
* @description Whether or not this node is an intermediate node.
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default false
|
|
|
|
*/
|
|
|
|
is_intermediate?: boolean;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Type
|
|
|
|
* @default img_mul
|
2023-06-23 09:14:13 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
type?: "img_mul";
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Image1
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The first image to multiply
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
image1?: components["schemas"]["ImageField"];
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Image2
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The second image to multiply
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
image2?: components["schemas"]["ImageField"];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
2023-07-23 20:24:34 +00:00
|
|
|
/**
|
2023-07-24 12:25:39 +00:00
|
|
|
* ImageNSFWBlurInvocation
|
2023-07-23 20:24:34 +00:00
|
|
|
* @description Add blur to NSFW-flagged images
|
|
|
|
*/
|
2023-07-24 12:25:39 +00:00
|
|
|
ImageNSFWBlurInvocation: {
|
2023-07-23 20:24:34 +00:00
|
|
|
/**
|
|
|
|
* Id
|
|
|
|
* @description The id of this node. Must be unique among all nodes.
|
|
|
|
*/
|
|
|
|
id: string;
|
|
|
|
/**
|
|
|
|
* Is Intermediate
|
|
|
|
* @description Whether or not this node is an intermediate node.
|
|
|
|
* @default false
|
|
|
|
*/
|
|
|
|
is_intermediate?: boolean;
|
|
|
|
/**
|
|
|
|
* Type
|
|
|
|
* @default img_nsfw
|
|
|
|
* @enum {string}
|
|
|
|
*/
|
|
|
|
type?: "img_nsfw";
|
|
|
|
/**
|
|
|
|
* Image
|
2023-07-24 12:25:39 +00:00
|
|
|
* @description The image to check
|
2023-07-23 20:24:34 +00:00
|
|
|
*/
|
|
|
|
image?: components["schemas"]["ImageField"];
|
|
|
|
/**
|
2023-07-24 12:25:39 +00:00
|
|
|
* Enabled
|
|
|
|
* @description Whether the NSFW checker is enabled
|
|
|
|
* @default false
|
|
|
|
*/
|
|
|
|
enabled?: boolean;
|
|
|
|
/**
|
|
|
|
* Metadata
|
|
|
|
* @description Optional core metadata to be written to the image
|
2023-07-23 20:24:34 +00:00
|
|
|
*/
|
2023-07-24 12:25:39 +00:00
|
|
|
metadata?: components["schemas"]["CoreMetadata"];
|
|
|
|
/**
|
|
|
|
* Default Enabled
|
|
|
|
* @default false
|
|
|
|
*/
|
|
|
|
DEFAULT_ENABLED?: boolean;
|
2023-07-23 20:24:34 +00:00
|
|
|
};
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* ImageOutput
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Base class for invocations that output an image
|
|
|
|
*/
|
|
|
|
ImageOutput: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Type
|
|
|
|
* @default image_output
|
2023-06-23 09:14:13 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
type: "image_output";
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Image
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The output image
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
image: components["schemas"]["ImageField"];
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Width
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The width of the image in pixels
|
|
|
|
*/
|
|
|
|
width: number;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Height
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The height of the image in pixels
|
|
|
|
*/
|
|
|
|
height: number;
|
|
|
|
};
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* ImagePasteInvocation
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Pastes an image into another image.
|
|
|
|
*/
|
|
|
|
ImagePasteInvocation: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Id
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The id of this node. Must be unique among all nodes.
|
|
|
|
*/
|
|
|
|
id: string;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Is Intermediate
|
|
|
|
* @description Whether or not this node is an intermediate node.
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default false
|
|
|
|
*/
|
|
|
|
is_intermediate?: boolean;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Type
|
|
|
|
* @default img_paste
|
2023-06-23 09:14:13 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
type?: "img_paste";
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Base Image
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The base image
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
base_image?: components["schemas"]["ImageField"];
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Image
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The image to paste
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
image?: components["schemas"]["ImageField"];
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Mask
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The mask to use when pasting
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
mask?: components["schemas"]["ImageField"];
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* X
|
|
|
|
* @description The left x coordinate at which to paste the image
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default 0
|
|
|
|
*/
|
|
|
|
x?: number;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Y
|
|
|
|
* @description The top y coordinate at which to paste the image
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default 0
|
|
|
|
*/
|
|
|
|
y?: number;
|
|
|
|
};
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* ImageProcessorInvocation
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Base class for invocations that preprocess images for ControlNet
|
|
|
|
*/
|
|
|
|
ImageProcessorInvocation: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Id
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The id of this node. Must be unique among all nodes.
|
|
|
|
*/
|
|
|
|
id: string;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Is Intermediate
|
|
|
|
* @description Whether or not this node is an intermediate node.
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default false
|
|
|
|
*/
|
|
|
|
is_intermediate?: boolean;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Type
|
|
|
|
* @default image_processor
|
2023-06-23 09:14:13 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
type?: "image_processor";
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Image
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The image to process
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
image?: components["schemas"]["ImageField"];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* ImageRecordChanges
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description A set of changes to apply to an image record.
|
2023-07-13 05:22:18 +00:00
|
|
|
*
|
2023-06-23 09:14:13 +00:00
|
|
|
* Only limited changes are valid:
|
|
|
|
* - `image_category`: change the category of an image
|
|
|
|
* - `session_id`: change the session associated with an image
|
|
|
|
* - `is_intermediate`: change the image's `is_intermediate` flag
|
|
|
|
*/
|
|
|
|
ImageRecordChanges: {
|
|
|
|
/** @description The image's new category. */
|
2023-07-13 05:22:18 +00:00
|
|
|
image_category?: components["schemas"]["ImageCategory"];
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Session Id
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The image's new session ID.
|
|
|
|
*/
|
|
|
|
session_id?: string;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Is Intermediate
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The image's new `is_intermediate` flag.
|
|
|
|
*/
|
|
|
|
is_intermediate?: boolean;
|
|
|
|
};
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* ImageResizeInvocation
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Resizes an image to specific dimensions
|
|
|
|
*/
|
|
|
|
ImageResizeInvocation: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Id
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The id of this node. Must be unique among all nodes.
|
|
|
|
*/
|
|
|
|
id: string;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Is Intermediate
|
|
|
|
* @description Whether or not this node is an intermediate node.
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default false
|
|
|
|
*/
|
|
|
|
is_intermediate?: boolean;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Type
|
|
|
|
* @default img_resize
|
2023-06-23 09:14:13 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
type?: "img_resize";
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Image
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The image to resize
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
image?: components["schemas"]["ImageField"];
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Width
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The width to resize to (px)
|
|
|
|
*/
|
2023-07-15 02:19:24 +00:00
|
|
|
width?: number;
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Height
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The height to resize to (px)
|
|
|
|
*/
|
2023-07-15 02:19:24 +00:00
|
|
|
height?: number;
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Resample Mode
|
|
|
|
* @description The resampling mode
|
|
|
|
* @default bicubic
|
2023-06-23 09:14:13 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
resample_mode?: "nearest" | "box" | "bilinear" | "hamming" | "bicubic" | "lanczos";
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* ImageScaleInvocation
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Scales an image by a factor
|
|
|
|
*/
|
|
|
|
ImageScaleInvocation: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Id
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The id of this node. Must be unique among all nodes.
|
|
|
|
*/
|
|
|
|
id: string;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Is Intermediate
|
|
|
|
* @description Whether or not this node is an intermediate node.
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default false
|
|
|
|
*/
|
|
|
|
is_intermediate?: boolean;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Type
|
|
|
|
* @default img_scale
|
2023-06-23 09:14:13 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
type?: "img_scale";
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Image
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The image to scale
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
image?: components["schemas"]["ImageField"];
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Scale Factor
|
2023-07-17 11:08:53 +00:00
|
|
|
* @description The factor by which to scale the image
|
|
|
|
* @default 2
|
2023-06-23 09:14:13 +00:00
|
|
|
*/
|
2023-07-17 11:08:53 +00:00
|
|
|
scale_factor?: number;
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Resample Mode
|
|
|
|
* @description The resampling mode
|
|
|
|
* @default bicubic
|
2023-06-23 09:14:13 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
resample_mode?: "nearest" | "box" | "bilinear" | "hamming" | "bicubic" | "lanczos";
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* ImageToLatentsInvocation
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Encodes an image into latents.
|
|
|
|
*/
|
|
|
|
ImageToLatentsInvocation: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Id
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The id of this node. Must be unique among all nodes.
|
|
|
|
*/
|
|
|
|
id: string;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Is Intermediate
|
|
|
|
* @description Whether or not this node is an intermediate node.
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default false
|
|
|
|
*/
|
|
|
|
is_intermediate?: boolean;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Type
|
|
|
|
* @default i2l
|
2023-06-23 09:14:13 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
type?: "i2l";
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Image
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The image to encode
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
image?: components["schemas"]["ImageField"];
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Vae
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Vae submodel
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
vae?: components["schemas"]["VaeField"];
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Tiled
|
|
|
|
* @description Encode latents by overlaping tiles(less memory consumption)
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default false
|
|
|
|
*/
|
|
|
|
tiled?: boolean;
|
2023-07-18 02:01:56 +00:00
|
|
|
/**
|
|
|
|
* Fp32
|
|
|
|
* @description Decode in full precision
|
|
|
|
* @default false
|
|
|
|
*/
|
|
|
|
fp32?: boolean;
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* ImageUrlsDTO
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The URLs for an image and its thumbnail.
|
|
|
|
*/
|
|
|
|
ImageUrlsDTO: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Image Name
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The unique name of the image.
|
|
|
|
*/
|
|
|
|
image_name: string;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Image Url
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The URL of the image.
|
|
|
|
*/
|
|
|
|
image_url: string;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Thumbnail Url
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The URL of the image's thumbnail.
|
|
|
|
*/
|
|
|
|
thumbnail_url: string;
|
|
|
|
};
|
2023-07-24 12:25:39 +00:00
|
|
|
/**
|
|
|
|
* ImageWatermarkInvocation
|
|
|
|
* @description Add an invisible watermark to an image
|
|
|
|
*/
|
|
|
|
ImageWatermarkInvocation: {
|
|
|
|
/**
|
|
|
|
* Id
|
|
|
|
* @description The id of this node. Must be unique among all nodes.
|
|
|
|
*/
|
|
|
|
id: string;
|
|
|
|
/**
|
|
|
|
* Is Intermediate
|
|
|
|
* @description Whether or not this node is an intermediate node.
|
|
|
|
* @default false
|
|
|
|
*/
|
|
|
|
is_intermediate?: boolean;
|
|
|
|
/**
|
|
|
|
* Type
|
|
|
|
* @default img_watermark
|
|
|
|
* @enum {string}
|
|
|
|
*/
|
|
|
|
type?: "img_watermark";
|
|
|
|
/**
|
|
|
|
* Image
|
|
|
|
* @description The image to check
|
|
|
|
*/
|
|
|
|
image?: components["schemas"]["ImageField"];
|
|
|
|
/**
|
|
|
|
* Text
|
|
|
|
* @description Watermark text
|
|
|
|
* @default InvokeAI
|
|
|
|
*/
|
|
|
|
text?: string;
|
|
|
|
/**
|
|
|
|
* Enabled
|
|
|
|
* @description Whether the invisible watermark is enabled
|
|
|
|
* @default true
|
|
|
|
*/
|
|
|
|
enabled?: boolean;
|
|
|
|
/**
|
|
|
|
* Metadata
|
|
|
|
* @description Optional core metadata to be written to the image
|
|
|
|
*/
|
|
|
|
metadata?: components["schemas"]["CoreMetadata"];
|
|
|
|
/**
|
|
|
|
* Default Enabled
|
|
|
|
* @default true
|
|
|
|
*/
|
|
|
|
DEFAULT_ENABLED?: boolean;
|
|
|
|
};
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* InfillColorInvocation
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Infills transparent areas of an image with a solid color
|
|
|
|
*/
|
|
|
|
InfillColorInvocation: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Id
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The id of this node. Must be unique among all nodes.
|
|
|
|
*/
|
|
|
|
id: string;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Is Intermediate
|
|
|
|
* @description Whether or not this node is an intermediate node.
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default false
|
|
|
|
*/
|
|
|
|
is_intermediate?: boolean;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Type
|
|
|
|
* @default infill_rgba
|
2023-06-23 09:14:13 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
type?: "infill_rgba";
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Image
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The image to infill
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
image?: components["schemas"]["ImageField"];
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Color
|
|
|
|
* @description The color to use to infill
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default {
|
|
|
|
* "r": 127,
|
|
|
|
* "g": 127,
|
|
|
|
* "b": 127,
|
|
|
|
* "a": 255
|
|
|
|
* }
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
color?: components["schemas"]["ColorField"];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* InfillPatchMatchInvocation
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Infills transparent areas of an image using the PatchMatch algorithm
|
|
|
|
*/
|
|
|
|
InfillPatchMatchInvocation: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Id
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The id of this node. Must be unique among all nodes.
|
|
|
|
*/
|
|
|
|
id: string;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Is Intermediate
|
|
|
|
* @description Whether or not this node is an intermediate node.
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default false
|
|
|
|
*/
|
|
|
|
is_intermediate?: boolean;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Type
|
|
|
|
* @default infill_patchmatch
|
2023-06-23 09:14:13 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
type?: "infill_patchmatch";
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Image
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The image to infill
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
image?: components["schemas"]["ImageField"];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* InfillTileInvocation
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Infills transparent areas of an image with tiles of the image
|
|
|
|
*/
|
|
|
|
InfillTileInvocation: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Id
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The id of this node. Must be unique among all nodes.
|
|
|
|
*/
|
|
|
|
id: string;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Is Intermediate
|
|
|
|
* @description Whether or not this node is an intermediate node.
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default false
|
|
|
|
*/
|
|
|
|
is_intermediate?: boolean;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Type
|
|
|
|
* @default infill_tile
|
2023-06-23 09:14:13 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
type?: "infill_tile";
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Image
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The image to infill
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
image?: components["schemas"]["ImageField"];
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Tile Size
|
|
|
|
* @description The tile size (px)
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default 32
|
|
|
|
*/
|
|
|
|
tile_size?: number;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Seed
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The seed to use for tile generation (omit for random)
|
|
|
|
*/
|
|
|
|
seed?: number;
|
|
|
|
};
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* InpaintInvocation
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Generates an image using inpaint.
|
|
|
|
*/
|
|
|
|
InpaintInvocation: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Id
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The id of this node. Must be unique among all nodes.
|
|
|
|
*/
|
|
|
|
id: string;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Is Intermediate
|
|
|
|
* @description Whether or not this node is an intermediate node.
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default false
|
|
|
|
*/
|
|
|
|
is_intermediate?: boolean;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Type
|
|
|
|
* @default inpaint
|
2023-06-23 09:14:13 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
type?: "inpaint";
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Positive Conditioning
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Positive conditioning for generation
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
positive_conditioning?: components["schemas"]["ConditioningField"];
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Negative Conditioning
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Negative conditioning for generation
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
negative_conditioning?: components["schemas"]["ConditioningField"];
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Seed
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The seed to use (omit for random)
|
|
|
|
*/
|
|
|
|
seed?: number;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Steps
|
|
|
|
* @description The number of steps to use to generate the image
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default 30
|
|
|
|
*/
|
|
|
|
steps?: number;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Width
|
|
|
|
* @description The width of the resulting image
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default 512
|
|
|
|
*/
|
|
|
|
width?: number;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Height
|
|
|
|
* @description The height of the resulting image
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default 512
|
|
|
|
*/
|
|
|
|
height?: number;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Cfg Scale
|
|
|
|
* @description The Classifier-Free Guidance, higher values may result in a result closer to the prompt
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default 7.5
|
|
|
|
*/
|
|
|
|
cfg_scale?: number;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Scheduler
|
|
|
|
* @description The scheduler to use
|
|
|
|
* @default euler
|
2023-06-23 09:14:13 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
scheduler?: "ddim" | "ddpm" | "deis" | "lms" | "lms_k" | "pndm" | "heun" | "heun_k" | "euler" | "euler_k" | "euler_a" | "kdpm_2" | "kdpm_2_a" | "dpmpp_2s" | "dpmpp_2s_k" | "dpmpp_2m" | "dpmpp_2m_k" | "dpmpp_2m_sde" | "dpmpp_2m_sde_k" | "dpmpp_sde" | "dpmpp_sde_k" | "unipc";
|
|
|
|
/**
|
|
|
|
* Unet
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description UNet model
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
unet?: components["schemas"]["UNetField"];
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Vae
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Vae model
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
vae?: components["schemas"]["VaeField"];
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Image
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The input image
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
image?: components["schemas"]["ImageField"];
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Strength
|
|
|
|
* @description The strength of the original image
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default 0.75
|
|
|
|
*/
|
|
|
|
strength?: number;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Fit
|
|
|
|
* @description Whether or not the result should be fit to the aspect ratio of the input image
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default true
|
|
|
|
*/
|
|
|
|
fit?: boolean;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Mask
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The mask
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
mask?: components["schemas"]["ImageField"];
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Seam Size
|
|
|
|
* @description The seam inpaint size (px)
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default 96
|
|
|
|
*/
|
|
|
|
seam_size?: number;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Seam Blur
|
|
|
|
* @description The seam inpaint blur radius (px)
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default 16
|
|
|
|
*/
|
|
|
|
seam_blur?: number;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Seam Strength
|
|
|
|
* @description The seam inpaint strength
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default 0.75
|
|
|
|
*/
|
|
|
|
seam_strength?: number;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Seam Steps
|
|
|
|
* @description The number of steps to use for seam inpaint
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default 30
|
|
|
|
*/
|
|
|
|
seam_steps?: number;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Tile Size
|
|
|
|
* @description The tile infill method size (px)
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default 32
|
|
|
|
*/
|
|
|
|
tile_size?: number;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Infill Method
|
|
|
|
* @description The method used to infill empty regions (px)
|
|
|
|
* @default patchmatch
|
2023-06-23 09:14:13 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
infill_method?: "patchmatch" | "tile" | "solid";
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Inpaint Width
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The width of the inpaint region (px)
|
|
|
|
*/
|
|
|
|
inpaint_width?: number;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Inpaint Height
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The height of the inpaint region (px)
|
|
|
|
*/
|
|
|
|
inpaint_height?: number;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Inpaint Fill
|
|
|
|
* @description The solid infill method color
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default {
|
|
|
|
* "r": 127,
|
|
|
|
* "g": 127,
|
|
|
|
* "b": 127,
|
|
|
|
* "a": 255
|
|
|
|
* }
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
inpaint_fill?: components["schemas"]["ColorField"];
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Inpaint Replace
|
|
|
|
* @description The amount by which to replace masked areas with latent noise
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default 0
|
|
|
|
*/
|
|
|
|
inpaint_replace?: number;
|
|
|
|
};
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* IntCollectionOutput
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description A collection of integers
|
|
|
|
*/
|
|
|
|
IntCollectionOutput: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Type
|
|
|
|
* @default int_collection
|
2023-06-23 09:14:13 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
type?: "int_collection";
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Collection
|
|
|
|
* @description The int collection
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default []
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
collection?: (number)[];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* IntOutput
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description An integer output
|
|
|
|
*/
|
|
|
|
IntOutput: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Type
|
|
|
|
* @default int_output
|
2023-06-23 09:14:13 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
type?: "int_output";
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* A
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The output integer
|
|
|
|
*/
|
|
|
|
a?: number;
|
|
|
|
};
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* IterateInvocation
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Iterates over a list of items
|
|
|
|
*/
|
|
|
|
IterateInvocation: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Id
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The id of this node. Must be unique among all nodes.
|
|
|
|
*/
|
|
|
|
id: string;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Is Intermediate
|
|
|
|
* @description Whether or not this node is an intermediate node.
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default false
|
|
|
|
*/
|
|
|
|
is_intermediate?: boolean;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Type
|
|
|
|
* @default iterate
|
2023-06-23 09:14:13 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
type?: "iterate";
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Collection
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The list of items to iterate over
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
collection?: (unknown)[];
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Index
|
|
|
|
* @description The index, will be provided on executed iterators
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default 0
|
|
|
|
*/
|
|
|
|
index?: number;
|
|
|
|
};
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* IterateInvocationOutput
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Used to connect iteration outputs. Will be expanded to a specific output.
|
|
|
|
*/
|
|
|
|
IterateInvocationOutput: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Type
|
|
|
|
* @default iterate_output
|
2023-06-23 09:14:13 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
type: "iterate_output";
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Item
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The item being iterated over
|
|
|
|
*/
|
|
|
|
item: unknown;
|
|
|
|
};
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* LatentsField
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description A latents field used for passing latents between invocations
|
|
|
|
*/
|
|
|
|
LatentsField: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Latents Name
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The name of the latents
|
|
|
|
*/
|
|
|
|
latents_name: string;
|
|
|
|
};
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* LatentsOutput
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Base class for invocations that output latents
|
|
|
|
*/
|
|
|
|
LatentsOutput: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Type
|
|
|
|
* @default latents_output
|
2023-06-23 09:14:13 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
type?: "latents_output";
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Latents
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The output latents
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
latents?: components["schemas"]["LatentsField"];
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Width
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The width of the latents in pixels
|
|
|
|
*/
|
|
|
|
width: number;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Height
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The height of the latents in pixels
|
|
|
|
*/
|
|
|
|
height: number;
|
|
|
|
};
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* LatentsToImageInvocation
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Generates an image from latents.
|
|
|
|
*/
|
|
|
|
LatentsToImageInvocation: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Id
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The id of this node. Must be unique among all nodes.
|
|
|
|
*/
|
|
|
|
id: string;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Is Intermediate
|
|
|
|
* @description Whether or not this node is an intermediate node.
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default false
|
|
|
|
*/
|
|
|
|
is_intermediate?: boolean;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Type
|
|
|
|
* @default l2i
|
2023-06-23 09:14:13 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
type?: "l2i";
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Latents
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The latents to generate an image from
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
latents?: components["schemas"]["LatentsField"];
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Vae
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Vae submodel
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
vae?: components["schemas"]["VaeField"];
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Tiled
|
2023-07-24 12:25:39 +00:00
|
|
|
* @description Decode latents by overlapping tiles(less memory consumption)
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default false
|
|
|
|
*/
|
|
|
|
tiled?: boolean;
|
2023-07-18 02:01:56 +00:00
|
|
|
/**
|
|
|
|
* Fp32
|
|
|
|
* @description Decode in full precision
|
|
|
|
* @default false
|
|
|
|
*/
|
|
|
|
fp32?: boolean;
|
2023-07-12 15:15:09 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Metadata
|
2023-07-12 15:15:09 +00:00
|
|
|
* @description Optional core metadata to be written to the image
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
metadata?: components["schemas"]["CoreMetadata"];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* LatentsToLatentsInvocation
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Generates latents using latents as base image.
|
|
|
|
*/
|
|
|
|
LatentsToLatentsInvocation: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Id
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The id of this node. Must be unique among all nodes.
|
|
|
|
*/
|
|
|
|
id: string;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Is Intermediate
|
|
|
|
* @description Whether or not this node is an intermediate node.
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default false
|
|
|
|
*/
|
|
|
|
is_intermediate?: boolean;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Type
|
|
|
|
* @default l2l
|
2023-06-23 09:14:13 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
type?: "l2l";
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Positive Conditioning
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Positive conditioning for generation
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
positive_conditioning?: components["schemas"]["ConditioningField"];
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Negative Conditioning
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Negative conditioning for generation
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
negative_conditioning?: components["schemas"]["ConditioningField"];
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Noise
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The noise to use
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
noise?: components["schemas"]["LatentsField"];
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Steps
|
|
|
|
* @description The number of steps to use to generate the image
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default 10
|
|
|
|
*/
|
|
|
|
steps?: number;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Cfg Scale
|
|
|
|
* @description The Classifier-Free Guidance, higher values may result in a result closer to the prompt
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default 7.5
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
cfg_scale?: number | (number)[];
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Scheduler
|
|
|
|
* @description The scheduler to use
|
|
|
|
* @default euler
|
2023-06-23 09:14:13 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
scheduler?: "ddim" | "ddpm" | "deis" | "lms" | "lms_k" | "pndm" | "heun" | "heun_k" | "euler" | "euler_k" | "euler_a" | "kdpm_2" | "kdpm_2_a" | "dpmpp_2s" | "dpmpp_2s_k" | "dpmpp_2m" | "dpmpp_2m_k" | "dpmpp_2m_sde" | "dpmpp_2m_sde_k" | "dpmpp_sde" | "dpmpp_sde_k" | "unipc";
|
|
|
|
/**
|
|
|
|
* Unet
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description UNet submodel
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
unet?: components["schemas"]["UNetField"];
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Control
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The control to use
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
control?: components["schemas"]["ControlField"] | (components["schemas"]["ControlField"])[];
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Latents
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The latents to use as a base image
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
latents?: components["schemas"]["LatentsField"];
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Strength
|
|
|
|
* @description The strength of the latents to use
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default 0.7
|
|
|
|
*/
|
|
|
|
strength?: number;
|
|
|
|
};
|
2023-07-03 14:09:18 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* LeresImageProcessorInvocation
|
2023-07-03 14:09:18 +00:00
|
|
|
* @description Applies leres processing to image
|
|
|
|
*/
|
|
|
|
LeresImageProcessorInvocation: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Id
|
2023-07-03 14:09:18 +00:00
|
|
|
* @description The id of this node. Must be unique among all nodes.
|
|
|
|
*/
|
|
|
|
id: string;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Is Intermediate
|
|
|
|
* @description Whether or not this node is an intermediate node.
|
2023-07-03 14:09:18 +00:00
|
|
|
* @default false
|
|
|
|
*/
|
|
|
|
is_intermediate?: boolean;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Type
|
|
|
|
* @default leres_image_processor
|
2023-07-03 14:09:18 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
type?: "leres_image_processor";
|
2023-07-03 14:09:18 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Image
|
2023-07-03 14:09:18 +00:00
|
|
|
* @description The image to process
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
image?: components["schemas"]["ImageField"];
|
2023-07-03 14:09:18 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Thr A
|
|
|
|
* @description Leres parameter `thr_a`
|
2023-07-03 14:09:18 +00:00
|
|
|
* @default 0
|
|
|
|
*/
|
|
|
|
thr_a?: number;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Thr B
|
|
|
|
* @description Leres parameter `thr_b`
|
2023-07-03 14:09:18 +00:00
|
|
|
* @default 0
|
|
|
|
*/
|
|
|
|
thr_b?: number;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Boost
|
|
|
|
* @description Whether to use boost mode
|
2023-07-03 14:09:18 +00:00
|
|
|
* @default false
|
|
|
|
*/
|
|
|
|
boost?: boolean;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Detect Resolution
|
|
|
|
* @description The pixel resolution for detection
|
2023-07-03 14:09:18 +00:00
|
|
|
* @default 512
|
|
|
|
*/
|
|
|
|
detect_resolution?: number;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Image Resolution
|
|
|
|
* @description The pixel resolution for the output image
|
2023-07-03 14:09:18 +00:00
|
|
|
* @default 512
|
|
|
|
*/
|
|
|
|
image_resolution?: number;
|
|
|
|
};
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* LineartAnimeImageProcessorInvocation
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Applies line art anime processing to image
|
|
|
|
*/
|
|
|
|
LineartAnimeImageProcessorInvocation: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Id
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The id of this node. Must be unique among all nodes.
|
|
|
|
*/
|
|
|
|
id: string;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Is Intermediate
|
|
|
|
* @description Whether or not this node is an intermediate node.
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default false
|
|
|
|
*/
|
|
|
|
is_intermediate?: boolean;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Type
|
|
|
|
* @default lineart_anime_image_processor
|
2023-06-23 09:14:13 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
type?: "lineart_anime_image_processor";
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Image
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The image to process
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
image?: components["schemas"]["ImageField"];
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Detect Resolution
|
|
|
|
* @description The pixel resolution for detection
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default 512
|
|
|
|
*/
|
|
|
|
detect_resolution?: number;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Image Resolution
|
|
|
|
* @description The pixel resolution for the output image
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default 512
|
|
|
|
*/
|
|
|
|
image_resolution?: number;
|
|
|
|
};
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* LineartImageProcessorInvocation
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Applies line art processing to image
|
|
|
|
*/
|
|
|
|
LineartImageProcessorInvocation: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Id
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The id of this node. Must be unique among all nodes.
|
|
|
|
*/
|
|
|
|
id: string;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Is Intermediate
|
|
|
|
* @description Whether or not this node is an intermediate node.
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default false
|
|
|
|
*/
|
|
|
|
is_intermediate?: boolean;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Type
|
|
|
|
* @default lineart_image_processor
|
2023-06-23 09:14:13 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
type?: "lineart_image_processor";
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Image
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The image to process
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
image?: components["schemas"]["ImageField"];
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Detect Resolution
|
|
|
|
* @description The pixel resolution for detection
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default 512
|
|
|
|
*/
|
|
|
|
detect_resolution?: number;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Image Resolution
|
|
|
|
* @description The pixel resolution for the output image
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default 512
|
|
|
|
*/
|
|
|
|
image_resolution?: number;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Coarse
|
|
|
|
* @description Whether to use coarse mode
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default false
|
|
|
|
*/
|
|
|
|
coarse?: boolean;
|
|
|
|
};
|
2023-07-12 15:15:09 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* LoRAMetadataField
|
2023-07-12 15:15:09 +00:00
|
|
|
* @description LoRA metadata for an image generated in InvokeAI.
|
|
|
|
*/
|
|
|
|
LoRAMetadataField: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Lora
|
2023-07-12 15:15:09 +00:00
|
|
|
* @description The LoRA model
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
lora: components["schemas"]["LoRAModelField"];
|
2023-07-12 15:15:09 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Weight
|
2023-07-12 15:15:09 +00:00
|
|
|
* @description The weight of the LoRA model
|
|
|
|
*/
|
|
|
|
weight: number;
|
|
|
|
};
|
2023-06-23 09:14:13 +00:00
|
|
|
/** LoRAModelConfig */
|
|
|
|
LoRAModelConfig: {
|
2023-07-12 15:15:09 +00:00
|
|
|
/** Model Name */
|
|
|
|
model_name: string;
|
2023-07-13 05:22:18 +00:00
|
|
|
base_model: components["schemas"]["BaseModelType"];
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Model Type
|
2023-06-23 09:14:13 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
model_type: "lora";
|
2023-06-23 09:14:13 +00:00
|
|
|
/** Path */
|
|
|
|
path: string;
|
|
|
|
/** Description */
|
|
|
|
description?: string;
|
2023-07-13 05:22:18 +00:00
|
|
|
model_format: components["schemas"]["LoRAModelFormat"];
|
|
|
|
error?: components["schemas"]["ModelError"];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
2023-07-04 11:12:49 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* LoRAModelField
|
2023-07-04 11:12:49 +00:00
|
|
|
* @description LoRA model field
|
|
|
|
*/
|
|
|
|
LoRAModelField: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Model Name
|
2023-07-04 11:12:49 +00:00
|
|
|
* @description Name of the LoRA model
|
|
|
|
*/
|
|
|
|
model_name: string;
|
|
|
|
/** @description Base model */
|
2023-07-13 05:22:18 +00:00
|
|
|
base_model: components["schemas"]["BaseModelType"];
|
2023-07-04 11:12:49 +00:00
|
|
|
};
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* LoRAModelFormat
|
|
|
|
* @description An enumeration.
|
2023-06-23 09:14:13 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
LoRAModelFormat: "lycoris" | "diffusers";
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* LoadImageInvocation
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Load an image and provide it as output.
|
|
|
|
*/
|
|
|
|
LoadImageInvocation: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Id
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The id of this node. Must be unique among all nodes.
|
|
|
|
*/
|
|
|
|
id: string;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Is Intermediate
|
|
|
|
* @description Whether or not this node is an intermediate node.
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default false
|
|
|
|
*/
|
|
|
|
is_intermediate?: boolean;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Type
|
|
|
|
* @default load_image
|
2023-06-23 09:14:13 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
type?: "load_image";
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Image
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The image to load
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
image?: components["schemas"]["ImageField"];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
2023-07-20 15:45:54 +00:00
|
|
|
/**
|
|
|
|
* LogLevel
|
|
|
|
* @description An enumeration.
|
|
|
|
* @enum {integer}
|
|
|
|
*/
|
|
|
|
LogLevel: 0 | 10 | 20 | 30 | 40 | 50;
|
2023-06-23 09:14:13 +00:00
|
|
|
/** LoraInfo */
|
|
|
|
LoraInfo: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Model Name
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Info to load submodel
|
|
|
|
*/
|
|
|
|
model_name: string;
|
|
|
|
/** @description Base model */
|
2023-07-13 05:22:18 +00:00
|
|
|
base_model: components["schemas"]["BaseModelType"];
|
2023-06-23 09:14:13 +00:00
|
|
|
/** @description Info to load submodel */
|
2023-07-13 05:22:18 +00:00
|
|
|
model_type: components["schemas"]["ModelType"];
|
2023-06-23 09:14:13 +00:00
|
|
|
/** @description Info to load submodel */
|
2023-07-13 05:22:18 +00:00
|
|
|
submodel?: components["schemas"]["SubModelType"];
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Weight
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Lora's weight which to use when apply to model
|
|
|
|
*/
|
|
|
|
weight: number;
|
|
|
|
};
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* LoraLoaderInvocation
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Apply selected lora to unet and text_encoder.
|
|
|
|
*/
|
|
|
|
LoraLoaderInvocation: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Id
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The id of this node. Must be unique among all nodes.
|
|
|
|
*/
|
|
|
|
id: string;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Is Intermediate
|
|
|
|
* @description Whether or not this node is an intermediate node.
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default false
|
|
|
|
*/
|
|
|
|
is_intermediate?: boolean;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Type
|
|
|
|
* @default lora_loader
|
2023-06-23 09:14:13 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
type?: "lora_loader";
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Lora
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Lora model name
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
lora?: components["schemas"]["LoRAModelField"];
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Weight
|
|
|
|
* @description With what weight to apply lora
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default 0.75
|
|
|
|
*/
|
|
|
|
weight?: number;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Unet
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description UNet model for applying lora
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
unet?: components["schemas"]["UNetField"];
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Clip
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Clip model for applying lora
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
clip?: components["schemas"]["ClipField"];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* LoraLoaderOutput
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Model loader output
|
|
|
|
*/
|
|
|
|
LoraLoaderOutput: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Type
|
|
|
|
* @default lora_loader_output
|
2023-06-23 09:14:13 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
type?: "lora_loader_output";
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Unet
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description UNet submodel
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
unet?: components["schemas"]["UNetField"];
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Clip
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Tokenizer and text_encoder submodels
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
clip?: components["schemas"]["ClipField"];
|
2023-06-28 20:13:36 +00:00
|
|
|
};
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* MainModelField
|
2023-06-28 20:13:36 +00:00
|
|
|
* @description Main model field
|
|
|
|
*/
|
|
|
|
MainModelField: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Model Name
|
2023-06-28 20:13:36 +00:00
|
|
|
* @description Name of the model
|
|
|
|
*/
|
|
|
|
model_name: string;
|
|
|
|
/** @description Base model */
|
2023-07-13 05:22:18 +00:00
|
|
|
base_model: components["schemas"]["BaseModelType"];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* MainModelLoaderInvocation
|
2023-06-28 20:13:36 +00:00
|
|
|
* @description Loads a main model, outputting its submodels.
|
|
|
|
*/
|
|
|
|
MainModelLoaderInvocation: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Id
|
2023-06-28 20:13:36 +00:00
|
|
|
* @description The id of this node. Must be unique among all nodes.
|
|
|
|
*/
|
|
|
|
id: string;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Is Intermediate
|
|
|
|
* @description Whether or not this node is an intermediate node.
|
2023-06-28 20:13:36 +00:00
|
|
|
* @default false
|
|
|
|
*/
|
|
|
|
is_intermediate?: boolean;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Type
|
|
|
|
* @default main_model_loader
|
2023-06-28 20:13:36 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
type?: "main_model_loader";
|
2023-06-28 20:13:36 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Model
|
2023-06-28 20:13:36 +00:00
|
|
|
* @description The model to load
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
model: components["schemas"]["MainModelField"];
|
2023-06-28 20:13:36 +00:00
|
|
|
};
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* MaskFromAlphaInvocation
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Extracts the alpha channel of an image as a mask.
|
|
|
|
*/
|
|
|
|
MaskFromAlphaInvocation: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Id
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The id of this node. Must be unique among all nodes.
|
|
|
|
*/
|
|
|
|
id: string;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Is Intermediate
|
|
|
|
* @description Whether or not this node is an intermediate node.
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default false
|
|
|
|
*/
|
|
|
|
is_intermediate?: boolean;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Type
|
|
|
|
* @default tomask
|
2023-06-23 09:14:13 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
type?: "tomask";
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Image
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The image to create the mask from
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
image?: components["schemas"]["ImageField"];
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Invert
|
|
|
|
* @description Whether or not to invert the mask
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default false
|
|
|
|
*/
|
|
|
|
invert?: boolean;
|
|
|
|
};
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* MaskOutput
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Base class for invocations that output a mask
|
|
|
|
*/
|
|
|
|
MaskOutput: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Type
|
|
|
|
* @default mask
|
2023-06-23 09:14:13 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
type: "mask";
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Mask
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The output mask
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
mask: components["schemas"]["ImageField"];
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Width
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The width of the mask in pixels
|
|
|
|
*/
|
|
|
|
width?: number;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Height
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The height of the mask in pixels
|
|
|
|
*/
|
|
|
|
height?: number;
|
|
|
|
};
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* MediapipeFaceProcessorInvocation
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Applies mediapipe face processing to image
|
|
|
|
*/
|
|
|
|
MediapipeFaceProcessorInvocation: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Id
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The id of this node. Must be unique among all nodes.
|
|
|
|
*/
|
|
|
|
id: string;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Is Intermediate
|
|
|
|
* @description Whether or not this node is an intermediate node.
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default false
|
|
|
|
*/
|
|
|
|
is_intermediate?: boolean;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Type
|
|
|
|
* @default mediapipe_face_processor
|
2023-06-23 09:14:13 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
type?: "mediapipe_face_processor";
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Image
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The image to process
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
image?: components["schemas"]["ImageField"];
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Max Faces
|
|
|
|
* @description Maximum number of faces to detect
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default 1
|
|
|
|
*/
|
|
|
|
max_faces?: number;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Min Confidence
|
|
|
|
* @description Minimum confidence for face detection
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default 0.5
|
|
|
|
*/
|
|
|
|
min_confidence?: number;
|
|
|
|
};
|
2023-07-07 06:08:30 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* MergeInterpolationMethod
|
|
|
|
* @description An enumeration.
|
2023-07-07 06:08:30 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
MergeInterpolationMethod: "weighted_sum" | "sigmoid" | "inv_sigmoid" | "add_difference";
|
2023-07-12 15:15:09 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* MetadataAccumulatorInvocation
|
2023-07-12 15:15:09 +00:00
|
|
|
* @description Outputs a Core Metadata Object
|
|
|
|
*/
|
|
|
|
MetadataAccumulatorInvocation: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Id
|
2023-07-12 15:15:09 +00:00
|
|
|
* @description The id of this node. Must be unique among all nodes.
|
|
|
|
*/
|
|
|
|
id: string;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Is Intermediate
|
|
|
|
* @description Whether or not this node is an intermediate node.
|
2023-07-12 15:15:09 +00:00
|
|
|
* @default false
|
|
|
|
*/
|
|
|
|
is_intermediate?: boolean;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Type
|
|
|
|
* @default metadata_accumulator
|
2023-07-12 15:15:09 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
type?: "metadata_accumulator";
|
2023-07-12 15:15:09 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Generation Mode
|
2023-07-12 15:15:09 +00:00
|
|
|
* @description The generation mode that output this image
|
|
|
|
*/
|
|
|
|
generation_mode: string;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Positive Prompt
|
2023-07-12 15:15:09 +00:00
|
|
|
* @description The positive prompt parameter
|
|
|
|
*/
|
|
|
|
positive_prompt: string;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Negative Prompt
|
2023-07-12 15:15:09 +00:00
|
|
|
* @description The negative prompt parameter
|
|
|
|
*/
|
|
|
|
negative_prompt: string;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Width
|
2023-07-12 15:15:09 +00:00
|
|
|
* @description The width parameter
|
|
|
|
*/
|
|
|
|
width: number;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Height
|
2023-07-12 15:15:09 +00:00
|
|
|
* @description The height parameter
|
|
|
|
*/
|
|
|
|
height: number;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Seed
|
2023-07-12 15:15:09 +00:00
|
|
|
* @description The seed used for noise generation
|
|
|
|
*/
|
|
|
|
seed: number;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Rand Device
|
2023-07-12 15:15:09 +00:00
|
|
|
* @description The device used for random number generation
|
|
|
|
*/
|
|
|
|
rand_device: string;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Cfg Scale
|
2023-07-12 15:15:09 +00:00
|
|
|
* @description The classifier-free guidance scale parameter
|
|
|
|
*/
|
|
|
|
cfg_scale: number;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Steps
|
2023-07-12 15:15:09 +00:00
|
|
|
* @description The number of steps used for inference
|
|
|
|
*/
|
|
|
|
steps: number;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Scheduler
|
2023-07-12 15:15:09 +00:00
|
|
|
* @description The scheduler used for inference
|
|
|
|
*/
|
|
|
|
scheduler: string;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Clip Skip
|
2023-07-12 15:15:09 +00:00
|
|
|
* @description The number of skipped CLIP layers
|
|
|
|
*/
|
|
|
|
clip_skip: number;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Model
|
2023-07-12 15:15:09 +00:00
|
|
|
* @description The main model used for inference
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
model: components["schemas"]["MainModelField"];
|
2023-07-12 15:15:09 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Controlnets
|
2023-07-12 15:15:09 +00:00
|
|
|
* @description The ControlNets used for inference
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
controlnets: (components["schemas"]["ControlField"])[];
|
2023-07-12 15:15:09 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Loras
|
2023-07-12 15:15:09 +00:00
|
|
|
* @description The LoRAs used for inference
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
loras: (components["schemas"]["LoRAMetadataField"])[];
|
2023-07-12 15:15:09 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Strength
|
2023-07-12 15:15:09 +00:00
|
|
|
* @description The strength used for latents-to-latents
|
|
|
|
*/
|
|
|
|
strength?: number;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Init Image
|
2023-07-12 15:15:09 +00:00
|
|
|
* @description The name of the initial image
|
|
|
|
*/
|
|
|
|
init_image?: string;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Vae
|
2023-07-12 15:15:09 +00:00
|
|
|
* @description The VAE used for decoding, if the main model's default was not used
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
vae?: components["schemas"]["VAEModelField"];
|
2023-07-25 14:22:47 +00:00
|
|
|
/**
|
|
|
|
* Positive Style Prompt
|
|
|
|
* @description The positive style prompt parameter
|
|
|
|
*/
|
|
|
|
positive_style_prompt?: string;
|
|
|
|
/**
|
|
|
|
* Negative Style Prompt
|
|
|
|
* @description The negative style prompt parameter
|
|
|
|
*/
|
|
|
|
negative_style_prompt?: string;
|
|
|
|
/**
|
|
|
|
* Refiner Model
|
|
|
|
* @description The SDXL Refiner model used
|
|
|
|
*/
|
|
|
|
refiner_model?: components["schemas"]["MainModelField"];
|
|
|
|
/**
|
|
|
|
* Refiner Cfg Scale
|
|
|
|
* @description The classifier-free guidance scale parameter used for the refiner
|
|
|
|
*/
|
|
|
|
refiner_cfg_scale?: number;
|
|
|
|
/**
|
|
|
|
* Refiner Steps
|
|
|
|
* @description The number of steps used for the refiner
|
|
|
|
*/
|
|
|
|
refiner_steps?: number;
|
|
|
|
/**
|
|
|
|
* Refiner Scheduler
|
|
|
|
* @description The scheduler used for the refiner
|
|
|
|
*/
|
|
|
|
refiner_scheduler?: string;
|
|
|
|
/**
|
|
|
|
* Refiner Aesthetic Store
|
|
|
|
* @description The aesthetic score used for the refiner
|
|
|
|
*/
|
|
|
|
refiner_aesthetic_store?: number;
|
|
|
|
/**
|
|
|
|
* Refiner Start
|
|
|
|
* @description The start value used for refiner denoising
|
|
|
|
*/
|
|
|
|
refiner_start?: number;
|
2023-07-12 15:15:09 +00:00
|
|
|
};
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* MetadataAccumulatorOutput
|
2023-07-12 15:15:09 +00:00
|
|
|
* @description The output of the MetadataAccumulator node
|
|
|
|
*/
|
|
|
|
MetadataAccumulatorOutput: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Type
|
|
|
|
* @default metadata_accumulator_output
|
2023-07-12 15:15:09 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
type?: "metadata_accumulator_output";
|
2023-07-12 15:15:09 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Metadata
|
2023-07-12 15:15:09 +00:00
|
|
|
* @description The core metadata for the image
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
metadata: components["schemas"]["CoreMetadata"];
|
2023-07-12 15:15:09 +00:00
|
|
|
};
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* MidasDepthImageProcessorInvocation
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Applies Midas depth processing to image
|
|
|
|
*/
|
|
|
|
MidasDepthImageProcessorInvocation: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Id
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The id of this node. Must be unique among all nodes.
|
|
|
|
*/
|
|
|
|
id: string;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Is Intermediate
|
|
|
|
* @description Whether or not this node is an intermediate node.
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default false
|
|
|
|
*/
|
|
|
|
is_intermediate?: boolean;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Type
|
|
|
|
* @default midas_depth_image_processor
|
2023-06-23 09:14:13 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
type?: "midas_depth_image_processor";
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Image
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The image to process
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
image?: components["schemas"]["ImageField"];
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* A Mult
|
|
|
|
* @description Midas parameter `a_mult` (a = a_mult * PI)
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default 2
|
|
|
|
*/
|
|
|
|
a_mult?: number;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Bg Th
|
|
|
|
* @description Midas parameter `bg_th`
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default 0.1
|
|
|
|
*/
|
|
|
|
bg_th?: number;
|
|
|
|
};
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* MlsdImageProcessorInvocation
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Applies MLSD processing to image
|
|
|
|
*/
|
|
|
|
MlsdImageProcessorInvocation: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Id
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The id of this node. Must be unique among all nodes.
|
|
|
|
*/
|
|
|
|
id: string;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Is Intermediate
|
|
|
|
* @description Whether or not this node is an intermediate node.
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default false
|
|
|
|
*/
|
|
|
|
is_intermediate?: boolean;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Type
|
|
|
|
* @default mlsd_image_processor
|
2023-06-23 09:14:13 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
type?: "mlsd_image_processor";
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Image
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The image to process
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
image?: components["schemas"]["ImageField"];
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Detect Resolution
|
|
|
|
* @description The pixel resolution for detection
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default 512
|
|
|
|
*/
|
|
|
|
detect_resolution?: number;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Image Resolution
|
|
|
|
* @description The pixel resolution for the output image
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default 512
|
|
|
|
*/
|
|
|
|
image_resolution?: number;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Thr V
|
|
|
|
* @description MLSD parameter `thr_v`
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default 0.1
|
|
|
|
*/
|
|
|
|
thr_v?: number;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Thr D
|
|
|
|
* @description MLSD parameter `thr_d`
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default 0.1
|
|
|
|
*/
|
|
|
|
thr_d?: number;
|
|
|
|
};
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* ModelError
|
|
|
|
* @description An enumeration.
|
2023-06-23 09:14:13 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
ModelError: "not_found";
|
2023-06-23 09:14:13 +00:00
|
|
|
/** ModelInfo */
|
|
|
|
ModelInfo: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Model Name
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Info to load submodel
|
|
|
|
*/
|
|
|
|
model_name: string;
|
|
|
|
/** @description Base model */
|
2023-07-13 05:22:18 +00:00
|
|
|
base_model: components["schemas"]["BaseModelType"];
|
2023-06-23 09:14:13 +00:00
|
|
|
/** @description Info to load submodel */
|
2023-07-13 05:22:18 +00:00
|
|
|
model_type: components["schemas"]["ModelType"];
|
2023-06-23 09:14:13 +00:00
|
|
|
/** @description Info to load submodel */
|
2023-07-13 05:22:18 +00:00
|
|
|
submodel?: components["schemas"]["SubModelType"];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* ModelLoaderOutput
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Model loader output
|
|
|
|
*/
|
|
|
|
ModelLoaderOutput: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Type
|
|
|
|
* @default model_loader_output
|
2023-06-23 09:14:13 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
type?: "model_loader_output";
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Unet
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description UNet submodel
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
unet?: components["schemas"]["UNetField"];
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Clip
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Tokenizer and text_encoder submodels
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
clip?: components["schemas"]["ClipField"];
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Vae
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Vae submodel
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
vae?: components["schemas"]["VaeField"];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* ModelType
|
|
|
|
* @description An enumeration.
|
2023-06-23 09:14:13 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
ModelType: "main" | "vae" | "lora" | "controlnet" | "embedding";
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* ModelVariantType
|
|
|
|
* @description An enumeration.
|
2023-06-23 09:14:13 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
ModelVariantType: "normal" | "inpaint" | "depth";
|
2023-06-23 09:14:13 +00:00
|
|
|
/** ModelsList */
|
|
|
|
ModelsList: {
|
|
|
|
/** Models */
|
2023-07-18 02:01:56 +00:00
|
|
|
models: (components["schemas"]["StableDiffusion1ModelCheckpointConfig"] | components["schemas"]["StableDiffusion1ModelDiffusersConfig"] | components["schemas"]["VaeModelConfig"] | components["schemas"]["LoRAModelConfig"] | components["schemas"]["ControlNetModelConfig"] | components["schemas"]["TextualInversionModelConfig"] | components["schemas"]["StableDiffusion2ModelCheckpointConfig"] | components["schemas"]["StableDiffusion2ModelDiffusersConfig"] | components["schemas"]["StableDiffusionXLModelCheckpointConfig"] | components["schemas"]["StableDiffusionXLModelDiffusersConfig"])[];
|
2023-07-13 05:22:18 +00:00
|
|
|
};
|
|
|
|
/**
|
|
|
|
* MultiplyInvocation
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Multiplies two numbers
|
|
|
|
*/
|
|
|
|
MultiplyInvocation: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Id
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The id of this node. Must be unique among all nodes.
|
|
|
|
*/
|
|
|
|
id: string;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Is Intermediate
|
|
|
|
* @description Whether or not this node is an intermediate node.
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default false
|
|
|
|
*/
|
|
|
|
is_intermediate?: boolean;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Type
|
|
|
|
* @default mul
|
2023-06-23 09:14:13 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
type?: "mul";
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* A
|
|
|
|
* @description The first number
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default 0
|
|
|
|
*/
|
|
|
|
a?: number;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* B
|
|
|
|
* @description The second number
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default 0
|
|
|
|
*/
|
|
|
|
b?: number;
|
|
|
|
};
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* NoiseInvocation
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Generates latent noise.
|
|
|
|
*/
|
|
|
|
NoiseInvocation: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Id
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The id of this node. Must be unique among all nodes.
|
|
|
|
*/
|
|
|
|
id: string;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Is Intermediate
|
|
|
|
* @description Whether or not this node is an intermediate node.
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default false
|
|
|
|
*/
|
|
|
|
is_intermediate?: boolean;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Type
|
|
|
|
* @default noise
|
2023-06-23 09:14:13 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
type?: "noise";
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Seed
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The seed to use
|
|
|
|
*/
|
|
|
|
seed?: number;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Width
|
|
|
|
* @description The width of the resulting noise
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default 512
|
|
|
|
*/
|
|
|
|
width?: number;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Height
|
|
|
|
* @description The height of the resulting noise
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default 512
|
|
|
|
*/
|
|
|
|
height?: number;
|
2023-06-27 03:57:41 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Use Cpu
|
|
|
|
* @description Use CPU for noise generation (for reproducible results across platforms)
|
2023-06-27 03:57:41 +00:00
|
|
|
* @default true
|
|
|
|
*/
|
|
|
|
use_cpu?: boolean;
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* NoiseOutput
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Invocation noise output
|
|
|
|
*/
|
|
|
|
NoiseOutput: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Type
|
|
|
|
* @default noise_output
|
2023-06-23 09:14:13 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
type?: "noise_output";
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Noise
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The output noise
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
noise?: components["schemas"]["LatentsField"];
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Width
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The width of the noise in pixels
|
|
|
|
*/
|
|
|
|
width: number;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Height
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The height of the noise in pixels
|
|
|
|
*/
|
|
|
|
height: number;
|
|
|
|
};
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* NormalbaeImageProcessorInvocation
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Applies NormalBae processing to image
|
|
|
|
*/
|
|
|
|
NormalbaeImageProcessorInvocation: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Id
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The id of this node. Must be unique among all nodes.
|
|
|
|
*/
|
|
|
|
id: string;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Is Intermediate
|
|
|
|
* @description Whether or not this node is an intermediate node.
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default false
|
|
|
|
*/
|
|
|
|
is_intermediate?: boolean;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Type
|
|
|
|
* @default normalbae_image_processor
|
2023-06-23 09:14:13 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
type?: "normalbae_image_processor";
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Image
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The image to process
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
image?: components["schemas"]["ImageField"];
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Detect Resolution
|
|
|
|
* @description The pixel resolution for detection
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default 512
|
|
|
|
*/
|
|
|
|
detect_resolution?: number;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Image Resolution
|
|
|
|
* @description The pixel resolution for the output image
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default 512
|
|
|
|
*/
|
|
|
|
image_resolution?: number;
|
|
|
|
};
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* OffsetPaginatedResults[BoardDTO]
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Offset-paginated results
|
|
|
|
*/
|
|
|
|
OffsetPaginatedResults_BoardDTO_: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Items
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Items
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
items: (components["schemas"]["BoardDTO"])[];
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Offset
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Offset from which to retrieve items
|
|
|
|
*/
|
|
|
|
offset: number;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Limit
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Limit of items to get
|
|
|
|
*/
|
|
|
|
limit: number;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Total
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Total number of items in result
|
|
|
|
*/
|
|
|
|
total: number;
|
|
|
|
};
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* OffsetPaginatedResults[ImageDTO]
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Offset-paginated results
|
|
|
|
*/
|
|
|
|
OffsetPaginatedResults_ImageDTO_: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Items
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Items
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
items: (components["schemas"]["ImageDTO"])[];
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Offset
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Offset from which to retrieve items
|
|
|
|
*/
|
|
|
|
offset: number;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Limit
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Limit of items to get
|
|
|
|
*/
|
|
|
|
limit: number;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Total
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Total number of items in result
|
|
|
|
*/
|
|
|
|
total: number;
|
|
|
|
};
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* OpenposeImageProcessorInvocation
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Applies Openpose processing to image
|
|
|
|
*/
|
|
|
|
OpenposeImageProcessorInvocation: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Id
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The id of this node. Must be unique among all nodes.
|
|
|
|
*/
|
|
|
|
id: string;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Is Intermediate
|
|
|
|
* @description Whether or not this node is an intermediate node.
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default false
|
|
|
|
*/
|
|
|
|
is_intermediate?: boolean;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Type
|
|
|
|
* @default openpose_image_processor
|
2023-06-23 09:14:13 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
type?: "openpose_image_processor";
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Image
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The image to process
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
image?: components["schemas"]["ImageField"];
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Hand And Face
|
|
|
|
* @description Whether to use hands and face mode
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default false
|
|
|
|
*/
|
|
|
|
hand_and_face?: boolean;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Detect Resolution
|
|
|
|
* @description The pixel resolution for detection
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default 512
|
|
|
|
*/
|
|
|
|
detect_resolution?: number;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Image Resolution
|
|
|
|
* @description The pixel resolution for the output image
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default 512
|
|
|
|
*/
|
|
|
|
image_resolution?: number;
|
|
|
|
};
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* PaginatedResults[GraphExecutionState]
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Paginated results
|
|
|
|
*/
|
|
|
|
PaginatedResults_GraphExecutionState_: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Items
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Items
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
items: (components["schemas"]["GraphExecutionState"])[];
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Page
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Current Page
|
|
|
|
*/
|
|
|
|
page: number;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Pages
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Total number of pages
|
|
|
|
*/
|
|
|
|
pages: number;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Per Page
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Number of items per page
|
|
|
|
*/
|
|
|
|
per_page: number;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Total
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Total number of items in result
|
|
|
|
*/
|
|
|
|
total: number;
|
|
|
|
};
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* ParamFloatInvocation
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description A float parameter
|
|
|
|
*/
|
|
|
|
ParamFloatInvocation: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Id
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The id of this node. Must be unique among all nodes.
|
|
|
|
*/
|
|
|
|
id: string;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Is Intermediate
|
|
|
|
* @description Whether or not this node is an intermediate node.
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default false
|
|
|
|
*/
|
|
|
|
is_intermediate?: boolean;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Type
|
|
|
|
* @default param_float
|
2023-06-23 09:14:13 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
type?: "param_float";
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Param
|
|
|
|
* @description The float value
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default 0
|
|
|
|
*/
|
|
|
|
param?: number;
|
|
|
|
};
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* ParamIntInvocation
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description An integer parameter
|
|
|
|
*/
|
|
|
|
ParamIntInvocation: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Id
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The id of this node. Must be unique among all nodes.
|
|
|
|
*/
|
|
|
|
id: string;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Is Intermediate
|
|
|
|
* @description Whether or not this node is an intermediate node.
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default false
|
|
|
|
*/
|
|
|
|
is_intermediate?: boolean;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Type
|
|
|
|
* @default param_int
|
2023-06-23 09:14:13 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
type?: "param_int";
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* A
|
|
|
|
* @description The integer value
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default 0
|
|
|
|
*/
|
|
|
|
a?: number;
|
|
|
|
};
|
2023-07-19 01:17:15 +00:00
|
|
|
/**
|
|
|
|
* ParamStringInvocation
|
|
|
|
* @description A string parameter
|
|
|
|
*/
|
|
|
|
ParamStringInvocation: {
|
|
|
|
/**
|
|
|
|
* Id
|
|
|
|
* @description The id of this node. Must be unique among all nodes.
|
|
|
|
*/
|
|
|
|
id: string;
|
|
|
|
/**
|
|
|
|
* Is Intermediate
|
|
|
|
* @description Whether or not this node is an intermediate node.
|
|
|
|
* @default false
|
|
|
|
*/
|
|
|
|
is_intermediate?: boolean;
|
|
|
|
/**
|
|
|
|
* Type
|
|
|
|
* @default param_string
|
|
|
|
* @enum {string}
|
|
|
|
*/
|
|
|
|
type?: "param_string";
|
|
|
|
/**
|
|
|
|
* Text
|
|
|
|
* @description The string value
|
|
|
|
* @default
|
|
|
|
*/
|
|
|
|
text?: string;
|
|
|
|
};
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* PidiImageProcessorInvocation
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Applies PIDI processing to image
|
|
|
|
*/
|
|
|
|
PidiImageProcessorInvocation: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Id
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The id of this node. Must be unique among all nodes.
|
|
|
|
*/
|
|
|
|
id: string;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Is Intermediate
|
|
|
|
* @description Whether or not this node is an intermediate node.
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default false
|
|
|
|
*/
|
|
|
|
is_intermediate?: boolean;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Type
|
|
|
|
* @default pidi_image_processor
|
2023-06-23 09:14:13 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
type?: "pidi_image_processor";
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Image
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The image to process
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
image?: components["schemas"]["ImageField"];
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Detect Resolution
|
|
|
|
* @description The pixel resolution for detection
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default 512
|
|
|
|
*/
|
|
|
|
detect_resolution?: number;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Image Resolution
|
|
|
|
* @description The pixel resolution for the output image
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default 512
|
|
|
|
*/
|
|
|
|
image_resolution?: number;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Safe
|
|
|
|
* @description Whether to use safe mode
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default false
|
|
|
|
*/
|
|
|
|
safe?: boolean;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Scribble
|
|
|
|
* @description Whether to use scribble mode
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default false
|
|
|
|
*/
|
|
|
|
scribble?: boolean;
|
|
|
|
};
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* PromptCollectionOutput
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Base class for invocations that output a collection of prompts
|
|
|
|
*/
|
|
|
|
PromptCollectionOutput: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Type
|
|
|
|
* @default prompt_collection_output
|
2023-06-23 09:14:13 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
type: "prompt_collection_output";
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Prompt Collection
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The output prompt collection
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
prompt_collection: (string)[];
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Count
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The size of the prompt collection
|
|
|
|
*/
|
|
|
|
count: number;
|
|
|
|
};
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* PromptOutput
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Base class for invocations that output a prompt
|
|
|
|
*/
|
|
|
|
PromptOutput: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Type
|
|
|
|
* @default prompt
|
2023-06-23 09:14:13 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
type: "prompt";
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Prompt
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The output prompt
|
|
|
|
*/
|
|
|
|
prompt: string;
|
|
|
|
};
|
2023-07-18 02:01:56 +00:00
|
|
|
/**
|
|
|
|
* PromptsFromFileInvocation
|
|
|
|
* @description Loads prompts from a text file
|
|
|
|
*/
|
|
|
|
PromptsFromFileInvocation: {
|
|
|
|
/**
|
|
|
|
* Id
|
|
|
|
* @description The id of this node. Must be unique among all nodes.
|
|
|
|
*/
|
|
|
|
id: string;
|
|
|
|
/**
|
|
|
|
* Is Intermediate
|
|
|
|
* @description Whether or not this node is an intermediate node.
|
|
|
|
* @default false
|
|
|
|
*/
|
|
|
|
is_intermediate?: boolean;
|
|
|
|
/**
|
|
|
|
* Type
|
|
|
|
* @default prompt_from_file
|
|
|
|
* @enum {string}
|
|
|
|
*/
|
|
|
|
type?: "prompt_from_file";
|
|
|
|
/**
|
|
|
|
* File Path
|
|
|
|
* @description Path to prompt text file
|
|
|
|
*/
|
|
|
|
file_path: string;
|
|
|
|
/**
|
|
|
|
* Pre Prompt
|
|
|
|
* @description String to prepend to each prompt
|
|
|
|
*/
|
|
|
|
pre_prompt?: string;
|
|
|
|
/**
|
|
|
|
* Post Prompt
|
|
|
|
* @description String to append to each prompt
|
|
|
|
*/
|
|
|
|
post_prompt?: string;
|
|
|
|
/**
|
|
|
|
* Start Line
|
|
|
|
* @description Line in the file to start start from
|
|
|
|
* @default 1
|
|
|
|
*/
|
|
|
|
start_line?: number;
|
|
|
|
/**
|
|
|
|
* Max Prompts
|
|
|
|
* @description Max lines to read from file (0=all)
|
|
|
|
* @default 1
|
|
|
|
*/
|
|
|
|
max_prompts?: number;
|
|
|
|
};
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* RandomIntInvocation
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Outputs a single random integer.
|
|
|
|
*/
|
|
|
|
RandomIntInvocation: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Id
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The id of this node. Must be unique among all nodes.
|
|
|
|
*/
|
|
|
|
id: string;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Is Intermediate
|
|
|
|
* @description Whether or not this node is an intermediate node.
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default false
|
|
|
|
*/
|
|
|
|
is_intermediate?: boolean;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Type
|
|
|
|
* @default rand_int
|
2023-06-23 09:14:13 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
type?: "rand_int";
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Low
|
|
|
|
* @description The inclusive low value
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default 0
|
|
|
|
*/
|
|
|
|
low?: number;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* High
|
|
|
|
* @description The exclusive high value
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default 2147483647
|
|
|
|
*/
|
|
|
|
high?: number;
|
|
|
|
};
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* RandomRangeInvocation
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Creates a collection of random numbers
|
|
|
|
*/
|
|
|
|
RandomRangeInvocation: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Id
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The id of this node. Must be unique among all nodes.
|
|
|
|
*/
|
|
|
|
id: string;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Is Intermediate
|
|
|
|
* @description Whether or not this node is an intermediate node.
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default false
|
|
|
|
*/
|
|
|
|
is_intermediate?: boolean;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Type
|
|
|
|
* @default random_range
|
2023-06-23 09:14:13 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
type?: "random_range";
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Low
|
|
|
|
* @description The inclusive low value
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default 0
|
|
|
|
*/
|
|
|
|
low?: number;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* High
|
|
|
|
* @description The exclusive high value
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default 2147483647
|
|
|
|
*/
|
|
|
|
high?: number;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Size
|
|
|
|
* @description The number of values to generate
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default 1
|
|
|
|
*/
|
|
|
|
size?: number;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Seed
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The seed for the RNG (omit for random)
|
|
|
|
*/
|
|
|
|
seed?: number;
|
|
|
|
};
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* RangeInvocation
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Creates a range of numbers from start to stop with step
|
|
|
|
*/
|
|
|
|
RangeInvocation: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Id
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The id of this node. Must be unique among all nodes.
|
|
|
|
*/
|
|
|
|
id: string;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Is Intermediate
|
|
|
|
* @description Whether or not this node is an intermediate node.
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default false
|
|
|
|
*/
|
|
|
|
is_intermediate?: boolean;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Type
|
|
|
|
* @default range
|
2023-06-23 09:14:13 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
type?: "range";
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Start
|
|
|
|
* @description The start of the range
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default 0
|
|
|
|
*/
|
|
|
|
start?: number;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Stop
|
|
|
|
* @description The stop of the range
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default 10
|
|
|
|
*/
|
|
|
|
stop?: number;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Step
|
|
|
|
* @description The step of the range
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default 1
|
|
|
|
*/
|
|
|
|
step?: number;
|
|
|
|
};
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* RangeOfSizeInvocation
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Creates a range from start to start + size with step
|
|
|
|
*/
|
|
|
|
RangeOfSizeInvocation: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Id
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The id of this node. Must be unique among all nodes.
|
|
|
|
*/
|
|
|
|
id: string;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Is Intermediate
|
|
|
|
* @description Whether or not this node is an intermediate node.
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default false
|
|
|
|
*/
|
|
|
|
is_intermediate?: boolean;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Type
|
|
|
|
* @default range_of_size
|
2023-06-23 09:14:13 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
type?: "range_of_size";
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Start
|
|
|
|
* @description The start of the range
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default 0
|
|
|
|
*/
|
|
|
|
start?: number;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Size
|
|
|
|
* @description The number of values
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default 1
|
|
|
|
*/
|
|
|
|
size?: number;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Step
|
|
|
|
* @description The step of the range
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default 1
|
|
|
|
*/
|
|
|
|
step?: number;
|
|
|
|
};
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* ResizeLatentsInvocation
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Resizes latents to explicit width/height (in pixels). Provided dimensions are floor-divided by 8.
|
|
|
|
*/
|
|
|
|
ResizeLatentsInvocation: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Id
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The id of this node. Must be unique among all nodes.
|
|
|
|
*/
|
|
|
|
id: string;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Is Intermediate
|
|
|
|
* @description Whether or not this node is an intermediate node.
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default false
|
|
|
|
*/
|
|
|
|
is_intermediate?: boolean;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Type
|
|
|
|
* @default lresize
|
2023-06-23 09:14:13 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
type?: "lresize";
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Latents
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The latents to resize
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
latents?: components["schemas"]["LatentsField"];
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Width
|
2023-07-15 02:19:24 +00:00
|
|
|
* @description The width to resize to (px)
|
|
|
|
* @default 512
|
2023-06-23 09:14:13 +00:00
|
|
|
*/
|
2023-07-15 02:19:24 +00:00
|
|
|
width?: number;
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Height
|
2023-07-15 02:19:24 +00:00
|
|
|
* @description The height to resize to (px)
|
|
|
|
* @default 512
|
2023-06-23 09:14:13 +00:00
|
|
|
*/
|
2023-07-15 02:19:24 +00:00
|
|
|
height?: number;
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Mode
|
|
|
|
* @description The interpolation mode
|
|
|
|
* @default bilinear
|
2023-06-23 09:14:13 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
mode?: "nearest" | "linear" | "bilinear" | "bicubic" | "trilinear" | "area" | "nearest-exact";
|
|
|
|
/**
|
|
|
|
* Antialias
|
|
|
|
* @description Whether or not to antialias (applied in bilinear and bicubic modes only)
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default false
|
|
|
|
*/
|
|
|
|
antialias?: boolean;
|
|
|
|
};
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* ResourceOrigin
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The origin of a resource (eg image).
|
2023-07-13 05:22:18 +00:00
|
|
|
*
|
2023-06-23 09:14:13 +00:00
|
|
|
* - INTERNAL: The resource was created by the application.
|
|
|
|
* - EXTERNAL: The resource was not created by the application.
|
2023-07-13 05:22:18 +00:00
|
|
|
* This may be a user-initiated upload, or an internal application upload (eg Canvas init image).
|
2023-06-23 09:14:13 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
ResourceOrigin: "internal" | "external";
|
2023-07-18 02:01:56 +00:00
|
|
|
/**
|
|
|
|
* SDXLCompelPromptInvocation
|
|
|
|
* @description Parse prompt using compel package to conditioning.
|
|
|
|
*/
|
|
|
|
SDXLCompelPromptInvocation: {
|
|
|
|
/**
|
|
|
|
* Id
|
|
|
|
* @description The id of this node. Must be unique among all nodes.
|
|
|
|
*/
|
|
|
|
id: string;
|
|
|
|
/**
|
|
|
|
* Is Intermediate
|
|
|
|
* @description Whether or not this node is an intermediate node.
|
|
|
|
* @default false
|
|
|
|
*/
|
|
|
|
is_intermediate?: boolean;
|
|
|
|
/**
|
|
|
|
* Type
|
|
|
|
* @default sdxl_compel_prompt
|
|
|
|
* @enum {string}
|
|
|
|
*/
|
|
|
|
type?: "sdxl_compel_prompt";
|
|
|
|
/**
|
|
|
|
* Prompt
|
|
|
|
* @description Prompt
|
|
|
|
* @default
|
|
|
|
*/
|
|
|
|
prompt?: string;
|
|
|
|
/**
|
|
|
|
* Style
|
|
|
|
* @description Style prompt
|
|
|
|
* @default
|
|
|
|
*/
|
|
|
|
style?: string;
|
|
|
|
/**
|
|
|
|
* Original Width
|
|
|
|
* @default 1024
|
|
|
|
*/
|
|
|
|
original_width?: number;
|
|
|
|
/**
|
|
|
|
* Original Height
|
|
|
|
* @default 1024
|
|
|
|
*/
|
|
|
|
original_height?: number;
|
|
|
|
/**
|
|
|
|
* Crop Top
|
|
|
|
* @default 0
|
|
|
|
*/
|
|
|
|
crop_top?: number;
|
|
|
|
/**
|
|
|
|
* Crop Left
|
|
|
|
* @default 0
|
|
|
|
*/
|
|
|
|
crop_left?: number;
|
|
|
|
/**
|
|
|
|
* Target Width
|
|
|
|
* @default 1024
|
|
|
|
*/
|
|
|
|
target_width?: number;
|
|
|
|
/**
|
|
|
|
* Target Height
|
|
|
|
* @default 1024
|
|
|
|
*/
|
|
|
|
target_height?: number;
|
|
|
|
/**
|
2023-07-19 01:17:15 +00:00
|
|
|
* Clip
|
2023-07-18 02:01:56 +00:00
|
|
|
* @description Clip to use
|
|
|
|
*/
|
2023-07-19 01:17:15 +00:00
|
|
|
clip?: components["schemas"]["ClipField"];
|
2023-07-18 02:01:56 +00:00
|
|
|
/**
|
|
|
|
* Clip2
|
2023-07-19 01:17:15 +00:00
|
|
|
* @description Clip2 to use
|
2023-07-18 02:01:56 +00:00
|
|
|
*/
|
|
|
|
clip2?: components["schemas"]["ClipField"];
|
|
|
|
};
|
|
|
|
/**
|
|
|
|
* SDXLLatentsToLatentsInvocation
|
|
|
|
* @description Generates latents from conditionings.
|
|
|
|
*/
|
|
|
|
SDXLLatentsToLatentsInvocation: {
|
|
|
|
/**
|
|
|
|
* Id
|
|
|
|
* @description The id of this node. Must be unique among all nodes.
|
|
|
|
*/
|
|
|
|
id: string;
|
|
|
|
/**
|
|
|
|
* Is Intermediate
|
|
|
|
* @description Whether or not this node is an intermediate node.
|
|
|
|
* @default false
|
|
|
|
*/
|
|
|
|
is_intermediate?: boolean;
|
|
|
|
/**
|
|
|
|
* Type
|
|
|
|
* @default l2l_sdxl
|
|
|
|
* @enum {string}
|
|
|
|
*/
|
|
|
|
type?: "l2l_sdxl";
|
|
|
|
/**
|
|
|
|
* Positive Conditioning
|
|
|
|
* @description Positive conditioning for generation
|
|
|
|
*/
|
|
|
|
positive_conditioning?: components["schemas"]["ConditioningField"];
|
|
|
|
/**
|
|
|
|
* Negative Conditioning
|
|
|
|
* @description Negative conditioning for generation
|
|
|
|
*/
|
|
|
|
negative_conditioning?: components["schemas"]["ConditioningField"];
|
|
|
|
/**
|
|
|
|
* Noise
|
|
|
|
* @description The noise to use
|
|
|
|
*/
|
|
|
|
noise?: components["schemas"]["LatentsField"];
|
|
|
|
/**
|
|
|
|
* Steps
|
|
|
|
* @description The number of steps to use to generate the image
|
|
|
|
* @default 10
|
|
|
|
*/
|
|
|
|
steps?: number;
|
|
|
|
/**
|
|
|
|
* Cfg Scale
|
|
|
|
* @description The Classifier-Free Guidance, higher values may result in a result closer to the prompt
|
|
|
|
* @default 7.5
|
|
|
|
*/
|
|
|
|
cfg_scale?: number | (number)[];
|
|
|
|
/**
|
|
|
|
* Scheduler
|
|
|
|
* @description The scheduler to use
|
|
|
|
* @default euler
|
|
|
|
* @enum {string}
|
|
|
|
*/
|
|
|
|
scheduler?: "ddim" | "ddpm" | "deis" | "lms" | "lms_k" | "pndm" | "heun" | "heun_k" | "euler" | "euler_k" | "euler_a" | "kdpm_2" | "kdpm_2_a" | "dpmpp_2s" | "dpmpp_2s_k" | "dpmpp_2m" | "dpmpp_2m_k" | "dpmpp_2m_sde" | "dpmpp_2m_sde_k" | "dpmpp_sde" | "dpmpp_sde_k" | "unipc";
|
|
|
|
/**
|
|
|
|
* Unet
|
|
|
|
* @description UNet submodel
|
|
|
|
*/
|
|
|
|
unet?: components["schemas"]["UNetField"];
|
|
|
|
/**
|
|
|
|
* Latents
|
|
|
|
* @description Initial latents
|
|
|
|
*/
|
|
|
|
latents?: components["schemas"]["LatentsField"];
|
|
|
|
/**
|
|
|
|
* Denoising Start
|
|
|
|
* @default 0
|
|
|
|
*/
|
|
|
|
denoising_start?: number;
|
|
|
|
/**
|
|
|
|
* Denoising End
|
|
|
|
* @default 1
|
|
|
|
*/
|
|
|
|
denoising_end?: number;
|
|
|
|
};
|
|
|
|
/**
|
|
|
|
* SDXLModelLoaderInvocation
|
|
|
|
* @description Loads an sdxl base model, outputting its submodels.
|
|
|
|
*/
|
|
|
|
SDXLModelLoaderInvocation: {
|
|
|
|
/**
|
|
|
|
* Id
|
|
|
|
* @description The id of this node. Must be unique among all nodes.
|
|
|
|
*/
|
|
|
|
id: string;
|
|
|
|
/**
|
|
|
|
* Is Intermediate
|
|
|
|
* @description Whether or not this node is an intermediate node.
|
|
|
|
* @default false
|
|
|
|
*/
|
|
|
|
is_intermediate?: boolean;
|
|
|
|
/**
|
|
|
|
* Type
|
|
|
|
* @default sdxl_model_loader
|
|
|
|
* @enum {string}
|
|
|
|
*/
|
|
|
|
type?: "sdxl_model_loader";
|
|
|
|
/**
|
|
|
|
* Model
|
|
|
|
* @description The model to load
|
|
|
|
*/
|
|
|
|
model: components["schemas"]["MainModelField"];
|
|
|
|
};
|
|
|
|
/**
|
|
|
|
* SDXLModelLoaderOutput
|
|
|
|
* @description SDXL base model loader output
|
|
|
|
*/
|
|
|
|
SDXLModelLoaderOutput: {
|
|
|
|
/**
|
|
|
|
* Type
|
|
|
|
* @default sdxl_model_loader_output
|
|
|
|
* @enum {string}
|
|
|
|
*/
|
|
|
|
type?: "sdxl_model_loader_output";
|
|
|
|
/**
|
|
|
|
* Unet
|
|
|
|
* @description UNet submodel
|
|
|
|
*/
|
|
|
|
unet?: components["schemas"]["UNetField"];
|
|
|
|
/**
|
|
|
|
* Clip
|
|
|
|
* @description Tokenizer and text_encoder submodels
|
|
|
|
*/
|
|
|
|
clip?: components["schemas"]["ClipField"];
|
|
|
|
/**
|
|
|
|
* Clip2
|
|
|
|
* @description Tokenizer and text_encoder submodels
|
|
|
|
*/
|
|
|
|
clip2?: components["schemas"]["ClipField"];
|
|
|
|
/**
|
|
|
|
* Vae
|
|
|
|
* @description Vae submodel
|
|
|
|
*/
|
|
|
|
vae?: components["schemas"]["VaeField"];
|
|
|
|
};
|
|
|
|
/**
|
|
|
|
* SDXLRawPromptInvocation
|
2023-07-18 16:45:47 +00:00
|
|
|
* @description Pass unmodified prompt to conditioning without compel processing.
|
2023-07-18 02:01:56 +00:00
|
|
|
*/
|
|
|
|
SDXLRawPromptInvocation: {
|
|
|
|
/**
|
|
|
|
* Id
|
|
|
|
* @description The id of this node. Must be unique among all nodes.
|
|
|
|
*/
|
|
|
|
id: string;
|
|
|
|
/**
|
|
|
|
* Is Intermediate
|
|
|
|
* @description Whether or not this node is an intermediate node.
|
|
|
|
* @default false
|
|
|
|
*/
|
|
|
|
is_intermediate?: boolean;
|
|
|
|
/**
|
|
|
|
* Type
|
|
|
|
* @default sdxl_raw_prompt
|
|
|
|
* @enum {string}
|
|
|
|
*/
|
|
|
|
type?: "sdxl_raw_prompt";
|
|
|
|
/**
|
|
|
|
* Prompt
|
|
|
|
* @description Prompt
|
|
|
|
* @default
|
|
|
|
*/
|
|
|
|
prompt?: string;
|
|
|
|
/**
|
|
|
|
* Style
|
|
|
|
* @description Style prompt
|
|
|
|
* @default
|
|
|
|
*/
|
|
|
|
style?: string;
|
|
|
|
/**
|
|
|
|
* Original Width
|
|
|
|
* @default 1024
|
|
|
|
*/
|
|
|
|
original_width?: number;
|
|
|
|
/**
|
|
|
|
* Original Height
|
|
|
|
* @default 1024
|
|
|
|
*/
|
|
|
|
original_height?: number;
|
|
|
|
/**
|
|
|
|
* Crop Top
|
|
|
|
* @default 0
|
|
|
|
*/
|
|
|
|
crop_top?: number;
|
|
|
|
/**
|
|
|
|
* Crop Left
|
|
|
|
* @default 0
|
|
|
|
*/
|
|
|
|
crop_left?: number;
|
|
|
|
/**
|
|
|
|
* Target Width
|
|
|
|
* @default 1024
|
|
|
|
*/
|
|
|
|
target_width?: number;
|
|
|
|
/**
|
|
|
|
* Target Height
|
|
|
|
* @default 1024
|
|
|
|
*/
|
|
|
|
target_height?: number;
|
|
|
|
/**
|
2023-07-19 01:17:15 +00:00
|
|
|
* Clip
|
2023-07-18 02:01:56 +00:00
|
|
|
* @description Clip to use
|
|
|
|
*/
|
2023-07-19 01:17:15 +00:00
|
|
|
clip?: components["schemas"]["ClipField"];
|
2023-07-18 02:01:56 +00:00
|
|
|
/**
|
|
|
|
* Clip2
|
2023-07-19 01:17:15 +00:00
|
|
|
* @description Clip2 to use
|
2023-07-18 02:01:56 +00:00
|
|
|
*/
|
|
|
|
clip2?: components["schemas"]["ClipField"];
|
|
|
|
};
|
|
|
|
/**
|
|
|
|
* SDXLRefinerCompelPromptInvocation
|
|
|
|
* @description Parse prompt using compel package to conditioning.
|
|
|
|
*/
|
|
|
|
SDXLRefinerCompelPromptInvocation: {
|
|
|
|
/**
|
|
|
|
* Id
|
|
|
|
* @description The id of this node. Must be unique among all nodes.
|
|
|
|
*/
|
|
|
|
id: string;
|
|
|
|
/**
|
|
|
|
* Is Intermediate
|
|
|
|
* @description Whether or not this node is an intermediate node.
|
|
|
|
* @default false
|
|
|
|
*/
|
|
|
|
is_intermediate?: boolean;
|
|
|
|
/**
|
|
|
|
* Type
|
|
|
|
* @default sdxl_refiner_compel_prompt
|
|
|
|
* @enum {string}
|
|
|
|
*/
|
|
|
|
type?: "sdxl_refiner_compel_prompt";
|
|
|
|
/**
|
|
|
|
* Style
|
|
|
|
* @description Style prompt
|
|
|
|
* @default
|
|
|
|
*/
|
|
|
|
style?: string;
|
|
|
|
/**
|
|
|
|
* Original Width
|
|
|
|
* @default 1024
|
|
|
|
*/
|
|
|
|
original_width?: number;
|
|
|
|
/**
|
|
|
|
* Original Height
|
|
|
|
* @default 1024
|
|
|
|
*/
|
|
|
|
original_height?: number;
|
|
|
|
/**
|
|
|
|
* Crop Top
|
|
|
|
* @default 0
|
|
|
|
*/
|
|
|
|
crop_top?: number;
|
|
|
|
/**
|
|
|
|
* Crop Left
|
|
|
|
* @default 0
|
|
|
|
*/
|
|
|
|
crop_left?: number;
|
|
|
|
/**
|
|
|
|
* Aesthetic Score
|
|
|
|
* @default 6
|
|
|
|
*/
|
|
|
|
aesthetic_score?: number;
|
|
|
|
/**
|
|
|
|
* Clip2
|
|
|
|
* @description Clip to use
|
|
|
|
*/
|
|
|
|
clip2?: components["schemas"]["ClipField"];
|
|
|
|
};
|
|
|
|
/**
|
|
|
|
* SDXLRefinerModelLoaderInvocation
|
|
|
|
* @description Loads an sdxl refiner model, outputting its submodels.
|
|
|
|
*/
|
|
|
|
SDXLRefinerModelLoaderInvocation: {
|
|
|
|
/**
|
|
|
|
* Id
|
|
|
|
* @description The id of this node. Must be unique among all nodes.
|
|
|
|
*/
|
|
|
|
id: string;
|
|
|
|
/**
|
|
|
|
* Is Intermediate
|
|
|
|
* @description Whether or not this node is an intermediate node.
|
|
|
|
* @default false
|
|
|
|
*/
|
|
|
|
is_intermediate?: boolean;
|
|
|
|
/**
|
|
|
|
* Type
|
|
|
|
* @default sdxl_refiner_model_loader
|
|
|
|
* @enum {string}
|
|
|
|
*/
|
|
|
|
type?: "sdxl_refiner_model_loader";
|
|
|
|
/**
|
|
|
|
* Model
|
|
|
|
* @description The model to load
|
|
|
|
*/
|
|
|
|
model: components["schemas"]["MainModelField"];
|
|
|
|
};
|
|
|
|
/**
|
|
|
|
* SDXLRefinerModelLoaderOutput
|
|
|
|
* @description SDXL refiner model loader output
|
|
|
|
*/
|
|
|
|
SDXLRefinerModelLoaderOutput: {
|
|
|
|
/**
|
|
|
|
* Type
|
|
|
|
* @default sdxl_refiner_model_loader_output
|
|
|
|
* @enum {string}
|
|
|
|
*/
|
|
|
|
type?: "sdxl_refiner_model_loader_output";
|
|
|
|
/**
|
|
|
|
* Unet
|
|
|
|
* @description UNet submodel
|
|
|
|
*/
|
|
|
|
unet?: components["schemas"]["UNetField"];
|
|
|
|
/**
|
|
|
|
* Clip2
|
|
|
|
* @description Tokenizer and text_encoder submodels
|
|
|
|
*/
|
|
|
|
clip2?: components["schemas"]["ClipField"];
|
|
|
|
/**
|
|
|
|
* Vae
|
|
|
|
* @description Vae submodel
|
|
|
|
*/
|
|
|
|
vae?: components["schemas"]["VaeField"];
|
|
|
|
};
|
|
|
|
/**
|
|
|
|
* SDXLRefinerRawPromptInvocation
|
|
|
|
* @description Parse prompt using compel package to conditioning.
|
|
|
|
*/
|
|
|
|
SDXLRefinerRawPromptInvocation: {
|
|
|
|
/**
|
|
|
|
* Id
|
|
|
|
* @description The id of this node. Must be unique among all nodes.
|
|
|
|
*/
|
|
|
|
id: string;
|
|
|
|
/**
|
|
|
|
* Is Intermediate
|
|
|
|
* @description Whether or not this node is an intermediate node.
|
|
|
|
* @default false
|
|
|
|
*/
|
|
|
|
is_intermediate?: boolean;
|
|
|
|
/**
|
|
|
|
* Type
|
|
|
|
* @default sdxl_refiner_raw_prompt
|
|
|
|
* @enum {string}
|
|
|
|
*/
|
|
|
|
type?: "sdxl_refiner_raw_prompt";
|
|
|
|
/**
|
|
|
|
* Style
|
|
|
|
* @description Style prompt
|
|
|
|
* @default
|
|
|
|
*/
|
|
|
|
style?: string;
|
|
|
|
/**
|
|
|
|
* Original Width
|
|
|
|
* @default 1024
|
|
|
|
*/
|
|
|
|
original_width?: number;
|
|
|
|
/**
|
|
|
|
* Original Height
|
|
|
|
* @default 1024
|
|
|
|
*/
|
|
|
|
original_height?: number;
|
|
|
|
/**
|
|
|
|
* Crop Top
|
|
|
|
* @default 0
|
|
|
|
*/
|
|
|
|
crop_top?: number;
|
|
|
|
/**
|
|
|
|
* Crop Left
|
|
|
|
* @default 0
|
|
|
|
*/
|
|
|
|
crop_left?: number;
|
|
|
|
/**
|
|
|
|
* Aesthetic Score
|
|
|
|
* @default 6
|
|
|
|
*/
|
|
|
|
aesthetic_score?: number;
|
|
|
|
/**
|
|
|
|
* Clip2
|
|
|
|
* @description Clip to use
|
|
|
|
*/
|
|
|
|
clip2?: components["schemas"]["ClipField"];
|
|
|
|
};
|
|
|
|
/**
|
|
|
|
* SDXLTextToLatentsInvocation
|
|
|
|
* @description Generates latents from conditionings.
|
|
|
|
*/
|
|
|
|
SDXLTextToLatentsInvocation: {
|
|
|
|
/**
|
|
|
|
* Id
|
|
|
|
* @description The id of this node. Must be unique among all nodes.
|
|
|
|
*/
|
|
|
|
id: string;
|
|
|
|
/**
|
|
|
|
* Is Intermediate
|
|
|
|
* @description Whether or not this node is an intermediate node.
|
|
|
|
* @default false
|
|
|
|
*/
|
|
|
|
is_intermediate?: boolean;
|
|
|
|
/**
|
|
|
|
* Type
|
|
|
|
* @default t2l_sdxl
|
|
|
|
* @enum {string}
|
|
|
|
*/
|
|
|
|
type?: "t2l_sdxl";
|
|
|
|
/**
|
|
|
|
* Positive Conditioning
|
|
|
|
* @description Positive conditioning for generation
|
|
|
|
*/
|
|
|
|
positive_conditioning?: components["schemas"]["ConditioningField"];
|
|
|
|
/**
|
|
|
|
* Negative Conditioning
|
|
|
|
* @description Negative conditioning for generation
|
|
|
|
*/
|
|
|
|
negative_conditioning?: components["schemas"]["ConditioningField"];
|
|
|
|
/**
|
|
|
|
* Noise
|
|
|
|
* @description The noise to use
|
|
|
|
*/
|
|
|
|
noise?: components["schemas"]["LatentsField"];
|
|
|
|
/**
|
|
|
|
* Steps
|
|
|
|
* @description The number of steps to use to generate the image
|
|
|
|
* @default 10
|
|
|
|
*/
|
|
|
|
steps?: number;
|
|
|
|
/**
|
|
|
|
* Cfg Scale
|
|
|
|
* @description The Classifier-Free Guidance, higher values may result in a result closer to the prompt
|
|
|
|
* @default 7.5
|
|
|
|
*/
|
|
|
|
cfg_scale?: number | (number)[];
|
|
|
|
/**
|
|
|
|
* Scheduler
|
|
|
|
* @description The scheduler to use
|
|
|
|
* @default euler
|
|
|
|
* @enum {string}
|
|
|
|
*/
|
|
|
|
scheduler?: "ddim" | "ddpm" | "deis" | "lms" | "lms_k" | "pndm" | "heun" | "heun_k" | "euler" | "euler_k" | "euler_a" | "kdpm_2" | "kdpm_2_a" | "dpmpp_2s" | "dpmpp_2s_k" | "dpmpp_2m" | "dpmpp_2m_k" | "dpmpp_2m_sde" | "dpmpp_2m_sde_k" | "dpmpp_sde" | "dpmpp_sde_k" | "unipc";
|
|
|
|
/**
|
|
|
|
* Unet
|
|
|
|
* @description UNet submodel
|
|
|
|
*/
|
|
|
|
unet?: components["schemas"]["UNetField"];
|
|
|
|
/**
|
|
|
|
* Denoising End
|
|
|
|
* @default 1
|
|
|
|
*/
|
|
|
|
denoising_end?: number;
|
|
|
|
};
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* ScaleLatentsInvocation
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Scales latents by a given factor.
|
|
|
|
*/
|
|
|
|
ScaleLatentsInvocation: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Id
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The id of this node. Must be unique among all nodes.
|
|
|
|
*/
|
|
|
|
id: string;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Is Intermediate
|
|
|
|
* @description Whether or not this node is an intermediate node.
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default false
|
|
|
|
*/
|
|
|
|
is_intermediate?: boolean;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Type
|
|
|
|
* @default lscale
|
2023-06-23 09:14:13 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
type?: "lscale";
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Latents
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The latents to scale
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
latents?: components["schemas"]["LatentsField"];
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Scale Factor
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The factor by which to scale the latents
|
|
|
|
*/
|
|
|
|
scale_factor: number;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Mode
|
|
|
|
* @description The interpolation mode
|
|
|
|
* @default bilinear
|
2023-06-23 09:14:13 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
mode?: "nearest" | "linear" | "bilinear" | "bicubic" | "trilinear" | "area" | "nearest-exact";
|
|
|
|
/**
|
|
|
|
* Antialias
|
|
|
|
* @description Whether or not to antialias (applied in bilinear and bicubic modes only)
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default false
|
|
|
|
*/
|
|
|
|
antialias?: boolean;
|
|
|
|
};
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* SegmentAnythingProcessorInvocation
|
2023-07-03 14:09:18 +00:00
|
|
|
* @description Applies segment anything processing to image
|
2023-06-23 09:14:13 +00:00
|
|
|
*/
|
2023-07-03 14:09:18 +00:00
|
|
|
SegmentAnythingProcessorInvocation: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Id
|
2023-07-03 14:09:18 +00:00
|
|
|
* @description The id of this node. Must be unique among all nodes.
|
|
|
|
*/
|
|
|
|
id: string;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Is Intermediate
|
|
|
|
* @description Whether or not this node is an intermediate node.
|
2023-07-03 14:09:18 +00:00
|
|
|
* @default false
|
|
|
|
*/
|
|
|
|
is_intermediate?: boolean;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Type
|
|
|
|
* @default segment_anything_processor
|
2023-07-03 14:09:18 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
type?: "segment_anything_processor";
|
2023-07-03 14:09:18 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Image
|
2023-07-03 14:09:18 +00:00
|
|
|
* @description The image to process
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
image?: components["schemas"]["ImageField"];
|
2023-07-03 14:09:18 +00:00
|
|
|
};
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* ShowImageInvocation
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Displays a provided image, and passes it forward in the pipeline.
|
|
|
|
*/
|
|
|
|
ShowImageInvocation: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Id
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The id of this node. Must be unique among all nodes.
|
|
|
|
*/
|
|
|
|
id: string;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Is Intermediate
|
|
|
|
* @description Whether or not this node is an intermediate node.
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default false
|
|
|
|
*/
|
|
|
|
is_intermediate?: boolean;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Type
|
|
|
|
* @default show_image
|
2023-06-23 09:14:13 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
type?: "show_image";
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Image
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The image to show
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
image?: components["schemas"]["ImageField"];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
|
|
|
/** StableDiffusion1ModelCheckpointConfig */
|
|
|
|
StableDiffusion1ModelCheckpointConfig: {
|
2023-07-12 15:15:09 +00:00
|
|
|
/** Model Name */
|
|
|
|
model_name: string;
|
2023-07-13 05:22:18 +00:00
|
|
|
base_model: components["schemas"]["BaseModelType"];
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Model Type
|
2023-06-23 09:14:13 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
model_type: "main";
|
2023-06-23 09:14:13 +00:00
|
|
|
/** Path */
|
|
|
|
path: string;
|
|
|
|
/** Description */
|
|
|
|
description?: string;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Model Format
|
2023-06-23 09:14:13 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
model_format: "checkpoint";
|
|
|
|
error?: components["schemas"]["ModelError"];
|
2023-06-23 09:14:13 +00:00
|
|
|
/** Vae */
|
|
|
|
vae?: string;
|
|
|
|
/** Config */
|
2023-07-03 14:09:18 +00:00
|
|
|
config: string;
|
2023-07-13 05:22:18 +00:00
|
|
|
variant: components["schemas"]["ModelVariantType"];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
|
|
|
/** StableDiffusion1ModelDiffusersConfig */
|
|
|
|
StableDiffusion1ModelDiffusersConfig: {
|
2023-07-12 15:15:09 +00:00
|
|
|
/** Model Name */
|
|
|
|
model_name: string;
|
2023-07-13 05:22:18 +00:00
|
|
|
base_model: components["schemas"]["BaseModelType"];
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Model Type
|
2023-06-23 09:14:13 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
model_type: "main";
|
2023-06-23 09:14:13 +00:00
|
|
|
/** Path */
|
|
|
|
path: string;
|
|
|
|
/** Description */
|
|
|
|
description?: string;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Model Format
|
2023-06-23 09:14:13 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
model_format: "diffusers";
|
|
|
|
error?: components["schemas"]["ModelError"];
|
2023-06-23 09:14:13 +00:00
|
|
|
/** Vae */
|
|
|
|
vae?: string;
|
2023-07-13 05:22:18 +00:00
|
|
|
variant: components["schemas"]["ModelVariantType"];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
|
|
|
/** StableDiffusion2ModelCheckpointConfig */
|
|
|
|
StableDiffusion2ModelCheckpointConfig: {
|
2023-07-12 15:15:09 +00:00
|
|
|
/** Model Name */
|
|
|
|
model_name: string;
|
2023-07-13 05:22:18 +00:00
|
|
|
base_model: components["schemas"]["BaseModelType"];
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Model Type
|
2023-06-23 09:14:13 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
model_type: "main";
|
2023-06-23 09:14:13 +00:00
|
|
|
/** Path */
|
|
|
|
path: string;
|
|
|
|
/** Description */
|
|
|
|
description?: string;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Model Format
|
2023-06-23 09:14:13 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
model_format: "checkpoint";
|
|
|
|
error?: components["schemas"]["ModelError"];
|
2023-06-23 09:14:13 +00:00
|
|
|
/** Vae */
|
|
|
|
vae?: string;
|
|
|
|
/** Config */
|
2023-07-03 14:09:18 +00:00
|
|
|
config: string;
|
2023-07-13 05:22:18 +00:00
|
|
|
variant: components["schemas"]["ModelVariantType"];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
|
|
|
/** StableDiffusion2ModelDiffusersConfig */
|
|
|
|
StableDiffusion2ModelDiffusersConfig: {
|
2023-07-12 15:15:09 +00:00
|
|
|
/** Model Name */
|
|
|
|
model_name: string;
|
2023-07-13 05:22:18 +00:00
|
|
|
base_model: components["schemas"]["BaseModelType"];
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Model Type
|
2023-06-23 09:14:13 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
model_type: "main";
|
2023-06-23 09:14:13 +00:00
|
|
|
/** Path */
|
|
|
|
path: string;
|
|
|
|
/** Description */
|
|
|
|
description?: string;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Model Format
|
2023-06-23 09:14:13 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
model_format: "diffusers";
|
|
|
|
error?: components["schemas"]["ModelError"];
|
2023-06-23 09:14:13 +00:00
|
|
|
/** Vae */
|
|
|
|
vae?: string;
|
2023-07-13 05:22:18 +00:00
|
|
|
variant: components["schemas"]["ModelVariantType"];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
2023-07-18 02:01:56 +00:00
|
|
|
/** StableDiffusionXLModelCheckpointConfig */
|
|
|
|
StableDiffusionXLModelCheckpointConfig: {
|
|
|
|
/** Model Name */
|
|
|
|
model_name: string;
|
|
|
|
base_model: components["schemas"]["BaseModelType"];
|
|
|
|
/**
|
|
|
|
* Model Type
|
|
|
|
* @enum {string}
|
|
|
|
*/
|
|
|
|
model_type: "main";
|
|
|
|
/** Path */
|
|
|
|
path: string;
|
|
|
|
/** Description */
|
|
|
|
description?: string;
|
|
|
|
/**
|
|
|
|
* Model Format
|
|
|
|
* @enum {string}
|
|
|
|
*/
|
|
|
|
model_format: "checkpoint";
|
|
|
|
error?: components["schemas"]["ModelError"];
|
|
|
|
/** Vae */
|
|
|
|
vae?: string;
|
|
|
|
/** Config */
|
|
|
|
config: string;
|
|
|
|
variant: components["schemas"]["ModelVariantType"];
|
|
|
|
};
|
|
|
|
/** StableDiffusionXLModelDiffusersConfig */
|
|
|
|
StableDiffusionXLModelDiffusersConfig: {
|
|
|
|
/** Model Name */
|
|
|
|
model_name: string;
|
|
|
|
base_model: components["schemas"]["BaseModelType"];
|
|
|
|
/**
|
|
|
|
* Model Type
|
|
|
|
* @enum {string}
|
|
|
|
*/
|
|
|
|
model_type: "main";
|
|
|
|
/** Path */
|
|
|
|
path: string;
|
|
|
|
/** Description */
|
|
|
|
description?: string;
|
|
|
|
/**
|
|
|
|
* Model Format
|
|
|
|
* @enum {string}
|
|
|
|
*/
|
|
|
|
model_format: "diffusers";
|
|
|
|
error?: components["schemas"]["ModelError"];
|
|
|
|
/** Vae */
|
|
|
|
vae?: string;
|
|
|
|
variant: components["schemas"]["ModelVariantType"];
|
|
|
|
};
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* StepParamEasingInvocation
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Experimental per-step parameter easing for denoising steps
|
|
|
|
*/
|
|
|
|
StepParamEasingInvocation: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Id
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The id of this node. Must be unique among all nodes.
|
|
|
|
*/
|
|
|
|
id: string;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Is Intermediate
|
|
|
|
* @description Whether or not this node is an intermediate node.
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default false
|
|
|
|
*/
|
|
|
|
is_intermediate?: boolean;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Type
|
|
|
|
* @default step_param_easing
|
2023-06-23 09:14:13 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
type?: "step_param_easing";
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Easing
|
|
|
|
* @description The easing function to use
|
|
|
|
* @default Linear
|
2023-06-23 09:14:13 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
easing?: "Linear" | "QuadIn" | "QuadOut" | "QuadInOut" | "CubicIn" | "CubicOut" | "CubicInOut" | "QuarticIn" | "QuarticOut" | "QuarticInOut" | "QuinticIn" | "QuinticOut" | "QuinticInOut" | "SineIn" | "SineOut" | "SineInOut" | "CircularIn" | "CircularOut" | "CircularInOut" | "ExponentialIn" | "ExponentialOut" | "ExponentialInOut" | "ElasticIn" | "ElasticOut" | "ElasticInOut" | "BackIn" | "BackOut" | "BackInOut" | "BounceIn" | "BounceOut" | "BounceInOut";
|
|
|
|
/**
|
|
|
|
* Num Steps
|
|
|
|
* @description number of denoising steps
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default 20
|
|
|
|
*/
|
|
|
|
num_steps?: number;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Start Value
|
|
|
|
* @description easing starting value
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default 0
|
|
|
|
*/
|
|
|
|
start_value?: number;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* End Value
|
|
|
|
* @description easing ending value
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default 1
|
|
|
|
*/
|
|
|
|
end_value?: number;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Start Step Percent
|
|
|
|
* @description fraction of steps at which to start easing
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default 0
|
|
|
|
*/
|
|
|
|
start_step_percent?: number;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* End Step Percent
|
|
|
|
* @description fraction of steps after which to end easing
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default 1
|
|
|
|
*/
|
|
|
|
end_step_percent?: number;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Pre Start Value
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description value before easing start
|
|
|
|
*/
|
|
|
|
pre_start_value?: number;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Post End Value
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description value after easing end
|
|
|
|
*/
|
|
|
|
post_end_value?: number;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Mirror
|
|
|
|
* @description include mirror of easing function
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default false
|
|
|
|
*/
|
|
|
|
mirror?: boolean;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Show Easing Plot
|
|
|
|
* @description show easing plot
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default false
|
|
|
|
*/
|
|
|
|
show_easing_plot?: boolean;
|
|
|
|
};
|
2023-07-19 01:17:15 +00:00
|
|
|
/**
|
|
|
|
* StringOutput
|
|
|
|
* @description A string output
|
|
|
|
*/
|
|
|
|
StringOutput: {
|
|
|
|
/**
|
|
|
|
* Type
|
|
|
|
* @default string_output
|
|
|
|
* @enum {string}
|
|
|
|
*/
|
|
|
|
type?: "string_output";
|
|
|
|
/**
|
|
|
|
* Text
|
|
|
|
* @description The output string
|
|
|
|
*/
|
|
|
|
text?: string;
|
|
|
|
};
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* SubModelType
|
|
|
|
* @description An enumeration.
|
2023-06-23 09:14:13 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-18 02:01:56 +00:00
|
|
|
SubModelType: "unet" | "text_encoder" | "text_encoder_2" | "tokenizer" | "tokenizer_2" | "vae" | "scheduler" | "safety_checker";
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* SubtractInvocation
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Subtracts two numbers
|
|
|
|
*/
|
|
|
|
SubtractInvocation: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Id
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The id of this node. Must be unique among all nodes.
|
|
|
|
*/
|
|
|
|
id: string;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Is Intermediate
|
|
|
|
* @description Whether or not this node is an intermediate node.
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default false
|
|
|
|
*/
|
|
|
|
is_intermediate?: boolean;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Type
|
|
|
|
* @default sub
|
2023-06-23 09:14:13 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
type?: "sub";
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* A
|
|
|
|
* @description The first number
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default 0
|
|
|
|
*/
|
|
|
|
a?: number;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* B
|
|
|
|
* @description The second number
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default 0
|
|
|
|
*/
|
|
|
|
b?: number;
|
|
|
|
};
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* TextToLatentsInvocation
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Generates latents from conditionings.
|
|
|
|
*/
|
|
|
|
TextToLatentsInvocation: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Id
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The id of this node. Must be unique among all nodes.
|
|
|
|
*/
|
|
|
|
id: string;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Is Intermediate
|
|
|
|
* @description Whether or not this node is an intermediate node.
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default false
|
|
|
|
*/
|
|
|
|
is_intermediate?: boolean;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Type
|
|
|
|
* @default t2l
|
2023-06-23 09:14:13 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
type?: "t2l";
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Positive Conditioning
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Positive conditioning for generation
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
positive_conditioning?: components["schemas"]["ConditioningField"];
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Negative Conditioning
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Negative conditioning for generation
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
negative_conditioning?: components["schemas"]["ConditioningField"];
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Noise
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The noise to use
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
noise?: components["schemas"]["LatentsField"];
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Steps
|
|
|
|
* @description The number of steps to use to generate the image
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default 10
|
|
|
|
*/
|
|
|
|
steps?: number;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Cfg Scale
|
|
|
|
* @description The Classifier-Free Guidance, higher values may result in a result closer to the prompt
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default 7.5
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
cfg_scale?: number | (number)[];
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Scheduler
|
|
|
|
* @description The scheduler to use
|
|
|
|
* @default euler
|
2023-06-23 09:14:13 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
scheduler?: "ddim" | "ddpm" | "deis" | "lms" | "lms_k" | "pndm" | "heun" | "heun_k" | "euler" | "euler_k" | "euler_a" | "kdpm_2" | "kdpm_2_a" | "dpmpp_2s" | "dpmpp_2s_k" | "dpmpp_2m" | "dpmpp_2m_k" | "dpmpp_2m_sde" | "dpmpp_2m_sde_k" | "dpmpp_sde" | "dpmpp_sde_k" | "unipc";
|
|
|
|
/**
|
|
|
|
* Unet
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description UNet submodel
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
unet?: components["schemas"]["UNetField"];
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Control
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The control to use
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
control?: components["schemas"]["ControlField"] | (components["schemas"]["ControlField"])[];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
|
|
|
/** TextualInversionModelConfig */
|
|
|
|
TextualInversionModelConfig: {
|
2023-07-12 15:15:09 +00:00
|
|
|
/** Model Name */
|
|
|
|
model_name: string;
|
2023-07-13 05:22:18 +00:00
|
|
|
base_model: components["schemas"]["BaseModelType"];
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Model Type
|
2023-06-23 09:14:13 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
model_type: "embedding";
|
2023-06-23 09:14:13 +00:00
|
|
|
/** Path */
|
|
|
|
path: string;
|
|
|
|
/** Description */
|
|
|
|
description?: string;
|
|
|
|
/** Model Format */
|
|
|
|
model_format: null;
|
2023-07-13 05:22:18 +00:00
|
|
|
error?: components["schemas"]["ModelError"];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
2023-07-03 14:09:18 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* TileResamplerProcessorInvocation
|
2023-07-03 14:09:18 +00:00
|
|
|
* @description Base class for invocations that preprocess images for ControlNet
|
|
|
|
*/
|
|
|
|
TileResamplerProcessorInvocation: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Id
|
2023-07-03 14:09:18 +00:00
|
|
|
* @description The id of this node. Must be unique among all nodes.
|
|
|
|
*/
|
|
|
|
id: string;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Is Intermediate
|
|
|
|
* @description Whether or not this node is an intermediate node.
|
2023-07-03 14:09:18 +00:00
|
|
|
* @default false
|
|
|
|
*/
|
|
|
|
is_intermediate?: boolean;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Type
|
|
|
|
* @default tile_image_processor
|
2023-07-03 14:09:18 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
type?: "tile_image_processor";
|
2023-07-03 14:09:18 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Image
|
2023-07-03 14:09:18 +00:00
|
|
|
* @description The image to process
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
image?: components["schemas"]["ImageField"];
|
2023-07-03 14:09:18 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Down Sampling Rate
|
|
|
|
* @description Down sampling rate
|
2023-07-03 14:09:18 +00:00
|
|
|
* @default 1
|
|
|
|
*/
|
|
|
|
down_sampling_rate?: number;
|
|
|
|
};
|
2023-06-23 09:14:13 +00:00
|
|
|
/** UNetField */
|
|
|
|
UNetField: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Unet
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Info to load unet submodel
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
unet: components["schemas"]["ModelInfo"];
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Scheduler
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Info to load scheduler submodel
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
scheduler: components["schemas"]["ModelInfo"];
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Loras
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Loras to apply on model loading
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
loras: (components["schemas"]["LoraInfo"])[];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
2023-06-30 22:15:04 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* VAEModelField
|
2023-06-30 22:15:04 +00:00
|
|
|
* @description Vae model field
|
|
|
|
*/
|
|
|
|
VAEModelField: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Model Name
|
2023-06-30 22:15:04 +00:00
|
|
|
* @description Name of the model
|
|
|
|
*/
|
|
|
|
model_name: string;
|
|
|
|
/** @description Base model */
|
2023-07-13 05:22:18 +00:00
|
|
|
base_model: components["schemas"]["BaseModelType"];
|
2023-06-30 22:15:04 +00:00
|
|
|
};
|
2023-06-23 09:14:13 +00:00
|
|
|
/** VaeField */
|
|
|
|
VaeField: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Vae
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Info to load vae submodel
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
vae: components["schemas"]["ModelInfo"];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
2023-06-30 22:15:04 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* VaeLoaderInvocation
|
2023-06-30 22:15:04 +00:00
|
|
|
* @description Loads a VAE model, outputting a VaeLoaderOutput
|
|
|
|
*/
|
|
|
|
VaeLoaderInvocation: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Id
|
2023-06-30 22:15:04 +00:00
|
|
|
* @description The id of this node. Must be unique among all nodes.
|
|
|
|
*/
|
|
|
|
id: string;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Is Intermediate
|
|
|
|
* @description Whether or not this node is an intermediate node.
|
2023-06-30 22:15:04 +00:00
|
|
|
* @default false
|
|
|
|
*/
|
|
|
|
is_intermediate?: boolean;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Type
|
|
|
|
* @default vae_loader
|
2023-06-30 22:15:04 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
type?: "vae_loader";
|
2023-06-30 22:15:04 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Vae Model
|
2023-06-30 22:15:04 +00:00
|
|
|
* @description The VAE to load
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
vae_model: components["schemas"]["VAEModelField"];
|
2023-06-30 22:15:04 +00:00
|
|
|
};
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* VaeLoaderOutput
|
2023-06-30 22:15:04 +00:00
|
|
|
* @description Model loader output
|
|
|
|
*/
|
|
|
|
VaeLoaderOutput: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Type
|
|
|
|
* @default vae_loader_output
|
2023-06-30 22:15:04 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
type?: "vae_loader_output";
|
2023-06-30 22:15:04 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Vae
|
2023-06-30 22:15:04 +00:00
|
|
|
* @description Vae model
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
vae?: components["schemas"]["VaeField"];
|
2023-06-30 22:15:04 +00:00
|
|
|
};
|
2023-06-23 09:14:13 +00:00
|
|
|
/** VaeModelConfig */
|
|
|
|
VaeModelConfig: {
|
2023-07-12 15:15:09 +00:00
|
|
|
/** Model Name */
|
|
|
|
model_name: string;
|
2023-07-13 05:22:18 +00:00
|
|
|
base_model: components["schemas"]["BaseModelType"];
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Model Type
|
2023-06-23 09:14:13 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
model_type: "vae";
|
2023-06-23 09:14:13 +00:00
|
|
|
/** Path */
|
|
|
|
path: string;
|
|
|
|
/** Description */
|
|
|
|
description?: string;
|
2023-07-13 05:22:18 +00:00
|
|
|
model_format: components["schemas"]["VaeModelFormat"];
|
|
|
|
error?: components["schemas"]["ModelError"];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* VaeModelFormat
|
|
|
|
* @description An enumeration.
|
2023-06-23 09:14:13 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
VaeModelFormat: "checkpoint" | "diffusers";
|
2023-06-23 09:14:13 +00:00
|
|
|
/** ValidationError */
|
|
|
|
ValidationError: {
|
|
|
|
/** Location */
|
|
|
|
loc: (string | number)[];
|
|
|
|
/** Message */
|
|
|
|
msg: string;
|
|
|
|
/** Error Type */
|
|
|
|
type: string;
|
|
|
|
};
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* ZoeDepthImageProcessorInvocation
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Applies Zoe depth processing to image
|
|
|
|
*/
|
|
|
|
ZoeDepthImageProcessorInvocation: {
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Id
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The id of this node. Must be unique among all nodes.
|
|
|
|
*/
|
|
|
|
id: string;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Is Intermediate
|
|
|
|
* @description Whether or not this node is an intermediate node.
|
2023-06-23 09:14:13 +00:00
|
|
|
* @default false
|
|
|
|
*/
|
|
|
|
is_intermediate?: boolean;
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Type
|
|
|
|
* @default zoe_depth_image_processor
|
2023-06-23 09:14:13 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
type?: "zoe_depth_image_processor";
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Image
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description The image to process
|
|
|
|
*/
|
2023-07-13 05:22:18 +00:00
|
|
|
image?: components["schemas"]["ImageField"];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
|
|
|
/**
|
2023-07-24 12:25:39 +00:00
|
|
|
* StableDiffusion2ModelFormat
|
2023-07-13 05:22:18 +00:00
|
|
|
* @description An enumeration.
|
2023-06-23 09:14:13 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-24 12:25:39 +00:00
|
|
|
StableDiffusion2ModelFormat: "checkpoint" | "diffusers";
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-24 12:25:39 +00:00
|
|
|
* StableDiffusionXLModelFormat
|
2023-07-13 05:22:18 +00:00
|
|
|
* @description An enumeration.
|
2023-06-23 09:14:13 +00:00
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-24 12:25:39 +00:00
|
|
|
StableDiffusionXLModelFormat: "checkpoint" | "diffusers";
|
2023-07-18 02:01:56 +00:00
|
|
|
/**
|
2023-07-24 12:25:39 +00:00
|
|
|
* StableDiffusion1ModelFormat
|
2023-07-18 02:01:56 +00:00
|
|
|
* @description An enumeration.
|
|
|
|
* @enum {string}
|
|
|
|
*/
|
2023-07-24 12:25:39 +00:00
|
|
|
StableDiffusion1ModelFormat: "checkpoint" | "diffusers";
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
|
|
|
responses: never;
|
|
|
|
parameters: never;
|
|
|
|
requestBodies: never;
|
|
|
|
headers: never;
|
|
|
|
pathItems: never;
|
|
|
|
};
|
|
|
|
|
|
|
|
export type external = Record<string, never>;
|
|
|
|
|
|
|
|
export type operations = {
|
2023-07-13 05:22:18 +00:00
|
|
|
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* List Sessions
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Gets a list of sessions, optionally searching
|
|
|
|
*/
|
|
|
|
list_sessions: {
|
|
|
|
parameters: {
|
|
|
|
query?: {
|
|
|
|
/** @description The page of results to get */
|
|
|
|
page?: number;
|
|
|
|
/** @description The number of results per page */
|
|
|
|
per_page?: number;
|
|
|
|
/** @description The query string to search for */
|
|
|
|
query?: string;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
responses: {
|
|
|
|
/** @description Successful Response */
|
|
|
|
200: {
|
|
|
|
content: {
|
2023-07-13 05:22:18 +00:00
|
|
|
"application/json": components["schemas"]["PaginatedResults_GraphExecutionState_"];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
/** @description Validation Error */
|
|
|
|
422: {
|
|
|
|
content: {
|
2023-07-13 05:22:18 +00:00
|
|
|
"application/json": components["schemas"]["HTTPValidationError"];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Create Session
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Creates a new session, optionally initializing it with an invocation graph
|
|
|
|
*/
|
|
|
|
create_session: {
|
|
|
|
requestBody?: {
|
|
|
|
content: {
|
2023-07-13 05:22:18 +00:00
|
|
|
"application/json": components["schemas"]["Graph"];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
responses: {
|
|
|
|
/** @description Successful Response */
|
|
|
|
200: {
|
|
|
|
content: {
|
2023-07-13 05:22:18 +00:00
|
|
|
"application/json": components["schemas"]["GraphExecutionState"];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
/** @description Invalid json */
|
|
|
|
400: never;
|
|
|
|
/** @description Validation Error */
|
|
|
|
422: {
|
|
|
|
content: {
|
2023-07-13 05:22:18 +00:00
|
|
|
"application/json": components["schemas"]["HTTPValidationError"];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Get Session
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Gets a session
|
|
|
|
*/
|
|
|
|
get_session: {
|
|
|
|
parameters: {
|
|
|
|
path: {
|
|
|
|
/** @description The id of the session to get */
|
|
|
|
session_id: string;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
responses: {
|
|
|
|
/** @description Successful Response */
|
|
|
|
200: {
|
|
|
|
content: {
|
2023-07-13 05:22:18 +00:00
|
|
|
"application/json": components["schemas"]["GraphExecutionState"];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
/** @description Session not found */
|
|
|
|
404: never;
|
|
|
|
/** @description Validation Error */
|
|
|
|
422: {
|
|
|
|
content: {
|
2023-07-13 05:22:18 +00:00
|
|
|
"application/json": components["schemas"]["HTTPValidationError"];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Add Node
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Adds a node to the graph
|
|
|
|
*/
|
|
|
|
add_node: {
|
|
|
|
parameters: {
|
|
|
|
path: {
|
|
|
|
/** @description The id of the session */
|
|
|
|
session_id: string;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
requestBody: {
|
|
|
|
content: {
|
2023-07-24 12:25:39 +00:00
|
|
|
"application/json": components["schemas"]["ControlNetInvocation"] | components["schemas"]["ImageProcessorInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["LoraLoaderInvocation"] | components["schemas"]["VaeLoaderInvocation"] | components["schemas"]["MetadataAccumulatorInvocation"] | components["schemas"]["LoadImageInvocation"] | components["schemas"]["ShowImageInvocation"] | components["schemas"]["ImageCropInvocation"] | components["schemas"]["ImagePasteInvocation"] | components["schemas"]["MaskFromAlphaInvocation"] | components["schemas"]["ImageMultiplyInvocation"] | components["schemas"]["ImageChannelInvocation"] | components["schemas"]["ImageConvertInvocation"] | components["schemas"]["ImageBlurInvocation"] | components["schemas"]["ImageResizeInvocation"] | components["schemas"]["ImageScaleInvocation"] | components["schemas"]["ImageLerpInvocation"] | components["schemas"]["ImageInverseLerpInvocation"] | components["schemas"]["ImageNSFWBlurInvocation"] | components["schemas"]["ImageWatermarkInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["SDXLRawPromptInvocation"] | components["schemas"]["SDXLRefinerRawPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["TextToLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["InpaintInvocation"] | components["schemas"]["AddInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["ParamIntInvocation"] | components["schemas"]["ParamFloatInvocation"] | components["schemas"]["ParamStringInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["SDXLTextToLatentsInvocation"] | components["schemas"]["SDXLLatentsToLatentsInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["StepParamEasingInvocation"] | components["schemas"]["GraphInvocation"] | components["schemas"]["IterateInvocation"] | components["schemas"]["CollectInvocation"] | components["schemas"]["CannyImageProcessorInvocation"] | components["schemas"]["HedImageProcessorInvocation"] | components["schemas"]["LineartImageProcessorInvocation"] | components["schemas"]["LineartAnimeImageProcessorInvocation"] | components["schemas"]["OpenposeImageProcessorInvocation"] | components["schemas"]["MidasDepthImageProcessorInvocation"] | components["schemas"]["NormalbaeImageProcessorInvocation"] | components["schemas"]["MlsdImageProcessorInvocation"] | components["schemas"]["PidiImageProcessorInvocation"] | components["schemas"]["ContentShuffleImageProcessorInvocation"] | components["schemas"]["ZoeDepthImageProcessorInvocation"] | components["schemas"]["MediapipeFaceProcessorInvocation"] | components["schemas"]["LeresImageProcessorInvocation"] | components["schemas"]["TileResamplerProcessorInvocation"] | components["schemas"]["SegmentAnythingProcessorInvocation"] | components["schemas"]["LatentsToLatentsInvocation"];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
responses: {
|
|
|
|
/** @description Successful Response */
|
|
|
|
200: {
|
|
|
|
content: {
|
2023-07-13 05:22:18 +00:00
|
|
|
"application/json": string;
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
/** @description Invalid node or link */
|
|
|
|
400: never;
|
|
|
|
/** @description Session not found */
|
|
|
|
404: never;
|
|
|
|
/** @description Validation Error */
|
|
|
|
422: {
|
|
|
|
content: {
|
2023-07-13 05:22:18 +00:00
|
|
|
"application/json": components["schemas"]["HTTPValidationError"];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Update Node
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Updates a node in the graph and removes all linked edges
|
|
|
|
*/
|
|
|
|
update_node: {
|
|
|
|
parameters: {
|
|
|
|
path: {
|
|
|
|
/** @description The id of the session */
|
|
|
|
session_id: string;
|
|
|
|
/** @description The path to the node in the graph */
|
|
|
|
node_path: string;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
requestBody: {
|
|
|
|
content: {
|
2023-07-24 12:25:39 +00:00
|
|
|
"application/json": components["schemas"]["ControlNetInvocation"] | components["schemas"]["ImageProcessorInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["LoraLoaderInvocation"] | components["schemas"]["VaeLoaderInvocation"] | components["schemas"]["MetadataAccumulatorInvocation"] | components["schemas"]["LoadImageInvocation"] | components["schemas"]["ShowImageInvocation"] | components["schemas"]["ImageCropInvocation"] | components["schemas"]["ImagePasteInvocation"] | components["schemas"]["MaskFromAlphaInvocation"] | components["schemas"]["ImageMultiplyInvocation"] | components["schemas"]["ImageChannelInvocation"] | components["schemas"]["ImageConvertInvocation"] | components["schemas"]["ImageBlurInvocation"] | components["schemas"]["ImageResizeInvocation"] | components["schemas"]["ImageScaleInvocation"] | components["schemas"]["ImageLerpInvocation"] | components["schemas"]["ImageInverseLerpInvocation"] | components["schemas"]["ImageNSFWBlurInvocation"] | components["schemas"]["ImageWatermarkInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["SDXLRawPromptInvocation"] | components["schemas"]["SDXLRefinerRawPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["TextToLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["InpaintInvocation"] | components["schemas"]["AddInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["ParamIntInvocation"] | components["schemas"]["ParamFloatInvocation"] | components["schemas"]["ParamStringInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["SDXLTextToLatentsInvocation"] | components["schemas"]["SDXLLatentsToLatentsInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["StepParamEasingInvocation"] | components["schemas"]["GraphInvocation"] | components["schemas"]["IterateInvocation"] | components["schemas"]["CollectInvocation"] | components["schemas"]["CannyImageProcessorInvocation"] | components["schemas"]["HedImageProcessorInvocation"] | components["schemas"]["LineartImageProcessorInvocation"] | components["schemas"]["LineartAnimeImageProcessorInvocation"] | components["schemas"]["OpenposeImageProcessorInvocation"] | components["schemas"]["MidasDepthImageProcessorInvocation"] | components["schemas"]["NormalbaeImageProcessorInvocation"] | components["schemas"]["MlsdImageProcessorInvocation"] | components["schemas"]["PidiImageProcessorInvocation"] | components["schemas"]["ContentShuffleImageProcessorInvocation"] | components["schemas"]["ZoeDepthImageProcessorInvocation"] | components["schemas"]["MediapipeFaceProcessorInvocation"] | components["schemas"]["LeresImageProcessorInvocation"] | components["schemas"]["TileResamplerProcessorInvocation"] | components["schemas"]["SegmentAnythingProcessorInvocation"] | components["schemas"]["LatentsToLatentsInvocation"];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
responses: {
|
|
|
|
/** @description Successful Response */
|
|
|
|
200: {
|
|
|
|
content: {
|
2023-07-13 05:22:18 +00:00
|
|
|
"application/json": components["schemas"]["GraphExecutionState"];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
/** @description Invalid node or link */
|
|
|
|
400: never;
|
|
|
|
/** @description Session not found */
|
|
|
|
404: never;
|
|
|
|
/** @description Validation Error */
|
|
|
|
422: {
|
|
|
|
content: {
|
2023-07-13 05:22:18 +00:00
|
|
|
"application/json": components["schemas"]["HTTPValidationError"];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Delete Node
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Deletes a node in the graph and removes all linked edges
|
|
|
|
*/
|
|
|
|
delete_node: {
|
|
|
|
parameters: {
|
|
|
|
path: {
|
|
|
|
/** @description The id of the session */
|
|
|
|
session_id: string;
|
|
|
|
/** @description The path to the node to delete */
|
|
|
|
node_path: string;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
responses: {
|
|
|
|
/** @description Successful Response */
|
|
|
|
200: {
|
|
|
|
content: {
|
2023-07-13 05:22:18 +00:00
|
|
|
"application/json": components["schemas"]["GraphExecutionState"];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
/** @description Invalid node or link */
|
|
|
|
400: never;
|
|
|
|
/** @description Session not found */
|
|
|
|
404: never;
|
|
|
|
/** @description Validation Error */
|
|
|
|
422: {
|
|
|
|
content: {
|
2023-07-13 05:22:18 +00:00
|
|
|
"application/json": components["schemas"]["HTTPValidationError"];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Add Edge
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Adds an edge to the graph
|
|
|
|
*/
|
|
|
|
add_edge: {
|
|
|
|
parameters: {
|
|
|
|
path: {
|
|
|
|
/** @description The id of the session */
|
|
|
|
session_id: string;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
requestBody: {
|
|
|
|
content: {
|
2023-07-13 05:22:18 +00:00
|
|
|
"application/json": components["schemas"]["Edge"];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
responses: {
|
|
|
|
/** @description Successful Response */
|
|
|
|
200: {
|
|
|
|
content: {
|
2023-07-13 05:22:18 +00:00
|
|
|
"application/json": components["schemas"]["GraphExecutionState"];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
/** @description Invalid node or link */
|
|
|
|
400: never;
|
|
|
|
/** @description Session not found */
|
|
|
|
404: never;
|
|
|
|
/** @description Validation Error */
|
|
|
|
422: {
|
|
|
|
content: {
|
2023-07-13 05:22:18 +00:00
|
|
|
"application/json": components["schemas"]["HTTPValidationError"];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Delete Edge
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Deletes an edge from the graph
|
|
|
|
*/
|
|
|
|
delete_edge: {
|
|
|
|
parameters: {
|
|
|
|
path: {
|
|
|
|
/** @description The id of the session */
|
|
|
|
session_id: string;
|
|
|
|
/** @description The id of the node the edge is coming from */
|
|
|
|
from_node_id: string;
|
|
|
|
/** @description The field of the node the edge is coming from */
|
|
|
|
from_field: string;
|
|
|
|
/** @description The id of the node the edge is going to */
|
|
|
|
to_node_id: string;
|
|
|
|
/** @description The field of the node the edge is going to */
|
|
|
|
to_field: string;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
responses: {
|
|
|
|
/** @description Successful Response */
|
|
|
|
200: {
|
|
|
|
content: {
|
2023-07-13 05:22:18 +00:00
|
|
|
"application/json": components["schemas"]["GraphExecutionState"];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
/** @description Invalid node or link */
|
|
|
|
400: never;
|
|
|
|
/** @description Session not found */
|
|
|
|
404: never;
|
|
|
|
/** @description Validation Error */
|
|
|
|
422: {
|
|
|
|
content: {
|
2023-07-13 05:22:18 +00:00
|
|
|
"application/json": components["schemas"]["HTTPValidationError"];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Invoke Session
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Invokes a session
|
|
|
|
*/
|
|
|
|
invoke_session: {
|
|
|
|
parameters: {
|
|
|
|
query?: {
|
|
|
|
/** @description Whether or not to invoke all remaining invocations */
|
|
|
|
all?: boolean;
|
|
|
|
};
|
|
|
|
path: {
|
|
|
|
/** @description The id of the session to invoke */
|
|
|
|
session_id: string;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
responses: {
|
|
|
|
/** @description Successful Response */
|
|
|
|
200: {
|
|
|
|
content: {
|
2023-07-13 05:22:18 +00:00
|
|
|
"application/json": unknown;
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
/** @description The invocation is queued */
|
|
|
|
202: never;
|
|
|
|
/** @description The session has no invocations ready to invoke */
|
|
|
|
400: never;
|
|
|
|
/** @description Session not found */
|
|
|
|
404: never;
|
|
|
|
/** @description Validation Error */
|
|
|
|
422: {
|
|
|
|
content: {
|
2023-07-13 05:22:18 +00:00
|
|
|
"application/json": components["schemas"]["HTTPValidationError"];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Cancel Session Invoke
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Invokes a session
|
|
|
|
*/
|
|
|
|
cancel_session_invoke: {
|
|
|
|
parameters: {
|
|
|
|
path: {
|
|
|
|
/** @description The id of the session to cancel */
|
|
|
|
session_id: string;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
responses: {
|
|
|
|
/** @description Successful Response */
|
|
|
|
200: {
|
|
|
|
content: {
|
2023-07-13 05:22:18 +00:00
|
|
|
"application/json": unknown;
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
/** @description The invocation is canceled */
|
|
|
|
202: never;
|
|
|
|
/** @description Validation Error */
|
|
|
|
422: {
|
|
|
|
content: {
|
2023-07-13 05:22:18 +00:00
|
|
|
"application/json": components["schemas"]["HTTPValidationError"];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* List Models
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Gets a list of models
|
|
|
|
*/
|
|
|
|
list_models: {
|
|
|
|
parameters: {
|
|
|
|
query?: {
|
2023-07-18 02:01:56 +00:00
|
|
|
/** @description Base models to include */
|
|
|
|
base_models?: (components["schemas"]["BaseModelType"])[];
|
2023-06-23 09:14:13 +00:00
|
|
|
/** @description The type of model to get */
|
2023-07-13 05:22:18 +00:00
|
|
|
model_type?: components["schemas"]["ModelType"];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
responses: {
|
|
|
|
/** @description Successful Response */
|
|
|
|
200: {
|
|
|
|
content: {
|
2023-07-13 05:22:18 +00:00
|
|
|
"application/json": components["schemas"]["ModelsList"];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
/** @description Validation Error */
|
|
|
|
422: {
|
|
|
|
content: {
|
2023-07-13 05:22:18 +00:00
|
|
|
"application/json": components["schemas"]["HTTPValidationError"];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
2023-07-15 15:06:57 +00:00
|
|
|
/**
|
|
|
|
* Delete Model
|
|
|
|
* @description Delete Model
|
|
|
|
*/
|
|
|
|
del_model: {
|
|
|
|
parameters: {
|
|
|
|
path: {
|
|
|
|
/** @description Base model */
|
|
|
|
base_model: components["schemas"]["BaseModelType"];
|
|
|
|
/** @description The type of model */
|
|
|
|
model_type: components["schemas"]["ModelType"];
|
|
|
|
/** @description model name */
|
|
|
|
model_name: string;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
responses: {
|
|
|
|
/** @description Model deleted successfully */
|
|
|
|
204: never;
|
|
|
|
/** @description Model not found */
|
|
|
|
404: never;
|
|
|
|
/** @description Validation Error */
|
|
|
|
422: {
|
|
|
|
content: {
|
|
|
|
"application/json": components["schemas"]["HTTPValidationError"];
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
/**
|
|
|
|
* Update Model
|
2023-07-17 01:50:35 +00:00
|
|
|
* @description Update model contents with a new config. If the model name or base fields are changed, then the model is renamed.
|
2023-07-15 15:06:57 +00:00
|
|
|
*/
|
|
|
|
update_model: {
|
|
|
|
parameters: {
|
|
|
|
path: {
|
|
|
|
/** @description Base model */
|
|
|
|
base_model: components["schemas"]["BaseModelType"];
|
|
|
|
/** @description The type of model */
|
|
|
|
model_type: components["schemas"]["ModelType"];
|
|
|
|
/** @description model name */
|
|
|
|
model_name: string;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
requestBody: {
|
|
|
|
content: {
|
2023-07-18 02:01:56 +00:00
|
|
|
"application/json": components["schemas"]["StableDiffusion1ModelCheckpointConfig"] | components["schemas"]["StableDiffusion1ModelDiffusersConfig"] | components["schemas"]["VaeModelConfig"] | components["schemas"]["LoRAModelConfig"] | components["schemas"]["ControlNetModelConfig"] | components["schemas"]["TextualInversionModelConfig"] | components["schemas"]["StableDiffusion2ModelCheckpointConfig"] | components["schemas"]["StableDiffusion2ModelDiffusersConfig"] | components["schemas"]["StableDiffusionXLModelCheckpointConfig"] | components["schemas"]["StableDiffusionXLModelDiffusersConfig"];
|
2023-07-15 15:06:57 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
responses: {
|
|
|
|
/** @description The model was updated successfully */
|
|
|
|
200: {
|
|
|
|
content: {
|
2023-07-18 02:01:56 +00:00
|
|
|
"application/json": components["schemas"]["StableDiffusion1ModelCheckpointConfig"] | components["schemas"]["StableDiffusion1ModelDiffusersConfig"] | components["schemas"]["VaeModelConfig"] | components["schemas"]["LoRAModelConfig"] | components["schemas"]["ControlNetModelConfig"] | components["schemas"]["TextualInversionModelConfig"] | components["schemas"]["StableDiffusion2ModelCheckpointConfig"] | components["schemas"]["StableDiffusion2ModelDiffusersConfig"] | components["schemas"]["StableDiffusionXLModelCheckpointConfig"] | components["schemas"]["StableDiffusionXLModelDiffusersConfig"];
|
2023-07-15 15:06:57 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
/** @description Bad request */
|
|
|
|
400: never;
|
|
|
|
/** @description The model could not be found */
|
|
|
|
404: never;
|
2023-07-17 01:50:35 +00:00
|
|
|
/** @description There is already a model corresponding to the new name */
|
|
|
|
409: never;
|
2023-07-15 15:06:57 +00:00
|
|
|
/** @description Validation Error */
|
|
|
|
422: {
|
|
|
|
content: {
|
|
|
|
"application/json": components["schemas"]["HTTPValidationError"];
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Import Model
|
2023-07-15 15:06:57 +00:00
|
|
|
* @description Add a model using its local path, repo_id, or remote URL. Model characteristics will be probed and configured automatically
|
2023-06-23 09:14:13 +00:00
|
|
|
*/
|
2023-07-07 06:08:30 +00:00
|
|
|
import_model: {
|
2023-06-23 09:14:13 +00:00
|
|
|
requestBody: {
|
|
|
|
content: {
|
2023-07-13 05:22:18 +00:00
|
|
|
"application/json": components["schemas"]["Body_import_model"];
|
2023-07-07 06:08:30 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
responses: {
|
|
|
|
/** @description The model imported successfully */
|
|
|
|
201: {
|
|
|
|
content: {
|
2023-07-18 02:01:56 +00:00
|
|
|
"application/json": components["schemas"]["StableDiffusion1ModelCheckpointConfig"] | components["schemas"]["StableDiffusion1ModelDiffusersConfig"] | components["schemas"]["VaeModelConfig"] | components["schemas"]["LoRAModelConfig"] | components["schemas"]["ControlNetModelConfig"] | components["schemas"]["TextualInversionModelConfig"] | components["schemas"]["StableDiffusion2ModelCheckpointConfig"] | components["schemas"]["StableDiffusion2ModelDiffusersConfig"] | components["schemas"]["StableDiffusionXLModelCheckpointConfig"] | components["schemas"]["StableDiffusionXLModelDiffusersConfig"];
|
2023-07-07 06:08:30 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
/** @description The model could not be found */
|
|
|
|
404: never;
|
|
|
|
/** @description There is already a model corresponding to this path or repo_id */
|
|
|
|
409: never;
|
2023-07-18 03:18:31 +00:00
|
|
|
/** @description Unrecognized file/folder format */
|
|
|
|
415: never;
|
2023-07-07 06:08:30 +00:00
|
|
|
/** @description Validation Error */
|
|
|
|
422: {
|
|
|
|
content: {
|
2023-07-13 05:22:18 +00:00
|
|
|
"application/json": components["schemas"]["HTTPValidationError"];
|
2023-07-07 06:08:30 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
/** @description The model appeared to import successfully, but could not be found in the model manager */
|
|
|
|
424: never;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
/**
|
2023-07-15 15:06:57 +00:00
|
|
|
* Add Model
|
|
|
|
* @description Add a model using the configuration information appropriate for its type. Only local models can be added by path
|
2023-07-07 06:08:30 +00:00
|
|
|
*/
|
2023-07-15 15:06:57 +00:00
|
|
|
add_model: {
|
|
|
|
requestBody: {
|
|
|
|
content: {
|
2023-07-18 02:01:56 +00:00
|
|
|
"application/json": components["schemas"]["StableDiffusion1ModelCheckpointConfig"] | components["schemas"]["StableDiffusion1ModelDiffusersConfig"] | components["schemas"]["VaeModelConfig"] | components["schemas"]["LoRAModelConfig"] | components["schemas"]["ControlNetModelConfig"] | components["schemas"]["TextualInversionModelConfig"] | components["schemas"]["StableDiffusion2ModelCheckpointConfig"] | components["schemas"]["StableDiffusion2ModelDiffusersConfig"] | components["schemas"]["StableDiffusionXLModelCheckpointConfig"] | components["schemas"]["StableDiffusionXLModelDiffusersConfig"];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
responses: {
|
2023-07-15 15:06:57 +00:00
|
|
|
/** @description The model added successfully */
|
|
|
|
201: {
|
2023-06-23 09:14:13 +00:00
|
|
|
content: {
|
2023-07-18 02:01:56 +00:00
|
|
|
"application/json": components["schemas"]["StableDiffusion1ModelCheckpointConfig"] | components["schemas"]["StableDiffusion1ModelDiffusersConfig"] | components["schemas"]["VaeModelConfig"] | components["schemas"]["LoRAModelConfig"] | components["schemas"]["ControlNetModelConfig"] | components["schemas"]["TextualInversionModelConfig"] | components["schemas"]["StableDiffusion2ModelCheckpointConfig"] | components["schemas"]["StableDiffusion2ModelDiffusersConfig"] | components["schemas"]["StableDiffusionXLModelCheckpointConfig"] | components["schemas"]["StableDiffusionXLModelDiffusersConfig"];
|
2023-07-04 05:04:01 +00:00
|
|
|
};
|
|
|
|
};
|
2023-07-15 15:06:57 +00:00
|
|
|
/** @description The model could not be found */
|
2023-07-07 06:08:30 +00:00
|
|
|
404: never;
|
2023-07-15 15:06:57 +00:00
|
|
|
/** @description There is already a model corresponding to this path or repo_id */
|
|
|
|
409: never;
|
2023-07-04 05:04:01 +00:00
|
|
|
/** @description Validation Error */
|
|
|
|
422: {
|
|
|
|
content: {
|
2023-07-13 05:22:18 +00:00
|
|
|
"application/json": components["schemas"]["HTTPValidationError"];
|
2023-07-04 05:04:01 +00:00
|
|
|
};
|
|
|
|
};
|
2023-07-15 15:06:57 +00:00
|
|
|
/** @description The model appeared to add successfully, but could not be found in the model manager */
|
|
|
|
424: never;
|
2023-07-04 05:04:01 +00:00
|
|
|
};
|
|
|
|
};
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Convert Model
|
2023-07-15 15:06:57 +00:00
|
|
|
* @description Convert a checkpoint model into a diffusers model, optionally saving to the indicated destination directory, or `models` if none.
|
2023-06-23 09:14:13 +00:00
|
|
|
*/
|
2023-07-07 06:08:30 +00:00
|
|
|
convert_model: {
|
2023-06-23 09:14:13 +00:00
|
|
|
parameters: {
|
2023-07-15 15:06:57 +00:00
|
|
|
query?: {
|
|
|
|
/** @description Save the converted model to the designated directory */
|
|
|
|
convert_dest_directory?: string;
|
|
|
|
};
|
2023-06-23 09:14:13 +00:00
|
|
|
path: {
|
2023-07-07 06:08:30 +00:00
|
|
|
/** @description Base model */
|
2023-07-13 05:22:18 +00:00
|
|
|
base_model: components["schemas"]["BaseModelType"];
|
2023-07-07 06:08:30 +00:00
|
|
|
/** @description The type of model */
|
2023-07-13 05:22:18 +00:00
|
|
|
model_type: components["schemas"]["ModelType"];
|
2023-07-07 06:08:30 +00:00
|
|
|
/** @description model name */
|
2023-06-23 09:14:13 +00:00
|
|
|
model_name: string;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
responses: {
|
2023-07-07 06:08:30 +00:00
|
|
|
/** @description Model converted successfully */
|
2023-06-23 09:14:13 +00:00
|
|
|
200: {
|
|
|
|
content: {
|
2023-07-18 02:01:56 +00:00
|
|
|
"application/json": components["schemas"]["StableDiffusion1ModelCheckpointConfig"] | components["schemas"]["StableDiffusion1ModelDiffusersConfig"] | components["schemas"]["VaeModelConfig"] | components["schemas"]["LoRAModelConfig"] | components["schemas"]["ControlNetModelConfig"] | components["schemas"]["TextualInversionModelConfig"] | components["schemas"]["StableDiffusion2ModelCheckpointConfig"] | components["schemas"]["StableDiffusion2ModelDiffusersConfig"] | components["schemas"]["StableDiffusionXLModelCheckpointConfig"] | components["schemas"]["StableDiffusionXLModelDiffusersConfig"];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
|
|
|
};
|
2023-07-07 06:08:30 +00:00
|
|
|
/** @description Bad request */
|
|
|
|
400: never;
|
2023-06-23 09:14:13 +00:00
|
|
|
/** @description Model not found */
|
|
|
|
404: never;
|
|
|
|
/** @description Validation Error */
|
|
|
|
422: {
|
|
|
|
content: {
|
2023-07-13 05:22:18 +00:00
|
|
|
"application/json": components["schemas"]["HTTPValidationError"];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
2023-07-15 15:06:57 +00:00
|
|
|
/** Search For Models */
|
|
|
|
search_for_models: {
|
|
|
|
parameters: {
|
|
|
|
query: {
|
|
|
|
/** @description Directory path to search for models */
|
|
|
|
search_path: string;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
responses: {
|
|
|
|
/** @description Directory searched successfully */
|
|
|
|
200: {
|
|
|
|
content: {
|
|
|
|
"application/json": (string)[];
|
|
|
|
};
|
|
|
|
};
|
|
|
|
/** @description Invalid directory path */
|
|
|
|
404: never;
|
|
|
|
/** @description Validation Error */
|
|
|
|
422: {
|
|
|
|
content: {
|
|
|
|
"application/json": components["schemas"]["HTTPValidationError"];
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
/**
|
|
|
|
* List Ckpt Configs
|
|
|
|
* @description Return a list of the legacy checkpoint configuration files stored in `ROOT/configs/stable-diffusion`, relative to ROOT.
|
|
|
|
*/
|
|
|
|
list_ckpt_configs: {
|
|
|
|
responses: {
|
|
|
|
/** @description paths retrieved successfully */
|
|
|
|
200: {
|
|
|
|
content: {
|
|
|
|
"application/json": (string)[];
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
/**
|
|
|
|
* Sync To Config
|
|
|
|
* @description Call after making changes to models.yaml, autoimport directories or models directory to synchronize
|
|
|
|
* in-memory data structures with disk data structures.
|
|
|
|
*/
|
|
|
|
sync_to_config: {
|
|
|
|
responses: {
|
|
|
|
/** @description synchronization successful */
|
|
|
|
201: {
|
|
|
|
content: {
|
2023-07-20 06:50:43 +00:00
|
|
|
"application/json": boolean;
|
2023-07-15 15:06:57 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
2023-07-07 06:08:30 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Merge Models
|
2023-07-07 06:08:30 +00:00
|
|
|
* @description Convert a checkpoint model into a diffusers model
|
|
|
|
*/
|
|
|
|
merge_models: {
|
|
|
|
parameters: {
|
|
|
|
path: {
|
|
|
|
/** @description Base model */
|
2023-07-13 05:22:18 +00:00
|
|
|
base_model: components["schemas"]["BaseModelType"];
|
2023-07-07 06:08:30 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
requestBody: {
|
|
|
|
content: {
|
2023-07-13 05:22:18 +00:00
|
|
|
"application/json": components["schemas"]["Body_merge_models"];
|
2023-07-07 06:08:30 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
responses: {
|
|
|
|
/** @description Model converted successfully */
|
|
|
|
200: {
|
|
|
|
content: {
|
2023-07-18 02:01:56 +00:00
|
|
|
"application/json": components["schemas"]["StableDiffusion1ModelCheckpointConfig"] | components["schemas"]["StableDiffusion1ModelDiffusersConfig"] | components["schemas"]["VaeModelConfig"] | components["schemas"]["LoRAModelConfig"] | components["schemas"]["ControlNetModelConfig"] | components["schemas"]["TextualInversionModelConfig"] | components["schemas"]["StableDiffusion2ModelCheckpointConfig"] | components["schemas"]["StableDiffusion2ModelDiffusersConfig"] | components["schemas"]["StableDiffusionXLModelCheckpointConfig"] | components["schemas"]["StableDiffusionXLModelDiffusersConfig"];
|
2023-07-07 06:08:30 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
/** @description Incompatible models */
|
|
|
|
400: never;
|
|
|
|
/** @description One or more models not found */
|
|
|
|
404: never;
|
|
|
|
/** @description Validation Error */
|
|
|
|
422: {
|
|
|
|
content: {
|
2023-07-13 05:22:18 +00:00
|
|
|
"application/json": components["schemas"]["HTTPValidationError"];
|
2023-07-07 06:08:30 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* List Image Dtos
|
2023-07-12 15:15:09 +00:00
|
|
|
* @description Gets a list of image DTOs
|
2023-06-23 09:14:13 +00:00
|
|
|
*/
|
2023-07-12 15:15:09 +00:00
|
|
|
list_image_dtos: {
|
2023-06-23 09:14:13 +00:00
|
|
|
parameters: {
|
|
|
|
query?: {
|
feat(ui): another go at gallery (#3791)
* feat(ui): migrate listImages to RTK query using createEntityAdapter
- see comments in `endpoints/images.ts` for explanation of the caching
- so far, only manually updating `all` images when new image is generated. no other manual cache updates are implemented, but will be needed.
- fixed some weirdness with loading state components (like the spinners in gallery)
- added `useThumbnailFallback` for `IAIDndImage`, this displays the tiny webp thumbnail while the full-size images load
- comment out some old thunk related stuff in gallerySlice, which is no longer needed
* feat(ui): add manual cache updates for board changes (wip)
- update RTK Query caches when adding/removing single image to/from board
- work more on migrating all image-related operations to RTK Query
* update AddImagesToBoardContext so that it works when user uses context menu + modal
* handle case where no image is selected
* get assets working for main list and boards - dnd only
* feat(ui): migrate image uploads to RTK Query
- minor refactor of `ImageUploader` and `useImageUploadButton` hooks, simplify some logic
- style filesystem upload overlay to match existing UI
- replace all old `imageUploaded` thunks with `uploadImage` RTK Query calls, update associated logic including canvas related uploads
- simplify `PostUploadAction`s that only need to display user input
* feat(ui): remove `receivedPageOfImages` thunks
* feat(ui): remove `receivedImageUrls` thunk
* feat(ui): finish removing all images thunks
stuff now broken:
- image usage
- delete board images
- on first load, no image selected
* feat(ui): simplify `updateImage` cache manipulation
- we don't actually ever change categories, so we can remove a lot of logic
* feat(ui): simplify canvas autosave
- instead of using a network request to set the canvas generation as not intermediate, we can just do that in the graph
* feat(ui): simplify & handle edge cases in cache updates
* feat(db, api): support `board_id='none'` for `get_many` images queries
This allows us to get all images that are not on a board.
* chore(ui): regen types
* feat(ui): add `All Assets`, `No Board` boards
Restructure boards:
- `all images` is all images
- `all assets` is all assets
- `no board` is all images/assets without a board set
- user boards may have images and assets
Update caching logic
- much simpler without every board having sub-views of images and assets
- update drag and drop operations for all possible interactions
* chore(ui): regen types
* feat(ui): move download to top of context menu
* feat(ui): improve drop overlay styles
* fix(ui): fix image not selected on first load
- listen for first load of all images board, then select the first image
* feat(ui): refactor board deletion
api changes:
- add route to list all image names for a board. this is required to handle board + image deletion. we need to know every image in the board to determine the image usage across the app. this is fetched only when the delete board and images modal is opened so it's as efficient as it can be.
- update the delete board route to respond with a list of deleted `board_images` and `images`, as image names. this is needed to perform accurate clientside state & cache updates after deleting.
db changes:
- remove unused `board_images` service method to get paginated images dtos for a board. this is now done thru the list images endpoint & images service. needs a small logic change on `images.delete_images_on_board`
ui changes:
- simplify the delete board modal - no context, just minor prop drilling. this is feasible for boards only because the components that need to trigger and manipulate the modal are very close together in the tree
- add cache updates for `deleteBoard` & `deleteBoardAndImages` mutations
- the only thing we cannot do directly is on `deleteBoardAndImages`, update the `No Board` board. we'd need to insert image dtos that we may not have loaded. instead, i am just invalidating the tags for that `listImages` cache. so when you `deleteBoardAndImages`, the `No Board` will re-fetch the initial image limit. i think this is more efficient than e.g. fetching all image dtos to insert then inserting them.
- handle image usage for `deleteBoardAndImages`
- update all (i think/hope) the little bits and pieces in the UI to accomodate these changes
* fix(ui): fix board selection logic
* feat(ui): add delete board modal loading state
* fix(ui): use thumbnails for board cover images
* fix(ui): fix race condition with board selection
when selecting a board that doesn't have any images loaded, we need to wait until the images haveloaded before selecting the first image.
this logic is debounced to ~1000ms.
* feat(ui): name 'No Board' correctly, change icon
* fix(ui): do not cache listAllImageNames query
if we cache it, we can end up with stale image usage during deletion.
we could of course manually update the cache as we are doing elsewhere. but because this is a relatively infrequent network request, i'd like to trade increased cache mgmt complexity here for increased resource usage.
* feat(ui): reduce drag preview opacity, remove border
* fix(ui): fix incorrect queryArg used in `deleteImage` and `updateImage` cache updates
* fix(ui): fix doubled open in new tab
* fix(ui): fix new generations not getting added to 'No Board'
* fix(ui): fix board id not changing on new image when autosave enabled
* fix(ui): context menu when selection is 0
need to revise how context menu is triggered later, when we approach multi select
* fix(ui): fix deleting does not update counts for all images and all assets
* fix(ui): fix all assets board name in boards list collapse button
* fix(ui): ensure we never go under 0 for total board count
* fix(ui): fix text overflow on board names
---------
Co-authored-by: Mary Hipp <maryhipp@Marys-MacBook-Air.local>
2023-07-19 16:06:38 +00:00
|
|
|
/** @description The origin of images to list. */
|
2023-07-13 05:22:18 +00:00
|
|
|
image_origin?: components["schemas"]["ResourceOrigin"];
|
feat(ui): another go at gallery (#3791)
* feat(ui): migrate listImages to RTK query using createEntityAdapter
- see comments in `endpoints/images.ts` for explanation of the caching
- so far, only manually updating `all` images when new image is generated. no other manual cache updates are implemented, but will be needed.
- fixed some weirdness with loading state components (like the spinners in gallery)
- added `useThumbnailFallback` for `IAIDndImage`, this displays the tiny webp thumbnail while the full-size images load
- comment out some old thunk related stuff in gallerySlice, which is no longer needed
* feat(ui): add manual cache updates for board changes (wip)
- update RTK Query caches when adding/removing single image to/from board
- work more on migrating all image-related operations to RTK Query
* update AddImagesToBoardContext so that it works when user uses context menu + modal
* handle case where no image is selected
* get assets working for main list and boards - dnd only
* feat(ui): migrate image uploads to RTK Query
- minor refactor of `ImageUploader` and `useImageUploadButton` hooks, simplify some logic
- style filesystem upload overlay to match existing UI
- replace all old `imageUploaded` thunks with `uploadImage` RTK Query calls, update associated logic including canvas related uploads
- simplify `PostUploadAction`s that only need to display user input
* feat(ui): remove `receivedPageOfImages` thunks
* feat(ui): remove `receivedImageUrls` thunk
* feat(ui): finish removing all images thunks
stuff now broken:
- image usage
- delete board images
- on first load, no image selected
* feat(ui): simplify `updateImage` cache manipulation
- we don't actually ever change categories, so we can remove a lot of logic
* feat(ui): simplify canvas autosave
- instead of using a network request to set the canvas generation as not intermediate, we can just do that in the graph
* feat(ui): simplify & handle edge cases in cache updates
* feat(db, api): support `board_id='none'` for `get_many` images queries
This allows us to get all images that are not on a board.
* chore(ui): regen types
* feat(ui): add `All Assets`, `No Board` boards
Restructure boards:
- `all images` is all images
- `all assets` is all assets
- `no board` is all images/assets without a board set
- user boards may have images and assets
Update caching logic
- much simpler without every board having sub-views of images and assets
- update drag and drop operations for all possible interactions
* chore(ui): regen types
* feat(ui): move download to top of context menu
* feat(ui): improve drop overlay styles
* fix(ui): fix image not selected on first load
- listen for first load of all images board, then select the first image
* feat(ui): refactor board deletion
api changes:
- add route to list all image names for a board. this is required to handle board + image deletion. we need to know every image in the board to determine the image usage across the app. this is fetched only when the delete board and images modal is opened so it's as efficient as it can be.
- update the delete board route to respond with a list of deleted `board_images` and `images`, as image names. this is needed to perform accurate clientside state & cache updates after deleting.
db changes:
- remove unused `board_images` service method to get paginated images dtos for a board. this is now done thru the list images endpoint & images service. needs a small logic change on `images.delete_images_on_board`
ui changes:
- simplify the delete board modal - no context, just minor prop drilling. this is feasible for boards only because the components that need to trigger and manipulate the modal are very close together in the tree
- add cache updates for `deleteBoard` & `deleteBoardAndImages` mutations
- the only thing we cannot do directly is on `deleteBoardAndImages`, update the `No Board` board. we'd need to insert image dtos that we may not have loaded. instead, i am just invalidating the tags for that `listImages` cache. so when you `deleteBoardAndImages`, the `No Board` will re-fetch the initial image limit. i think this is more efficient than e.g. fetching all image dtos to insert then inserting them.
- handle image usage for `deleteBoardAndImages`
- update all (i think/hope) the little bits and pieces in the UI to accomodate these changes
* fix(ui): fix board selection logic
* feat(ui): add delete board modal loading state
* fix(ui): use thumbnails for board cover images
* fix(ui): fix race condition with board selection
when selecting a board that doesn't have any images loaded, we need to wait until the images haveloaded before selecting the first image.
this logic is debounced to ~1000ms.
* feat(ui): name 'No Board' correctly, change icon
* fix(ui): do not cache listAllImageNames query
if we cache it, we can end up with stale image usage during deletion.
we could of course manually update the cache as we are doing elsewhere. but because this is a relatively infrequent network request, i'd like to trade increased cache mgmt complexity here for increased resource usage.
* feat(ui): reduce drag preview opacity, remove border
* fix(ui): fix incorrect queryArg used in `deleteImage` and `updateImage` cache updates
* fix(ui): fix doubled open in new tab
* fix(ui): fix new generations not getting added to 'No Board'
* fix(ui): fix board id not changing on new image when autosave enabled
* fix(ui): context menu when selection is 0
need to revise how context menu is triggered later, when we approach multi select
* fix(ui): fix deleting does not update counts for all images and all assets
* fix(ui): fix all assets board name in boards list collapse button
* fix(ui): ensure we never go under 0 for total board count
* fix(ui): fix text overflow on board names
---------
Co-authored-by: Mary Hipp <maryhipp@Marys-MacBook-Air.local>
2023-07-19 16:06:38 +00:00
|
|
|
/** @description The categories of image to include. */
|
2023-07-13 05:22:18 +00:00
|
|
|
categories?: (components["schemas"]["ImageCategory"])[];
|
feat(ui): another go at gallery (#3791)
* feat(ui): migrate listImages to RTK query using createEntityAdapter
- see comments in `endpoints/images.ts` for explanation of the caching
- so far, only manually updating `all` images when new image is generated. no other manual cache updates are implemented, but will be needed.
- fixed some weirdness with loading state components (like the spinners in gallery)
- added `useThumbnailFallback` for `IAIDndImage`, this displays the tiny webp thumbnail while the full-size images load
- comment out some old thunk related stuff in gallerySlice, which is no longer needed
* feat(ui): add manual cache updates for board changes (wip)
- update RTK Query caches when adding/removing single image to/from board
- work more on migrating all image-related operations to RTK Query
* update AddImagesToBoardContext so that it works when user uses context menu + modal
* handle case where no image is selected
* get assets working for main list and boards - dnd only
* feat(ui): migrate image uploads to RTK Query
- minor refactor of `ImageUploader` and `useImageUploadButton` hooks, simplify some logic
- style filesystem upload overlay to match existing UI
- replace all old `imageUploaded` thunks with `uploadImage` RTK Query calls, update associated logic including canvas related uploads
- simplify `PostUploadAction`s that only need to display user input
* feat(ui): remove `receivedPageOfImages` thunks
* feat(ui): remove `receivedImageUrls` thunk
* feat(ui): finish removing all images thunks
stuff now broken:
- image usage
- delete board images
- on first load, no image selected
* feat(ui): simplify `updateImage` cache manipulation
- we don't actually ever change categories, so we can remove a lot of logic
* feat(ui): simplify canvas autosave
- instead of using a network request to set the canvas generation as not intermediate, we can just do that in the graph
* feat(ui): simplify & handle edge cases in cache updates
* feat(db, api): support `board_id='none'` for `get_many` images queries
This allows us to get all images that are not on a board.
* chore(ui): regen types
* feat(ui): add `All Assets`, `No Board` boards
Restructure boards:
- `all images` is all images
- `all assets` is all assets
- `no board` is all images/assets without a board set
- user boards may have images and assets
Update caching logic
- much simpler without every board having sub-views of images and assets
- update drag and drop operations for all possible interactions
* chore(ui): regen types
* feat(ui): move download to top of context menu
* feat(ui): improve drop overlay styles
* fix(ui): fix image not selected on first load
- listen for first load of all images board, then select the first image
* feat(ui): refactor board deletion
api changes:
- add route to list all image names for a board. this is required to handle board + image deletion. we need to know every image in the board to determine the image usage across the app. this is fetched only when the delete board and images modal is opened so it's as efficient as it can be.
- update the delete board route to respond with a list of deleted `board_images` and `images`, as image names. this is needed to perform accurate clientside state & cache updates after deleting.
db changes:
- remove unused `board_images` service method to get paginated images dtos for a board. this is now done thru the list images endpoint & images service. needs a small logic change on `images.delete_images_on_board`
ui changes:
- simplify the delete board modal - no context, just minor prop drilling. this is feasible for boards only because the components that need to trigger and manipulate the modal are very close together in the tree
- add cache updates for `deleteBoard` & `deleteBoardAndImages` mutations
- the only thing we cannot do directly is on `deleteBoardAndImages`, update the `No Board` board. we'd need to insert image dtos that we may not have loaded. instead, i am just invalidating the tags for that `listImages` cache. so when you `deleteBoardAndImages`, the `No Board` will re-fetch the initial image limit. i think this is more efficient than e.g. fetching all image dtos to insert then inserting them.
- handle image usage for `deleteBoardAndImages`
- update all (i think/hope) the little bits and pieces in the UI to accomodate these changes
* fix(ui): fix board selection logic
* feat(ui): add delete board modal loading state
* fix(ui): use thumbnails for board cover images
* fix(ui): fix race condition with board selection
when selecting a board that doesn't have any images loaded, we need to wait until the images haveloaded before selecting the first image.
this logic is debounced to ~1000ms.
* feat(ui): name 'No Board' correctly, change icon
* fix(ui): do not cache listAllImageNames query
if we cache it, we can end up with stale image usage during deletion.
we could of course manually update the cache as we are doing elsewhere. but because this is a relatively infrequent network request, i'd like to trade increased cache mgmt complexity here for increased resource usage.
* feat(ui): reduce drag preview opacity, remove border
* fix(ui): fix incorrect queryArg used in `deleteImage` and `updateImage` cache updates
* fix(ui): fix doubled open in new tab
* fix(ui): fix new generations not getting added to 'No Board'
* fix(ui): fix board id not changing on new image when autosave enabled
* fix(ui): context menu when selection is 0
need to revise how context menu is triggered later, when we approach multi select
* fix(ui): fix deleting does not update counts for all images and all assets
* fix(ui): fix all assets board name in boards list collapse button
* fix(ui): ensure we never go under 0 for total board count
* fix(ui): fix text overflow on board names
---------
Co-authored-by: Mary Hipp <maryhipp@Marys-MacBook-Air.local>
2023-07-19 16:06:38 +00:00
|
|
|
/** @description Whether to list intermediate images. */
|
2023-06-23 09:14:13 +00:00
|
|
|
is_intermediate?: boolean;
|
feat(ui): another go at gallery (#3791)
* feat(ui): migrate listImages to RTK query using createEntityAdapter
- see comments in `endpoints/images.ts` for explanation of the caching
- so far, only manually updating `all` images when new image is generated. no other manual cache updates are implemented, but will be needed.
- fixed some weirdness with loading state components (like the spinners in gallery)
- added `useThumbnailFallback` for `IAIDndImage`, this displays the tiny webp thumbnail while the full-size images load
- comment out some old thunk related stuff in gallerySlice, which is no longer needed
* feat(ui): add manual cache updates for board changes (wip)
- update RTK Query caches when adding/removing single image to/from board
- work more on migrating all image-related operations to RTK Query
* update AddImagesToBoardContext so that it works when user uses context menu + modal
* handle case where no image is selected
* get assets working for main list and boards - dnd only
* feat(ui): migrate image uploads to RTK Query
- minor refactor of `ImageUploader` and `useImageUploadButton` hooks, simplify some logic
- style filesystem upload overlay to match existing UI
- replace all old `imageUploaded` thunks with `uploadImage` RTK Query calls, update associated logic including canvas related uploads
- simplify `PostUploadAction`s that only need to display user input
* feat(ui): remove `receivedPageOfImages` thunks
* feat(ui): remove `receivedImageUrls` thunk
* feat(ui): finish removing all images thunks
stuff now broken:
- image usage
- delete board images
- on first load, no image selected
* feat(ui): simplify `updateImage` cache manipulation
- we don't actually ever change categories, so we can remove a lot of logic
* feat(ui): simplify canvas autosave
- instead of using a network request to set the canvas generation as not intermediate, we can just do that in the graph
* feat(ui): simplify & handle edge cases in cache updates
* feat(db, api): support `board_id='none'` for `get_many` images queries
This allows us to get all images that are not on a board.
* chore(ui): regen types
* feat(ui): add `All Assets`, `No Board` boards
Restructure boards:
- `all images` is all images
- `all assets` is all assets
- `no board` is all images/assets without a board set
- user boards may have images and assets
Update caching logic
- much simpler without every board having sub-views of images and assets
- update drag and drop operations for all possible interactions
* chore(ui): regen types
* feat(ui): move download to top of context menu
* feat(ui): improve drop overlay styles
* fix(ui): fix image not selected on first load
- listen for first load of all images board, then select the first image
* feat(ui): refactor board deletion
api changes:
- add route to list all image names for a board. this is required to handle board + image deletion. we need to know every image in the board to determine the image usage across the app. this is fetched only when the delete board and images modal is opened so it's as efficient as it can be.
- update the delete board route to respond with a list of deleted `board_images` and `images`, as image names. this is needed to perform accurate clientside state & cache updates after deleting.
db changes:
- remove unused `board_images` service method to get paginated images dtos for a board. this is now done thru the list images endpoint & images service. needs a small logic change on `images.delete_images_on_board`
ui changes:
- simplify the delete board modal - no context, just minor prop drilling. this is feasible for boards only because the components that need to trigger and manipulate the modal are very close together in the tree
- add cache updates for `deleteBoard` & `deleteBoardAndImages` mutations
- the only thing we cannot do directly is on `deleteBoardAndImages`, update the `No Board` board. we'd need to insert image dtos that we may not have loaded. instead, i am just invalidating the tags for that `listImages` cache. so when you `deleteBoardAndImages`, the `No Board` will re-fetch the initial image limit. i think this is more efficient than e.g. fetching all image dtos to insert then inserting them.
- handle image usage for `deleteBoardAndImages`
- update all (i think/hope) the little bits and pieces in the UI to accomodate these changes
* fix(ui): fix board selection logic
* feat(ui): add delete board modal loading state
* fix(ui): use thumbnails for board cover images
* fix(ui): fix race condition with board selection
when selecting a board that doesn't have any images loaded, we need to wait until the images haveloaded before selecting the first image.
this logic is debounced to ~1000ms.
* feat(ui): name 'No Board' correctly, change icon
* fix(ui): do not cache listAllImageNames query
if we cache it, we can end up with stale image usage during deletion.
we could of course manually update the cache as we are doing elsewhere. but because this is a relatively infrequent network request, i'd like to trade increased cache mgmt complexity here for increased resource usage.
* feat(ui): reduce drag preview opacity, remove border
* fix(ui): fix incorrect queryArg used in `deleteImage` and `updateImage` cache updates
* fix(ui): fix doubled open in new tab
* fix(ui): fix new generations not getting added to 'No Board'
* fix(ui): fix board id not changing on new image when autosave enabled
* fix(ui): context menu when selection is 0
need to revise how context menu is triggered later, when we approach multi select
* fix(ui): fix deleting does not update counts for all images and all assets
* fix(ui): fix all assets board name in boards list collapse button
* fix(ui): ensure we never go under 0 for total board count
* fix(ui): fix text overflow on board names
---------
Co-authored-by: Mary Hipp <maryhipp@Marys-MacBook-Air.local>
2023-07-19 16:06:38 +00:00
|
|
|
/** @description The board id to filter by. Use 'none' to find images without a board. */
|
2023-06-23 09:14:13 +00:00
|
|
|
board_id?: string;
|
|
|
|
/** @description The page offset */
|
|
|
|
offset?: number;
|
|
|
|
/** @description The number of images per page */
|
|
|
|
limit?: number;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
responses: {
|
|
|
|
/** @description Successful Response */
|
|
|
|
200: {
|
|
|
|
content: {
|
2023-07-13 05:22:18 +00:00
|
|
|
"application/json": components["schemas"]["OffsetPaginatedResults_ImageDTO_"];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
/** @description Validation Error */
|
|
|
|
422: {
|
|
|
|
content: {
|
2023-07-13 05:22:18 +00:00
|
|
|
"application/json": components["schemas"]["HTTPValidationError"];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Upload Image
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Uploads an image
|
|
|
|
*/
|
|
|
|
upload_image: {
|
|
|
|
parameters: {
|
|
|
|
query: {
|
|
|
|
/** @description The category of the image */
|
2023-07-13 05:22:18 +00:00
|
|
|
image_category: components["schemas"]["ImageCategory"];
|
2023-06-23 09:14:13 +00:00
|
|
|
/** @description Whether this is an intermediate image */
|
|
|
|
is_intermediate: boolean;
|
2023-07-21 07:45:12 +00:00
|
|
|
/** @description The board to add this image to, if any */
|
|
|
|
board_id?: string;
|
2023-06-23 09:14:13 +00:00
|
|
|
/** @description The session ID associated with this upload, if any */
|
|
|
|
session_id?: string;
|
2023-07-21 11:16:46 +00:00
|
|
|
/** @description Whether to crop the image */
|
|
|
|
crop_visible?: boolean;
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
requestBody: {
|
|
|
|
content: {
|
2023-07-13 05:22:18 +00:00
|
|
|
"multipart/form-data": components["schemas"]["Body_upload_image"];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
responses: {
|
|
|
|
/** @description The image was uploaded successfully */
|
|
|
|
201: {
|
|
|
|
content: {
|
2023-07-13 05:22:18 +00:00
|
|
|
"application/json": components["schemas"]["ImageDTO"];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
/** @description Image upload failed */
|
|
|
|
415: never;
|
|
|
|
/** @description Validation Error */
|
|
|
|
422: {
|
|
|
|
content: {
|
2023-07-13 05:22:18 +00:00
|
|
|
"application/json": components["schemas"]["HTTPValidationError"];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Get Image Dto
|
2023-07-12 15:15:09 +00:00
|
|
|
* @description Gets an image's DTO
|
2023-06-23 09:14:13 +00:00
|
|
|
*/
|
2023-07-12 15:15:09 +00:00
|
|
|
get_image_dto: {
|
2023-06-23 09:14:13 +00:00
|
|
|
parameters: {
|
|
|
|
path: {
|
2023-07-12 15:15:09 +00:00
|
|
|
/** @description The name of image to get */
|
2023-06-23 09:14:13 +00:00
|
|
|
image_name: string;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
responses: {
|
2023-07-12 15:15:09 +00:00
|
|
|
/** @description Successful Response */
|
2023-06-23 09:14:13 +00:00
|
|
|
200: {
|
|
|
|
content: {
|
2023-07-13 05:22:18 +00:00
|
|
|
"application/json": components["schemas"]["ImageDTO"];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
/** @description Validation Error */
|
|
|
|
422: {
|
|
|
|
content: {
|
2023-07-13 05:22:18 +00:00
|
|
|
"application/json": components["schemas"]["HTTPValidationError"];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Delete Image
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Deletes an image
|
|
|
|
*/
|
|
|
|
delete_image: {
|
|
|
|
parameters: {
|
|
|
|
path: {
|
|
|
|
/** @description The name of the image to delete */
|
|
|
|
image_name: string;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
responses: {
|
|
|
|
/** @description Successful Response */
|
|
|
|
200: {
|
|
|
|
content: {
|
2023-07-13 05:22:18 +00:00
|
|
|
"application/json": unknown;
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
/** @description Validation Error */
|
|
|
|
422: {
|
|
|
|
content: {
|
2023-07-13 05:22:18 +00:00
|
|
|
"application/json": components["schemas"]["HTTPValidationError"];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Update Image
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Updates an image
|
|
|
|
*/
|
|
|
|
update_image: {
|
|
|
|
parameters: {
|
|
|
|
path: {
|
|
|
|
/** @description The name of the image to update */
|
|
|
|
image_name: string;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
requestBody: {
|
|
|
|
content: {
|
2023-07-13 05:22:18 +00:00
|
|
|
"application/json": components["schemas"]["ImageRecordChanges"];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
responses: {
|
|
|
|
/** @description Successful Response */
|
|
|
|
200: {
|
|
|
|
content: {
|
2023-07-13 05:22:18 +00:00
|
|
|
"application/json": components["schemas"]["ImageDTO"];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
/** @description Validation Error */
|
|
|
|
422: {
|
|
|
|
content: {
|
2023-07-13 05:22:18 +00:00
|
|
|
"application/json": components["schemas"]["HTTPValidationError"];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
2023-07-19 14:55:29 +00:00
|
|
|
/**
|
|
|
|
* Clear Intermediates
|
2023-07-20 10:48:35 +00:00
|
|
|
* @description Clears all intermediates
|
2023-07-19 14:55:29 +00:00
|
|
|
*/
|
|
|
|
clear_intermediates: {
|
|
|
|
responses: {
|
|
|
|
/** @description Successful Response */
|
|
|
|
200: {
|
|
|
|
content: {
|
|
|
|
"application/json": unknown;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Get Image Metadata
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Gets an image's metadata
|
|
|
|
*/
|
|
|
|
get_image_metadata: {
|
|
|
|
parameters: {
|
|
|
|
path: {
|
|
|
|
/** @description The name of image to get */
|
|
|
|
image_name: string;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
responses: {
|
|
|
|
/** @description Successful Response */
|
|
|
|
200: {
|
|
|
|
content: {
|
2023-07-13 05:22:18 +00:00
|
|
|
"application/json": components["schemas"]["ImageMetadata"];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
/** @description Validation Error */
|
|
|
|
422: {
|
|
|
|
content: {
|
2023-07-13 05:22:18 +00:00
|
|
|
"application/json": components["schemas"]["HTTPValidationError"];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
2023-07-12 15:15:09 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Get Image Full
|
2023-07-12 15:15:09 +00:00
|
|
|
* @description Gets a full-resolution image file
|
|
|
|
*/
|
|
|
|
get_image_full: {
|
|
|
|
parameters: {
|
|
|
|
path: {
|
|
|
|
/** @description The name of full-resolution image file to get */
|
|
|
|
image_name: string;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
responses: {
|
|
|
|
/** @description Return the full-resolution image */
|
|
|
|
200: {
|
|
|
|
content: {
|
2023-07-13 05:22:18 +00:00
|
|
|
"image/png": unknown;
|
2023-07-12 15:15:09 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
/** @description Image not found */
|
|
|
|
404: never;
|
|
|
|
/** @description Validation Error */
|
|
|
|
422: {
|
|
|
|
content: {
|
2023-07-13 05:22:18 +00:00
|
|
|
"application/json": components["schemas"]["HTTPValidationError"];
|
2023-07-12 15:15:09 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
2023-06-23 09:14:13 +00:00
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Get Image Thumbnail
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Gets a thumbnail image file
|
|
|
|
*/
|
|
|
|
get_image_thumbnail: {
|
|
|
|
parameters: {
|
|
|
|
path: {
|
|
|
|
/** @description The name of thumbnail image file to get */
|
|
|
|
image_name: string;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
responses: {
|
|
|
|
/** @description Return the image thumbnail */
|
|
|
|
200: {
|
|
|
|
content: {
|
2023-07-13 05:22:18 +00:00
|
|
|
"image/webp": unknown;
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
/** @description Image not found */
|
|
|
|
404: never;
|
|
|
|
/** @description Validation Error */
|
|
|
|
422: {
|
|
|
|
content: {
|
2023-07-13 05:22:18 +00:00
|
|
|
"application/json": components["schemas"]["HTTPValidationError"];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Get Image Urls
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Gets an image and thumbnail URL
|
|
|
|
*/
|
|
|
|
get_image_urls: {
|
|
|
|
parameters: {
|
|
|
|
path: {
|
|
|
|
/** @description The name of the image whose URL to get */
|
|
|
|
image_name: string;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
responses: {
|
|
|
|
/** @description Successful Response */
|
|
|
|
200: {
|
|
|
|
content: {
|
2023-07-13 05:22:18 +00:00
|
|
|
"application/json": components["schemas"]["ImageUrlsDTO"];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
/** @description Validation Error */
|
|
|
|
422: {
|
|
|
|
content: {
|
2023-07-13 05:22:18 +00:00
|
|
|
"application/json": components["schemas"]["HTTPValidationError"];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* List Boards
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Gets a list of boards
|
|
|
|
*/
|
|
|
|
list_boards: {
|
|
|
|
parameters: {
|
|
|
|
query?: {
|
|
|
|
/** @description Whether to list all boards */
|
|
|
|
all?: boolean;
|
|
|
|
/** @description The page offset */
|
|
|
|
offset?: number;
|
|
|
|
/** @description The number of boards per page */
|
|
|
|
limit?: number;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
responses: {
|
|
|
|
/** @description Successful Response */
|
|
|
|
200: {
|
|
|
|
content: {
|
2023-07-13 05:22:18 +00:00
|
|
|
"application/json": components["schemas"]["OffsetPaginatedResults_BoardDTO_"] | (components["schemas"]["BoardDTO"])[];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
/** @description Validation Error */
|
|
|
|
422: {
|
|
|
|
content: {
|
2023-07-13 05:22:18 +00:00
|
|
|
"application/json": components["schemas"]["HTTPValidationError"];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Create Board
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Creates a board
|
|
|
|
*/
|
|
|
|
create_board: {
|
|
|
|
parameters: {
|
|
|
|
query: {
|
|
|
|
/** @description The name of the board to create */
|
|
|
|
board_name: string;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
responses: {
|
|
|
|
/** @description The board was created successfully */
|
|
|
|
201: {
|
|
|
|
content: {
|
2023-07-13 05:22:18 +00:00
|
|
|
"application/json": components["schemas"]["BoardDTO"];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
/** @description Validation Error */
|
|
|
|
422: {
|
|
|
|
content: {
|
2023-07-13 05:22:18 +00:00
|
|
|
"application/json": components["schemas"]["HTTPValidationError"];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Get Board
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Gets a board
|
|
|
|
*/
|
|
|
|
get_board: {
|
|
|
|
parameters: {
|
|
|
|
path: {
|
|
|
|
/** @description The id of board to get */
|
|
|
|
board_id: string;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
responses: {
|
|
|
|
/** @description Successful Response */
|
|
|
|
200: {
|
|
|
|
content: {
|
2023-07-13 05:22:18 +00:00
|
|
|
"application/json": components["schemas"]["BoardDTO"];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
/** @description Validation Error */
|
|
|
|
422: {
|
|
|
|
content: {
|
2023-07-13 05:22:18 +00:00
|
|
|
"application/json": components["schemas"]["HTTPValidationError"];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Delete Board
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Deletes a board
|
|
|
|
*/
|
|
|
|
delete_board: {
|
|
|
|
parameters: {
|
2023-07-03 14:09:18 +00:00
|
|
|
query?: {
|
|
|
|
/** @description Permanently delete all images on the board */
|
|
|
|
include_images?: boolean;
|
|
|
|
};
|
2023-06-23 09:14:13 +00:00
|
|
|
path: {
|
|
|
|
/** @description The id of board to delete */
|
|
|
|
board_id: string;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
responses: {
|
|
|
|
/** @description Successful Response */
|
|
|
|
200: {
|
|
|
|
content: {
|
feat(ui): another go at gallery (#3791)
* feat(ui): migrate listImages to RTK query using createEntityAdapter
- see comments in `endpoints/images.ts` for explanation of the caching
- so far, only manually updating `all` images when new image is generated. no other manual cache updates are implemented, but will be needed.
- fixed some weirdness with loading state components (like the spinners in gallery)
- added `useThumbnailFallback` for `IAIDndImage`, this displays the tiny webp thumbnail while the full-size images load
- comment out some old thunk related stuff in gallerySlice, which is no longer needed
* feat(ui): add manual cache updates for board changes (wip)
- update RTK Query caches when adding/removing single image to/from board
- work more on migrating all image-related operations to RTK Query
* update AddImagesToBoardContext so that it works when user uses context menu + modal
* handle case where no image is selected
* get assets working for main list and boards - dnd only
* feat(ui): migrate image uploads to RTK Query
- minor refactor of `ImageUploader` and `useImageUploadButton` hooks, simplify some logic
- style filesystem upload overlay to match existing UI
- replace all old `imageUploaded` thunks with `uploadImage` RTK Query calls, update associated logic including canvas related uploads
- simplify `PostUploadAction`s that only need to display user input
* feat(ui): remove `receivedPageOfImages` thunks
* feat(ui): remove `receivedImageUrls` thunk
* feat(ui): finish removing all images thunks
stuff now broken:
- image usage
- delete board images
- on first load, no image selected
* feat(ui): simplify `updateImage` cache manipulation
- we don't actually ever change categories, so we can remove a lot of logic
* feat(ui): simplify canvas autosave
- instead of using a network request to set the canvas generation as not intermediate, we can just do that in the graph
* feat(ui): simplify & handle edge cases in cache updates
* feat(db, api): support `board_id='none'` for `get_many` images queries
This allows us to get all images that are not on a board.
* chore(ui): regen types
* feat(ui): add `All Assets`, `No Board` boards
Restructure boards:
- `all images` is all images
- `all assets` is all assets
- `no board` is all images/assets without a board set
- user boards may have images and assets
Update caching logic
- much simpler without every board having sub-views of images and assets
- update drag and drop operations for all possible interactions
* chore(ui): regen types
* feat(ui): move download to top of context menu
* feat(ui): improve drop overlay styles
* fix(ui): fix image not selected on first load
- listen for first load of all images board, then select the first image
* feat(ui): refactor board deletion
api changes:
- add route to list all image names for a board. this is required to handle board + image deletion. we need to know every image in the board to determine the image usage across the app. this is fetched only when the delete board and images modal is opened so it's as efficient as it can be.
- update the delete board route to respond with a list of deleted `board_images` and `images`, as image names. this is needed to perform accurate clientside state & cache updates after deleting.
db changes:
- remove unused `board_images` service method to get paginated images dtos for a board. this is now done thru the list images endpoint & images service. needs a small logic change on `images.delete_images_on_board`
ui changes:
- simplify the delete board modal - no context, just minor prop drilling. this is feasible for boards only because the components that need to trigger and manipulate the modal are very close together in the tree
- add cache updates for `deleteBoard` & `deleteBoardAndImages` mutations
- the only thing we cannot do directly is on `deleteBoardAndImages`, update the `No Board` board. we'd need to insert image dtos that we may not have loaded. instead, i am just invalidating the tags for that `listImages` cache. so when you `deleteBoardAndImages`, the `No Board` will re-fetch the initial image limit. i think this is more efficient than e.g. fetching all image dtos to insert then inserting them.
- handle image usage for `deleteBoardAndImages`
- update all (i think/hope) the little bits and pieces in the UI to accomodate these changes
* fix(ui): fix board selection logic
* feat(ui): add delete board modal loading state
* fix(ui): use thumbnails for board cover images
* fix(ui): fix race condition with board selection
when selecting a board that doesn't have any images loaded, we need to wait until the images haveloaded before selecting the first image.
this logic is debounced to ~1000ms.
* feat(ui): name 'No Board' correctly, change icon
* fix(ui): do not cache listAllImageNames query
if we cache it, we can end up with stale image usage during deletion.
we could of course manually update the cache as we are doing elsewhere. but because this is a relatively infrequent network request, i'd like to trade increased cache mgmt complexity here for increased resource usage.
* feat(ui): reduce drag preview opacity, remove border
* fix(ui): fix incorrect queryArg used in `deleteImage` and `updateImage` cache updates
* fix(ui): fix doubled open in new tab
* fix(ui): fix new generations not getting added to 'No Board'
* fix(ui): fix board id not changing on new image when autosave enabled
* fix(ui): context menu when selection is 0
need to revise how context menu is triggered later, when we approach multi select
* fix(ui): fix deleting does not update counts for all images and all assets
* fix(ui): fix all assets board name in boards list collapse button
* fix(ui): ensure we never go under 0 for total board count
* fix(ui): fix text overflow on board names
---------
Co-authored-by: Mary Hipp <maryhipp@Marys-MacBook-Air.local>
2023-07-19 16:06:38 +00:00
|
|
|
"application/json": components["schemas"]["DeleteBoardResult"];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
/** @description Validation Error */
|
|
|
|
422: {
|
|
|
|
content: {
|
2023-07-13 05:22:18 +00:00
|
|
|
"application/json": components["schemas"]["HTTPValidationError"];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
/**
|
2023-07-13 05:22:18 +00:00
|
|
|
* Update Board
|
2023-06-23 09:14:13 +00:00
|
|
|
* @description Updates a board
|
|
|
|
*/
|
|
|
|
update_board: {
|
|
|
|
parameters: {
|
|
|
|
path: {
|
|
|
|
/** @description The id of board to update */
|
|
|
|
board_id: string;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
requestBody: {
|
|
|
|
content: {
|
2023-07-13 05:22:18 +00:00
|
|
|
"application/json": components["schemas"]["BoardChanges"];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
responses: {
|
|
|
|
/** @description The board was updated successfully */
|
|
|
|
201: {
|
|
|
|
content: {
|
2023-07-13 05:22:18 +00:00
|
|
|
"application/json": components["schemas"]["BoardDTO"];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
/** @description Validation Error */
|
|
|
|
422: {
|
|
|
|
content: {
|
2023-07-13 05:22:18 +00:00
|
|
|
"application/json": components["schemas"]["HTTPValidationError"];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
/**
|
feat(ui): another go at gallery (#3791)
* feat(ui): migrate listImages to RTK query using createEntityAdapter
- see comments in `endpoints/images.ts` for explanation of the caching
- so far, only manually updating `all` images when new image is generated. no other manual cache updates are implemented, but will be needed.
- fixed some weirdness with loading state components (like the spinners in gallery)
- added `useThumbnailFallback` for `IAIDndImage`, this displays the tiny webp thumbnail while the full-size images load
- comment out some old thunk related stuff in gallerySlice, which is no longer needed
* feat(ui): add manual cache updates for board changes (wip)
- update RTK Query caches when adding/removing single image to/from board
- work more on migrating all image-related operations to RTK Query
* update AddImagesToBoardContext so that it works when user uses context menu + modal
* handle case where no image is selected
* get assets working for main list and boards - dnd only
* feat(ui): migrate image uploads to RTK Query
- minor refactor of `ImageUploader` and `useImageUploadButton` hooks, simplify some logic
- style filesystem upload overlay to match existing UI
- replace all old `imageUploaded` thunks with `uploadImage` RTK Query calls, update associated logic including canvas related uploads
- simplify `PostUploadAction`s that only need to display user input
* feat(ui): remove `receivedPageOfImages` thunks
* feat(ui): remove `receivedImageUrls` thunk
* feat(ui): finish removing all images thunks
stuff now broken:
- image usage
- delete board images
- on first load, no image selected
* feat(ui): simplify `updateImage` cache manipulation
- we don't actually ever change categories, so we can remove a lot of logic
* feat(ui): simplify canvas autosave
- instead of using a network request to set the canvas generation as not intermediate, we can just do that in the graph
* feat(ui): simplify & handle edge cases in cache updates
* feat(db, api): support `board_id='none'` for `get_many` images queries
This allows us to get all images that are not on a board.
* chore(ui): regen types
* feat(ui): add `All Assets`, `No Board` boards
Restructure boards:
- `all images` is all images
- `all assets` is all assets
- `no board` is all images/assets without a board set
- user boards may have images and assets
Update caching logic
- much simpler without every board having sub-views of images and assets
- update drag and drop operations for all possible interactions
* chore(ui): regen types
* feat(ui): move download to top of context menu
* feat(ui): improve drop overlay styles
* fix(ui): fix image not selected on first load
- listen for first load of all images board, then select the first image
* feat(ui): refactor board deletion
api changes:
- add route to list all image names for a board. this is required to handle board + image deletion. we need to know every image in the board to determine the image usage across the app. this is fetched only when the delete board and images modal is opened so it's as efficient as it can be.
- update the delete board route to respond with a list of deleted `board_images` and `images`, as image names. this is needed to perform accurate clientside state & cache updates after deleting.
db changes:
- remove unused `board_images` service method to get paginated images dtos for a board. this is now done thru the list images endpoint & images service. needs a small logic change on `images.delete_images_on_board`
ui changes:
- simplify the delete board modal - no context, just minor prop drilling. this is feasible for boards only because the components that need to trigger and manipulate the modal are very close together in the tree
- add cache updates for `deleteBoard` & `deleteBoardAndImages` mutations
- the only thing we cannot do directly is on `deleteBoardAndImages`, update the `No Board` board. we'd need to insert image dtos that we may not have loaded. instead, i am just invalidating the tags for that `listImages` cache. so when you `deleteBoardAndImages`, the `No Board` will re-fetch the initial image limit. i think this is more efficient than e.g. fetching all image dtos to insert then inserting them.
- handle image usage for `deleteBoardAndImages`
- update all (i think/hope) the little bits and pieces in the UI to accomodate these changes
* fix(ui): fix board selection logic
* feat(ui): add delete board modal loading state
* fix(ui): use thumbnails for board cover images
* fix(ui): fix race condition with board selection
when selecting a board that doesn't have any images loaded, we need to wait until the images haveloaded before selecting the first image.
this logic is debounced to ~1000ms.
* feat(ui): name 'No Board' correctly, change icon
* fix(ui): do not cache listAllImageNames query
if we cache it, we can end up with stale image usage during deletion.
we could of course manually update the cache as we are doing elsewhere. but because this is a relatively infrequent network request, i'd like to trade increased cache mgmt complexity here for increased resource usage.
* feat(ui): reduce drag preview opacity, remove border
* fix(ui): fix incorrect queryArg used in `deleteImage` and `updateImage` cache updates
* fix(ui): fix doubled open in new tab
* fix(ui): fix new generations not getting added to 'No Board'
* fix(ui): fix board id not changing on new image when autosave enabled
* fix(ui): context menu when selection is 0
need to revise how context menu is triggered later, when we approach multi select
* fix(ui): fix deleting does not update counts for all images and all assets
* fix(ui): fix all assets board name in boards list collapse button
* fix(ui): ensure we never go under 0 for total board count
* fix(ui): fix text overflow on board names
---------
Co-authored-by: Mary Hipp <maryhipp@Marys-MacBook-Air.local>
2023-07-19 16:06:38 +00:00
|
|
|
* List All Board Image Names
|
|
|
|
* @description Gets a list of images for a board
|
2023-06-23 09:14:13 +00:00
|
|
|
*/
|
feat(ui): another go at gallery (#3791)
* feat(ui): migrate listImages to RTK query using createEntityAdapter
- see comments in `endpoints/images.ts` for explanation of the caching
- so far, only manually updating `all` images when new image is generated. no other manual cache updates are implemented, but will be needed.
- fixed some weirdness with loading state components (like the spinners in gallery)
- added `useThumbnailFallback` for `IAIDndImage`, this displays the tiny webp thumbnail while the full-size images load
- comment out some old thunk related stuff in gallerySlice, which is no longer needed
* feat(ui): add manual cache updates for board changes (wip)
- update RTK Query caches when adding/removing single image to/from board
- work more on migrating all image-related operations to RTK Query
* update AddImagesToBoardContext so that it works when user uses context menu + modal
* handle case where no image is selected
* get assets working for main list and boards - dnd only
* feat(ui): migrate image uploads to RTK Query
- minor refactor of `ImageUploader` and `useImageUploadButton` hooks, simplify some logic
- style filesystem upload overlay to match existing UI
- replace all old `imageUploaded` thunks with `uploadImage` RTK Query calls, update associated logic including canvas related uploads
- simplify `PostUploadAction`s that only need to display user input
* feat(ui): remove `receivedPageOfImages` thunks
* feat(ui): remove `receivedImageUrls` thunk
* feat(ui): finish removing all images thunks
stuff now broken:
- image usage
- delete board images
- on first load, no image selected
* feat(ui): simplify `updateImage` cache manipulation
- we don't actually ever change categories, so we can remove a lot of logic
* feat(ui): simplify canvas autosave
- instead of using a network request to set the canvas generation as not intermediate, we can just do that in the graph
* feat(ui): simplify & handle edge cases in cache updates
* feat(db, api): support `board_id='none'` for `get_many` images queries
This allows us to get all images that are not on a board.
* chore(ui): regen types
* feat(ui): add `All Assets`, `No Board` boards
Restructure boards:
- `all images` is all images
- `all assets` is all assets
- `no board` is all images/assets without a board set
- user boards may have images and assets
Update caching logic
- much simpler without every board having sub-views of images and assets
- update drag and drop operations for all possible interactions
* chore(ui): regen types
* feat(ui): move download to top of context menu
* feat(ui): improve drop overlay styles
* fix(ui): fix image not selected on first load
- listen for first load of all images board, then select the first image
* feat(ui): refactor board deletion
api changes:
- add route to list all image names for a board. this is required to handle board + image deletion. we need to know every image in the board to determine the image usage across the app. this is fetched only when the delete board and images modal is opened so it's as efficient as it can be.
- update the delete board route to respond with a list of deleted `board_images` and `images`, as image names. this is needed to perform accurate clientside state & cache updates after deleting.
db changes:
- remove unused `board_images` service method to get paginated images dtos for a board. this is now done thru the list images endpoint & images service. needs a small logic change on `images.delete_images_on_board`
ui changes:
- simplify the delete board modal - no context, just minor prop drilling. this is feasible for boards only because the components that need to trigger and manipulate the modal are very close together in the tree
- add cache updates for `deleteBoard` & `deleteBoardAndImages` mutations
- the only thing we cannot do directly is on `deleteBoardAndImages`, update the `No Board` board. we'd need to insert image dtos that we may not have loaded. instead, i am just invalidating the tags for that `listImages` cache. so when you `deleteBoardAndImages`, the `No Board` will re-fetch the initial image limit. i think this is more efficient than e.g. fetching all image dtos to insert then inserting them.
- handle image usage for `deleteBoardAndImages`
- update all (i think/hope) the little bits and pieces in the UI to accomodate these changes
* fix(ui): fix board selection logic
* feat(ui): add delete board modal loading state
* fix(ui): use thumbnails for board cover images
* fix(ui): fix race condition with board selection
when selecting a board that doesn't have any images loaded, we need to wait until the images haveloaded before selecting the first image.
this logic is debounced to ~1000ms.
* feat(ui): name 'No Board' correctly, change icon
* fix(ui): do not cache listAllImageNames query
if we cache it, we can end up with stale image usage during deletion.
we could of course manually update the cache as we are doing elsewhere. but because this is a relatively infrequent network request, i'd like to trade increased cache mgmt complexity here for increased resource usage.
* feat(ui): reduce drag preview opacity, remove border
* fix(ui): fix incorrect queryArg used in `deleteImage` and `updateImage` cache updates
* fix(ui): fix doubled open in new tab
* fix(ui): fix new generations not getting added to 'No Board'
* fix(ui): fix board id not changing on new image when autosave enabled
* fix(ui): context menu when selection is 0
need to revise how context menu is triggered later, when we approach multi select
* fix(ui): fix deleting does not update counts for all images and all assets
* fix(ui): fix all assets board name in boards list collapse button
* fix(ui): ensure we never go under 0 for total board count
* fix(ui): fix text overflow on board names
---------
Co-authored-by: Mary Hipp <maryhipp@Marys-MacBook-Air.local>
2023-07-19 16:06:38 +00:00
|
|
|
list_all_board_image_names: {
|
|
|
|
parameters: {
|
|
|
|
path: {
|
|
|
|
/** @description The id of the board */
|
|
|
|
board_id: string;
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
responses: {
|
feat(ui): another go at gallery (#3791)
* feat(ui): migrate listImages to RTK query using createEntityAdapter
- see comments in `endpoints/images.ts` for explanation of the caching
- so far, only manually updating `all` images when new image is generated. no other manual cache updates are implemented, but will be needed.
- fixed some weirdness with loading state components (like the spinners in gallery)
- added `useThumbnailFallback` for `IAIDndImage`, this displays the tiny webp thumbnail while the full-size images load
- comment out some old thunk related stuff in gallerySlice, which is no longer needed
* feat(ui): add manual cache updates for board changes (wip)
- update RTK Query caches when adding/removing single image to/from board
- work more on migrating all image-related operations to RTK Query
* update AddImagesToBoardContext so that it works when user uses context menu + modal
* handle case where no image is selected
* get assets working for main list and boards - dnd only
* feat(ui): migrate image uploads to RTK Query
- minor refactor of `ImageUploader` and `useImageUploadButton` hooks, simplify some logic
- style filesystem upload overlay to match existing UI
- replace all old `imageUploaded` thunks with `uploadImage` RTK Query calls, update associated logic including canvas related uploads
- simplify `PostUploadAction`s that only need to display user input
* feat(ui): remove `receivedPageOfImages` thunks
* feat(ui): remove `receivedImageUrls` thunk
* feat(ui): finish removing all images thunks
stuff now broken:
- image usage
- delete board images
- on first load, no image selected
* feat(ui): simplify `updateImage` cache manipulation
- we don't actually ever change categories, so we can remove a lot of logic
* feat(ui): simplify canvas autosave
- instead of using a network request to set the canvas generation as not intermediate, we can just do that in the graph
* feat(ui): simplify & handle edge cases in cache updates
* feat(db, api): support `board_id='none'` for `get_many` images queries
This allows us to get all images that are not on a board.
* chore(ui): regen types
* feat(ui): add `All Assets`, `No Board` boards
Restructure boards:
- `all images` is all images
- `all assets` is all assets
- `no board` is all images/assets without a board set
- user boards may have images and assets
Update caching logic
- much simpler without every board having sub-views of images and assets
- update drag and drop operations for all possible interactions
* chore(ui): regen types
* feat(ui): move download to top of context menu
* feat(ui): improve drop overlay styles
* fix(ui): fix image not selected on first load
- listen for first load of all images board, then select the first image
* feat(ui): refactor board deletion
api changes:
- add route to list all image names for a board. this is required to handle board + image deletion. we need to know every image in the board to determine the image usage across the app. this is fetched only when the delete board and images modal is opened so it's as efficient as it can be.
- update the delete board route to respond with a list of deleted `board_images` and `images`, as image names. this is needed to perform accurate clientside state & cache updates after deleting.
db changes:
- remove unused `board_images` service method to get paginated images dtos for a board. this is now done thru the list images endpoint & images service. needs a small logic change on `images.delete_images_on_board`
ui changes:
- simplify the delete board modal - no context, just minor prop drilling. this is feasible for boards only because the components that need to trigger and manipulate the modal are very close together in the tree
- add cache updates for `deleteBoard` & `deleteBoardAndImages` mutations
- the only thing we cannot do directly is on `deleteBoardAndImages`, update the `No Board` board. we'd need to insert image dtos that we may not have loaded. instead, i am just invalidating the tags for that `listImages` cache. so when you `deleteBoardAndImages`, the `No Board` will re-fetch the initial image limit. i think this is more efficient than e.g. fetching all image dtos to insert then inserting them.
- handle image usage for `deleteBoardAndImages`
- update all (i think/hope) the little bits and pieces in the UI to accomodate these changes
* fix(ui): fix board selection logic
* feat(ui): add delete board modal loading state
* fix(ui): use thumbnails for board cover images
* fix(ui): fix race condition with board selection
when selecting a board that doesn't have any images loaded, we need to wait until the images haveloaded before selecting the first image.
this logic is debounced to ~1000ms.
* feat(ui): name 'No Board' correctly, change icon
* fix(ui): do not cache listAllImageNames query
if we cache it, we can end up with stale image usage during deletion.
we could of course manually update the cache as we are doing elsewhere. but because this is a relatively infrequent network request, i'd like to trade increased cache mgmt complexity here for increased resource usage.
* feat(ui): reduce drag preview opacity, remove border
* fix(ui): fix incorrect queryArg used in `deleteImage` and `updateImage` cache updates
* fix(ui): fix doubled open in new tab
* fix(ui): fix new generations not getting added to 'No Board'
* fix(ui): fix board id not changing on new image when autosave enabled
* fix(ui): context menu when selection is 0
need to revise how context menu is triggered later, when we approach multi select
* fix(ui): fix deleting does not update counts for all images and all assets
* fix(ui): fix all assets board name in boards list collapse button
* fix(ui): ensure we never go under 0 for total board count
* fix(ui): fix text overflow on board names
---------
Co-authored-by: Mary Hipp <maryhipp@Marys-MacBook-Air.local>
2023-07-19 16:06:38 +00:00
|
|
|
/** @description Successful Response */
|
|
|
|
200: {
|
2023-06-23 09:14:13 +00:00
|
|
|
content: {
|
feat(ui): another go at gallery (#3791)
* feat(ui): migrate listImages to RTK query using createEntityAdapter
- see comments in `endpoints/images.ts` for explanation of the caching
- so far, only manually updating `all` images when new image is generated. no other manual cache updates are implemented, but will be needed.
- fixed some weirdness with loading state components (like the spinners in gallery)
- added `useThumbnailFallback` for `IAIDndImage`, this displays the tiny webp thumbnail while the full-size images load
- comment out some old thunk related stuff in gallerySlice, which is no longer needed
* feat(ui): add manual cache updates for board changes (wip)
- update RTK Query caches when adding/removing single image to/from board
- work more on migrating all image-related operations to RTK Query
* update AddImagesToBoardContext so that it works when user uses context menu + modal
* handle case where no image is selected
* get assets working for main list and boards - dnd only
* feat(ui): migrate image uploads to RTK Query
- minor refactor of `ImageUploader` and `useImageUploadButton` hooks, simplify some logic
- style filesystem upload overlay to match existing UI
- replace all old `imageUploaded` thunks with `uploadImage` RTK Query calls, update associated logic including canvas related uploads
- simplify `PostUploadAction`s that only need to display user input
* feat(ui): remove `receivedPageOfImages` thunks
* feat(ui): remove `receivedImageUrls` thunk
* feat(ui): finish removing all images thunks
stuff now broken:
- image usage
- delete board images
- on first load, no image selected
* feat(ui): simplify `updateImage` cache manipulation
- we don't actually ever change categories, so we can remove a lot of logic
* feat(ui): simplify canvas autosave
- instead of using a network request to set the canvas generation as not intermediate, we can just do that in the graph
* feat(ui): simplify & handle edge cases in cache updates
* feat(db, api): support `board_id='none'` for `get_many` images queries
This allows us to get all images that are not on a board.
* chore(ui): regen types
* feat(ui): add `All Assets`, `No Board` boards
Restructure boards:
- `all images` is all images
- `all assets` is all assets
- `no board` is all images/assets without a board set
- user boards may have images and assets
Update caching logic
- much simpler without every board having sub-views of images and assets
- update drag and drop operations for all possible interactions
* chore(ui): regen types
* feat(ui): move download to top of context menu
* feat(ui): improve drop overlay styles
* fix(ui): fix image not selected on first load
- listen for first load of all images board, then select the first image
* feat(ui): refactor board deletion
api changes:
- add route to list all image names for a board. this is required to handle board + image deletion. we need to know every image in the board to determine the image usage across the app. this is fetched only when the delete board and images modal is opened so it's as efficient as it can be.
- update the delete board route to respond with a list of deleted `board_images` and `images`, as image names. this is needed to perform accurate clientside state & cache updates after deleting.
db changes:
- remove unused `board_images` service method to get paginated images dtos for a board. this is now done thru the list images endpoint & images service. needs a small logic change on `images.delete_images_on_board`
ui changes:
- simplify the delete board modal - no context, just minor prop drilling. this is feasible for boards only because the components that need to trigger and manipulate the modal are very close together in the tree
- add cache updates for `deleteBoard` & `deleteBoardAndImages` mutations
- the only thing we cannot do directly is on `deleteBoardAndImages`, update the `No Board` board. we'd need to insert image dtos that we may not have loaded. instead, i am just invalidating the tags for that `listImages` cache. so when you `deleteBoardAndImages`, the `No Board` will re-fetch the initial image limit. i think this is more efficient than e.g. fetching all image dtos to insert then inserting them.
- handle image usage for `deleteBoardAndImages`
- update all (i think/hope) the little bits and pieces in the UI to accomodate these changes
* fix(ui): fix board selection logic
* feat(ui): add delete board modal loading state
* fix(ui): use thumbnails for board cover images
* fix(ui): fix race condition with board selection
when selecting a board that doesn't have any images loaded, we need to wait until the images haveloaded before selecting the first image.
this logic is debounced to ~1000ms.
* feat(ui): name 'No Board' correctly, change icon
* fix(ui): do not cache listAllImageNames query
if we cache it, we can end up with stale image usage during deletion.
we could of course manually update the cache as we are doing elsewhere. but because this is a relatively infrequent network request, i'd like to trade increased cache mgmt complexity here for increased resource usage.
* feat(ui): reduce drag preview opacity, remove border
* fix(ui): fix incorrect queryArg used in `deleteImage` and `updateImage` cache updates
* fix(ui): fix doubled open in new tab
* fix(ui): fix new generations not getting added to 'No Board'
* fix(ui): fix board id not changing on new image when autosave enabled
* fix(ui): context menu when selection is 0
need to revise how context menu is triggered later, when we approach multi select
* fix(ui): fix deleting does not update counts for all images and all assets
* fix(ui): fix all assets board name in boards list collapse button
* fix(ui): ensure we never go under 0 for total board count
* fix(ui): fix text overflow on board names
---------
Co-authored-by: Mary Hipp <maryhipp@Marys-MacBook-Air.local>
2023-07-19 16:06:38 +00:00
|
|
|
"application/json": (string)[];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
/** @description Validation Error */
|
|
|
|
422: {
|
|
|
|
content: {
|
2023-07-13 05:22:18 +00:00
|
|
|
"application/json": components["schemas"]["HTTPValidationError"];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
/**
|
2023-07-19 16:36:39 +00:00
|
|
|
* Create Board Image
|
|
|
|
* @description Creates a board_image
|
2023-06-23 09:14:13 +00:00
|
|
|
*/
|
2023-07-19 16:36:39 +00:00
|
|
|
create_board_image: {
|
|
|
|
requestBody: {
|
|
|
|
content: {
|
|
|
|
"application/json": components["schemas"]["Body_create_board_image"];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
responses: {
|
2023-07-19 16:36:39 +00:00
|
|
|
/** @description The image was added to a board successfully */
|
|
|
|
201: {
|
2023-06-23 09:14:13 +00:00
|
|
|
content: {
|
2023-07-19 16:36:39 +00:00
|
|
|
"application/json": unknown;
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
/** @description Validation Error */
|
|
|
|
422: {
|
|
|
|
content: {
|
2023-07-13 05:22:18 +00:00
|
|
|
"application/json": components["schemas"]["HTTPValidationError"];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
/**
|
2023-07-19 16:36:39 +00:00
|
|
|
* Remove Board Image
|
|
|
|
* @description Deletes a board_image
|
2023-06-23 09:14:13 +00:00
|
|
|
*/
|
2023-07-19 16:36:39 +00:00
|
|
|
remove_board_image: {
|
2023-06-23 09:14:13 +00:00
|
|
|
requestBody: {
|
|
|
|
content: {
|
2023-07-19 16:36:39 +00:00
|
|
|
"application/json": components["schemas"]["Body_remove_board_image"];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
responses: {
|
2023-07-19 16:36:39 +00:00
|
|
|
/** @description The image was removed from the board successfully */
|
2023-06-23 09:14:13 +00:00
|
|
|
201: {
|
|
|
|
content: {
|
2023-07-13 05:22:18 +00:00
|
|
|
"application/json": unknown;
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
/** @description Validation Error */
|
|
|
|
422: {
|
|
|
|
content: {
|
2023-07-13 05:22:18 +00:00
|
|
|
"application/json": components["schemas"]["HTTPValidationError"];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
2023-07-08 09:31:17 +00:00
|
|
|
/** Get Version */
|
|
|
|
app_version: {
|
2023-06-23 09:14:13 +00:00
|
|
|
responses: {
|
2023-07-19 16:36:39 +00:00
|
|
|
/** @description Successful Response */
|
|
|
|
200: {
|
2023-06-23 09:14:13 +00:00
|
|
|
content: {
|
2023-07-13 05:22:18 +00:00
|
|
|
"application/json": components["schemas"]["AppVersion"];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
|
|
|
};
|
2023-07-12 15:56:40 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
/** Get Config */
|
|
|
|
get_config: {
|
|
|
|
responses: {
|
|
|
|
/** @description Successful Response */
|
|
|
|
200: {
|
2023-06-23 09:14:13 +00:00
|
|
|
content: {
|
2023-07-13 05:22:18 +00:00
|
|
|
"application/json": components["schemas"]["AppConfig"];
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
2023-07-20 15:45:54 +00:00
|
|
|
/**
|
|
|
|
* Get Log Level
|
|
|
|
* @description Returns the log level
|
|
|
|
*/
|
|
|
|
get_log_level: {
|
2023-07-08 09:31:17 +00:00
|
|
|
responses: {
|
2023-07-20 15:45:54 +00:00
|
|
|
/** @description The operation was successful */
|
2023-07-08 09:31:17 +00:00
|
|
|
200: {
|
|
|
|
content: {
|
2023-07-20 15:45:54 +00:00
|
|
|
"application/json": components["schemas"]["LogLevel"];
|
2023-07-12 15:56:40 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
2023-07-20 15:45:54 +00:00
|
|
|
/**
|
|
|
|
* Set Log Level
|
|
|
|
* @description Sets the log verbosity level
|
|
|
|
*/
|
|
|
|
set_log_level: {
|
|
|
|
requestBody: {
|
|
|
|
content: {
|
|
|
|
"application/json": components["schemas"]["LogLevel"];
|
|
|
|
};
|
|
|
|
};
|
2023-07-12 15:56:40 +00:00
|
|
|
responses: {
|
2023-07-20 15:45:54 +00:00
|
|
|
/** @description The operation was successful */
|
2023-07-12 15:56:40 +00:00
|
|
|
200: {
|
|
|
|
content: {
|
2023-07-20 15:45:54 +00:00
|
|
|
"application/json": components["schemas"]["LogLevel"];
|
|
|
|
};
|
|
|
|
};
|
|
|
|
/** @description Validation Error */
|
|
|
|
422: {
|
|
|
|
content: {
|
|
|
|
"application/json": components["schemas"]["HTTPValidationError"];
|
2023-07-08 09:31:17 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
2023-06-23 09:14:13 +00:00
|
|
|
};
|