diff --git a/invokeai/app/services/events/events_common.py b/invokeai/app/services/events/events_common.py index be114b70d0..9bc4a972cc 100644 --- a/invokeai/app/services/events/events_common.py +++ b/invokeai/app/services/events/events_common.py @@ -241,6 +241,7 @@ class QueueItemStatusChangedEvent(QueueItemEventBase): batch_status: BatchStatus = Field(description="The status of the batch") queue_status: SessionQueueStatus = Field(description="The status of the queue") session_id: str = Field(description="The ID of the session (aka graph execution state)") + credits: Optional[float] = Field(default=None, description="The total credits used for this queue item") @classmethod def build( @@ -263,6 +264,7 @@ class QueueItemStatusChangedEvent(QueueItemEventBase): completed_at=str(queue_item.completed_at) if queue_item.completed_at else None, batch_status=batch_status, queue_status=queue_status, + credits=queue_item.credits, ) diff --git a/invokeai/app/services/session_queue/session_queue_common.py b/invokeai/app/services/session_queue/session_queue_common.py index 8ff73ef022..9612331300 100644 --- a/invokeai/app/services/session_queue/session_queue_common.py +++ b/invokeai/app/services/session_queue/session_queue_common.py @@ -257,7 +257,7 @@ class SessionQueueItemWithoutGraph(BaseModel): api_output_fields: Optional[list[FieldIdentifier]] = Field( default=None, description="The nodes that were used as output from the API" ) - credits: Optional[int] = Field(default=None, description="The total credits used for this queue item") + credits: Optional[float] = Field(default=None, description="The total credits used for this queue item") @classmethod def queue_item_dto_from_dict(cls, queue_item_dict: dict) -> "SessionQueueItemDTO": diff --git a/invokeai/frontend/web/src/services/api/schema.ts b/invokeai/frontend/web/src/services/api/schema.ts index 2e7f8dfeab..787943245d 100644 --- a/invokeai/frontend/web/src/services/api/schema.ts +++ b/invokeai/frontend/web/src/services/api/schema.ts @@ -17209,6 +17209,12 @@ export type components = { * @description The ID of the session (aka graph execution state) */ session_id: string; + /** + * Credits + * @description The total credits used for this queue item + * @default null + */ + credits: number | null; }; /** * QueueItemsRetriedEvent diff --git a/invokeai/frontend/web/src/services/events/setEventListeners.tsx b/invokeai/frontend/web/src/services/events/setEventListeners.tsx index e7d7e33b32..15b5f545ed 100644 --- a/invokeai/frontend/web/src/services/events/setEventListeners.tsx +++ b/invokeai/frontend/web/src/services/events/setEventListeners.tsx @@ -337,6 +337,7 @@ export const setEventListeners = ({ socket, store, setIsConnected }: SetEventLis error_message, error_traceback, destination, + credits, } = data; log.debug({ data }, `Queue item ${item_id} status updated: ${status}`); @@ -354,6 +355,7 @@ export const setEventListeners = ({ socket, store, setIsConnected }: SetEventLis error_type, error_message, error_traceback, + credits, }, }); })