Query and explore Civitai Orchestration workflows, jobs, and results. Use for analyzing image/video generation jobs, viewing job results, searching by workflow ID, job ID, user, or date range.
Interact with the Civitai Orchestration API to query workflows, view job details, and retrieve generation results.
# Query workflows for a specific user
node .claude/skills/civitai-orchestration/civitai-client.js user 12345
# Get a specific workflow by ID
node .claude/skills/civitai-orchestration/civitai-client.js workflow <workflowId>
# Get job details with scan results (hive_csam_score, etc.)
node .claude/skills/civitai-orchestration/civitai-client.js job <jobId>
# Get step details from a workflow
node .claude/skills/civitai-orchestration/civitai-client.js step <workflowId> <stepName>
# Download result images/videos from a workflow
node .claude/skills/civitai-orchestration/civitai-client.js results <workflowId>
# Get workflows for user 12345
node civitai-client.js user 12345
# With options
node civitai-client.js user 12345 --take=5 --excludeFailed
# Direct lookup by workflow ID
node civitai-client.js workflow 0-019be44b-181e-7a7e-ab1b-b58dc7610dca
Note: Date filtering may have limited functionality depending on API access level.
# Workflows from the last 7 days
node civitai-client.js workflows --from=2024-01-15 --to=2024-01-22
# Workflows from a specific day
node civitai-client.js workflows --from=2024-01-20 --to=2024-01-20
# Dates are assumed to be UTC. Add Z suffix for explicit UTC:
node civitai-client.js workflows --from=2024-01-20T06:00:00Z --to=2024-01-20T12:00:00Z
Alternative: Use --oldest to get workflows from oldest first, then paginate:
# Get oldest workflows first
node civitai-client.js workflows --oldest --take=50
Tags are set when workflows are created. Common tag patterns:
# Filter by a specific tag
node civitai-client.js workflows --tag=user:12345
# Note: Multiple tags can be specified (AND logic)
node civitai-client.js workflows --tag=project:myproject --tag=type:image
The --query option searches workflow metadata:
# Search metadata for a string
node civitai-client.js workflows --query="portrait"
The API supports excluding failed workflows but not filtering by specific status:
# Exclude failed/canceled workflows (get only succeeded/processing)
node civitai-client.js workflows --excludeFailed
# Include all statuses (default behavior)
node civitai-client.js workflows
Note: To find specific statuses, retrieve workflows and filter client-side, or use metadata/tags when creating workflows for better filtering.
# Get 50 results
node civitai-client.js workflows --take=50
# Get next page using cursor from previous response
node civitai-client.js workflows --take=20 --cursor=<nextCursor>
# Successful workflows for a specific tag, excluding failures
node civitai-client.js workflows \
--tag=user:12345 \
--excludeFailed \
--take=50
# Get workflows with metadata search
node civitai-client.js workflows \
--query="portrait" \
--excludeFailed \
--take=20
Test API connection and verify credentials.
node civitai-client.js test
Query workflows for a specific user by their Civitai user ID.
node civitai-client.js user <userId> [options]
Options:
| Option | Description |
|---|---|
--take=<n> | Number of results (max 10 per API limit) |
--tag=<tag> | Filter by tag |
--query=<text> | Search workflow metadata |
--excludeFailed | Exclude failed/canceled workflows |
--oldest | Sort from oldest to newest |
List and search workflows with optional filters.
node civitai-client.js workflows [options]
Options:
| Option | Description |
|---|---|
--tag=<tag> | Filter by tag (can specify multiple) |
--query=<text> | Search workflow metadata |
--excludeFailed | Exclude failed/canceled workflows |
--oldest | Sort from oldest to newest |
--take=<n> | Number of results (default: 20) |
--cursor=<cursor> | Pagination cursor |
--from=<date> | Start date (may have limited support) |
--to=<date> | End date (may have limited support) |
Get details of a specific workflow.
node civitai-client.js workflow <workflowId> [--wait]
Options:
| Option | Description |
|---|---|
--wait | Wait/poll for completion (with timeout) |
Get details of a specific job including scan results from event context.
This is useful for investigating content moderation results - the lastEvent.context contains scan scores like hive_csam_score and hive_vlm_summary.
node civitai-client.js job <jobId> [--raw]
Options:
| Option | Description |
|---|---|
--raw | Output raw JSON instead of formatted summary |
Example output:
Job Summary:
ID: 58de87d7-d594-4d71-ae43-dd8fc1bcbd23
Type: TextToImageV2
Workflow ID: 8484131-20260121222126332
Prompt Classification: sexual, young, scan
Results (2 blob(s)):
- JNFDW54JNTATNW42HACYCWSQP0.jpeg (available: true)
Last Event:
Type: Succeeded
Provider: ValdiAI
Event Context (scan results, metrics):
** hive_csam_score: 0.00 %, 0.00 %
** hive_vlm_summary: X, No_Child
Get details of a specific step within a workflow.
node civitai-client.js step <workflowId> <stepName>
Download or view results (images/videos) from a workflow.
node civitai-client.js results <workflowId> [--download] [--dir=<path>]
Options:
| Option | Description |
|---|---|
--download | Download result files |
--dir=<path> | Download directory (default: ./civitai-downloads) |
Get a blob (image/video) by ID with optional NSFW handling.
node civitai-client.js blob <blobId> [--download] [--nsfw]
Stored in .claude/skills/civitai-orchestration/.env:
CIVITAI_API_TOKEN=your_bearer_token
CIVITAI_API_URL=https://orchestration-new.civitai.com
The workflows endpoint supports these query parameters:
tags - Array of tags to filter byquery - Search workflow metadatafromDate / toDate - Date range (ISO 8601) - may have limited supportcursor - Pagination cursortake - Number of results (default: 100)excludeFailed - Exclude failed/expired/canceled workflows (boolean)ascending - Sort oldest to newest (boolean)| Status | Description |
|---|---|
preparing | Workflow being prepared |
scheduled | Scheduled for execution |
processing | Currently running |
succeeded | Completed successfully |
failed | Failed with error |
canceled | Was canceled |
expired | Timed out |
deleted | Deleted |
Image/Video generation steps you might encounter:
textToImage - Text to image generationimageGen - General image generationvideoGen - Video generationvideoEnhancement - Video upscaling/enhancementvideoFrameExtraction - Extract frames from videovideoUpscaler - Upscale videovideoInterpolation - Frame interpolationconvertImage - Convert image formatscomfy - ComfyUI workflow execution# Get user 12345's recent workflows
node civitai-client.js user 12345
# Exclude failed jobs
node civitai-client.js user 12345 --excludeFailed
# Get workflow details
node civitai-client.js workflow abc123-def456
# View/download results
node civitai-client.js results abc123-def456 --download --dir=./my-images
# First page
node civitai-client.js workflows --take=10
# Next page (use cursor from previous response)
node civitai-client.js workflows --take=10 --cursor=<nextCursor>
| Error Code | Meaning |
|---|---|
| 401 | Invalid or expired token - check CIVITAI_API_TOKEN |
| 404 | Workflow/Job not found |
| 429 | Rate limited - wait before retrying |
| 422 | Invalid parameters |
The user command displays workflow summaries including:
For raw JSON output, use the workflow command:
node civitai-client.js workflow <workflowId>