invoke-ai/InvokeAI · error · HTTPException

Failed to get queue item summaries

Error message

Failed to get queue item summaries

What it means

Catch-all in get_queue_item_summaries_by_ids: any exception from fetching summaries or sanitizing them per-user becomes a 500 with the static detail 'Failed to get queue item summaries'. As with error 144 the client gets no cause information; diagnostics require server logs.

Source

Thrown at invokeai/app/api/routers/session_queue.py:259

    responses={200: {"model": list[SessionQueueItemSummary]}},
)
def get_queue_item_summaries_by_ids(
    current_user: CurrentUserOrDefault,
    queue_id: str = Path(description="The queue id to perform this operation on"),
    item_ids: list[int] = Body(
        embed=True,
        max_length=MAX_QUEUE_ITEM_IDS_PER_REQUEST,
        description="Object containing list of queue item ids to fetch summaries for",
    ),
) -> list[SessionQueueItemSummary]:
    """Gets lightweight queue item summaries for specified IDs in requested order."""
    try:
        summaries = ApiDependencies.invoker.services.session_queue.get_queue_item_summaries_by_ids(
            queue_id=queue_id, item_ids=item_ids
        )
        return [sanitize_queue_item_for_user(item, current_user.user_id, current_user.is_admin) for item in summaries]
    except Exception:
        raise HTTPException(status_code=500, detail="Failed to get queue item summaries")


@session_queue_router.put(
    "/{queue_id}/processor/resume",
    operation_id="resume",
    responses={200: {"model": SessionProcessorStatus}},
)
def resume(
    current_user: AdminUserOrDefault,
    queue_id: str = Path(description="The queue id to perform this operation on"),
) -> SessionProcessorStatus:
    """Resumes session processor. Admin only."""
    try:
        return ApiDependencies.invoker.services.session_processor.resume()
    except Exception as e:
        raise HTTPException(status_code=500, detail=f"Unexpected error while resuming queue: {e}")

View on GitHub (pinned to 0b6a024f2f)

Solutions

  1. Look at the server-side traceback for the real exception
  2. Verify ids exist and belong to the given queue before batching the request
  3. If multiuser is on, inspect stored summaries for schema drift and repair/upgrade the DB
  4. Retry; treat as transient if it coincides with heavy DB activity
Defensive patterns

Strategy: try-catch

Validate before calling

const ids = await (await fetch(`/api/v1/queue/${queueId}/item_ids`)).json();
if (requestedIds.some(id => !ids.includes(id))) console.warn('some ids may have been deleted; summary fetch may fail');

Type guard

function isSummaryList(v) { return Array.isArray(v) && v.every(s => s && typeof s === 'object' && 'item_id' in s && 'status' in s); }

Try / catch

try {
  const res = await fetch(`/api/v1/queue/${queueId}/item_summaries_by_ids`, {method:'POST', headers:{'Content-Type':'application/json'}, body: JSON.stringify({item_ids: requestedIds})});
  if (!res.ok) return [];
  return await res.json();
} catch { return []; }

Prevention

When it happens

Trigger: POST /{queue_id}/item_summaries_by_ids when the queue service throws - unknown queue_id, DB failure, or sanitize_queue_item_for_user failing on a stored summary with unexpected shape.

Common situations: Requesting summaries for ids deleted moments earlier; mixed-version clients sending ids from a prior schema; multiuser mode where sanitizer input is malformed.

Related errors


AI-assisted analysis of invoke-ai/InvokeAI@0b6a024f2f (2026-08-29). Data as JSON: /api/errors/d1e754a37ba0c963. Report an issue: GitHub.