Skip to content

voplica.api.workflow

The protobuf package voplica.api.workflow: 5 services, 82 messages and 5 enums, defined in voplica/api/workflow/node_registry.proto, voplica/api/workflow/types_spec.proto, voplica/api/workflow/workflow.proto, voplica/api/workflow/workflow_execution.proto, voplica/api/workflow/workflow_variant.proto.

Each method is called as POST https://api.voplica.com/voplica.api.workflow.NodeRegistryService/<Method> with its request message as JSON and your API key (Authentication); a method marked Anonymous allowed also answers without one. See the JSON API.

Method Request Response Description
GetNode GetNodeRequest GetNodeResponse Anonymous allowed. Get node information
GetNodeVariant GetNodeVariantRequest GetNodeVariantResponse Anonymous allowed. Get node variant information
ListNodes ListNodesRequest ListNodesResponse Anonymous allowed. List nodes
ListNodeVariants ListNodeVariantsRequest ListNodeVariantsResponse Anonymous allowed. List node variants for a specific node

Each method is called as POST https://api.voplica.com/voplica.api.workflow.TypesSpecService/<Method> with its request message as JSON and your API key (Authentication); a method marked Anonymous allowed also answers without one. See the JSON API.

Method Request Response Description
GetMessagesSpec GetMessagesSpecRequest GetMessagesSpecResponse Anonymous allowed. Get all available Message specifications
GetEnumsSpec GetEnumsSpecRequest GetEnumsSpecResponse Anonymous allowed. Get all available Enum specifications
GetMessageSpec GetMessageSpecRequest GetMessageSpecResponse Anonymous allowed. Get Message specification (with all nested types definitions) by proto_type_url
GetEnumSpec GetEnumSpecRequest GetEnumSpecResponse Anonymous allowed. Get Enum specification by proto_type_url

Each method is called as POST https://api.voplica.com/voplica.api.workflow.WorkflowService/<Method> with its request message as JSON and your API key (Authentication); a method marked Anonymous allowed also answers without one. See the JSON API.

Method Request Response Description
CreateWorkflow CreateWorkflowRequest CreateWorkflowResponse
GetWorkflow GetWorkflowRequest GetWorkflowResponse Anonymous allowed.
GetWorkflowMetadata GetWorkflowMetadataRequest GetWorkflowMetadataResponse Anonymous allowed.
UpdateWorkflow UpdateWorkflowRequest UpdateWorkflowResponse
DeleteWorkflow DeleteWorkflowRequest DeleteWorkflowResponse Deletes Workflow, including all attached Workflow Variants
ListWorkflows ListWorkflowsRequest ListWorkflowsResponse Anonymous allowed.

Each method is called as POST https://api.voplica.com/voplica.api.workflow.WorkflowExecutionService/<Method> with its request message as JSON and your API key (Authentication); a method marked Anonymous allowed also answers without one. See the JSON API.

Method Request Response Description
ExecuteWorkflow ExecuteWorkflowRequest ExecuteWorkflowResponse Start workflow execution
GetWorkflowExecution GetWorkflowExecutionRequest GetWorkflowExecutionResponse Get workflow execution status and results
GetWorkflowStepExecutions GetWorkflowStepExecutionsRequest GetWorkflowStepExecutionsResponse Get step executions for a given step within a workflow execution
StopWorkflowExecution StopWorkflowExecutionRequest StopWorkflowExecutionResponse Stop a running workflow Notice, this triggers Workflow Stop - meaning that no new Steps will be executed, and some long-running Steps that track Workflow status can stop their execution as well (with result or with error), however, usually short-running steps that are already running will be executed anyways.
GetWorkflowOutput GetWorkflowOutputRequest GetWorkflowOutputResponse Get detailed workflow outputs for a workflow execution Available when Workflow Execution is finished.
GetWorkflowStepOutputs GetWorkflowStepOutputsRequest GetWorkflowStepOutputsResponse Get detailed step outputs for a workflow execution
ListWorkflowExecutions ListWorkflowExecutionsRequest ListWorkflowExecutionsResponse List workflow executions
DeleteWorkflowExecution DeleteWorkflowExecutionRequest DeleteWorkflowExecutionResponse Delete workflow execution from history

Each method is called as POST https://api.voplica.com/voplica.api.workflow.WorkflowVariantService/<Method> with its request message as JSON and your API key (Authentication); a method marked Anonymous allowed also answers without one. See the JSON API.

Method Request Response Description
CreateWorkflowVariant CreateWorkflowVariantRequest CreateWorkflowVariantResponse
GetWorkflowVariant GetWorkflowVariantRequest GetWorkflowVariantResponse Anonymous allowed.
GetWorkflowVariantMetadata GetWorkflowVariantMetadataRequest GetWorkflowVariantMetadataResponse Anonymous allowed.
UpdateWorkflowVariant UpdateWorkflowVariantRequest UpdateWorkflowVariantResponse
DeleteWorkflowVariant DeleteWorkflowVariantRequest DeleteWorkflowVariantResponse Deletes Workflow Variant and detaches it from the Workflow
PublishWorkflowVariant PublishWorkflowVariantRequest PublishWorkflowVariantResponse Published final Workflow Variant
ListWorkflowVariants ListWorkflowVariantsRequest ListWorkflowVariantsResponse Anonymous allowed. List workflow variants for a specific workflow
GetWorkflowVariantPreviewAssets GetWorkflowVariantPreviewAssetsRequest GetWorkflowVariantPreviewAssetsResponse Anonymous allowed.
AddWorkflowVariantPreviewAsset AddWorkflowVariantPreviewAssetRequest AddWorkflowVariantPreviewAssetResponse
DeleteWorkflowVariantPreviewAsset DeleteWorkflowVariantPreviewAssetRequest DeleteWorkflowVariantPreviewAssetResponse
Field Number Type Label Description
node_id 1 string oneof attribute
registry_key 2 string oneof attribute
fields_fetching_options 5 NodeFieldsFetchingOptions
Field Number Type Label Description
node 1 voplica.types.workflow.WorkflowNode
metadata 2 voplica.types.workflow.WorkflowNodeMetadata
Field Number Type Label Description
variant_id 1 string oneof attribute
idempotency_key 2 string oneof attribute
fields_fetching_options 3 NodeVariantFieldsFetchingOptions
Field Number Type Label Description
variant 1 voplica.types.workflow.WorkflowNodeVariant
Field Number Type Label Description
status 1 voplica.types.base.PublishStatus optional
verification 2 voplica.types.base.VerificationStatus optional
compatible_with_subscription 3 voplica.types.subscription.StudioSubscriptionType optional
Field Number Type Label Description
parent_node_id 1 string
filters 2 ListNodeVariantsFilters optional
limit 3 int64 Max amount of elements per page
sort 4 ListNodeVariantsSorting How to sort results
fields_fetching_options 5 NodeVariantFieldsFetchingOptions
cursor 10 string optional to continue pagination use next_token with before = false to fetch the next page or prev_token with before = true to fetch the previous page.
before 11 bool Used only with cursor. If false it means fetch data after cursor. If true it means fetch data before cursor.
check_more_available 12 bool Check limit + 1 to know if there is more data available
Field Number Type Label Description
variants 1 voplica.types.workflow.WorkflowNodeVariant repeated
next_token 2 string optional
prev_token 3 string optional
more_available 4 bool optional
Field Number Type Label Description
sort_key 1 NodeVariantSortKey
asc_sort 2 bool
Field Number Type Label Description
owner_id 1 string optional
visibility 2 voplica.types.base.VisibilityType optional
status 3 voplica.types.base.PublishStatus optional
executor_type 4 voplica.types.workflow.common.WorkflowNodeExecutorType optional
compatible_with_subscription 5 voplica.types.subscription.StudioSubscriptionType optional
Field Number Type Label Description
filters 1 ListNodesFilters optional
limit 2 int64 Max amount of elements per page
sort 3 ListNodesSorting How to sort results
fields_fetching_options 4 NodeFieldsFetchingOptions
cursor 10 string optional to continue pagination use next_token with before = false to fetch the next page or prev_token with before = true to fetch the previous page.
before 11 bool Used only with cursor. If false it means fetch data after cursor. If true it means fetch data before cursor.
check_more_available 12 bool Check limit + 1 to know if there is more data available
Field Number Type Label Description
nodes 1 voplica.types.workflow.WorkflowNode repeated
next_token 2 string optional
prev_token 3 string optional
more_available 4 bool optional
Field Number Type Label Description
sort_key 1 NodeSortKey
asc_sort 2 bool
Field Number Type Label Description
default_preview_retriever 1 voplica.types.file.FilesRetriever optional If provided, the found file variant groups will be returned for the default preview asset
Field Number Type Label Description
default_preview_retriever 1 voplica.types.file.FilesRetriever optional If provided, the found file variant groups will be returned for the default preview asset
Field Number Type Label Description
proto_type_url 1 string
Field Number Type Label Description
enum_spec 1 voplica.types.base.EnumSpec

No fields.

Field Number Type Label Description
enums_spec 1 map<string, voplica.types.base.EnumSpec>
Field Number Type Label Description
proto_type_url 1 string
Field Number Type Label Description
message_spec 1 voplica.types.workflow.WorkflowMapSchema
nested_messages_specs 2 map<string, voplica.types.workflow.WorkflowMapSchema>

No fields.

Field Number Type Label Description
messages_spec 1 map<string, voplica.types.workflow.WorkflowMapSchema>
Field Number Type Label Description
name 1 string Workflow name
visibility 2 voplica.types.base.VisibilityType Workflow visibility type. All variants inherit this visibility type.
description 3 string Optional description of the workflow
nsfw 4 bool Whether this workflow is NSFW. NSFW workflows are hidden from anonymous users’ trending/safe listings.
Field Number Type Label Description
workflow_id 1 string
Field Number Type Label Description
workflow_id 1 string

No fields.

Field Number Type Label Description
id 1 string
Field Number Type Label Description
metadata 1 voplica.types.workflow.WorkflowMetadata
Field Number Type Label Description
id 1 string oneof attribute
idempotency_key 2 string oneof attribute
fields_fetching_options 3 WorkflowFieldsFetchingOptions
Field Number Type Label Description
workflow 1 voplica.types.workflow.Workflow
Field Number Type Label Description
owner_id 1 string optional
visibility 2 voplica.types.base.VisibilityType optional
status 3 voplica.types.base.PublishStatus optional
min_required_subscription 4 voplica.types.subscription.StudioSubscriptionType optional
nsfw 5 bool optional true means to return NSFW workflows only. false means to exclude NSFW workflows. unset means to return both NSFW and SFW workflows.
query 6 string optional Case-insensitive workflow NAME substring search (‘%term%’), composed with every other filter above. Server-side guards: blank after trim = no filter; 1 char after trim = INVALID_ARGUMENT (min 2 chars); capped at 100 chars. When set, results are ordered by created_at (keyset) regardless of the requested trending/last-variant sort key — mirrors the Voices/Characters query relation semantics.
Field Number Type Label Description
filters 1 ListWorkflowsFilters optional
limit 2 int64 Max amount of elements per page
sort 3 ListWorkflowsSorting How to sort results
fields_fetching_options 4 WorkflowFieldsFetchingOptions
cursor 10 string optional to continue pagination use next_token with before_cursor = false to fetch the next page or prev_token with before_cursor = true to fetch the previous page.
before 11 bool Used only with cursor. If false it means fetch data after cursor. If true it means fetch data before cursor.
check_more_available 12 bool Check limit + 1 to know if there is more data available By default is is false. Meaning that more_available flag won’t be returned. In this case, the only way to verify that there is any data available is to fetch the next page. Generally this should not be used for infinite scrolls, but can be used if we have buttons like next, previous.
Field Number Type Label Description
workflows 1 voplica.types.workflow.Workflow repeated
next_token 2 string optional Token to pass in the next query’s Pagination directive to go to the next page It will be missing if this request didn’t return any data (i.e. no more data available) If it’s missing the last used cursor is essentially the next_token
prev_token 3 string optional Token to pass in the next query’s Pagination directive to go to the previous page It will be missing if this request didn’t return any data (i.e. no more data available) If it’s missing the last used cursor is essentially the prev_token
more_available 4 bool optional Returns if there is more data available (i.e. checks limit + 1). Returned only if check_more_available is set to true
Field Number Type Label Description
sort_key 1 WorkflowSortKey
asc_sort 2 bool
Field Number Type Label Description
workflow_id 1 string
workflow_name 2 string optional
visibility 3 voplica.types.base.VisibilityType optional
description 4 string optional
default_workflow_variant 5 WorkflowVariantSelectionStrategy optional
nsfw 6 bool optional

No fields.

Field Number Type Label Description
default_preview_retriever 1 voplica.types.file.FilesRetriever optional If provided, the found file variant groups will be returned for the default preview asset
Field Number Type Label Description
use_variant_id 1 string oneof strategy
use_latest_variant 2 google.protobuf.Empty oneof strategy
Field Number Type Label Description
workflow_execution_id 1 string

No fields.

Field Number Type Label Description
workflow_variant_id 1 string
visibility 2 voplica.types.base.VisibilityType Visibility of this workflow execution
workflow_input 3 map<string, voplica.types.base.NestedParamValue>
idempotency_key 4 string optional Idempotency key to prevent duplicate executions (e.g. user double-clicks “run”). If a workflow execution with the same idempotency key already exists, the existing execution ID is returned. This idempotency key is not globally unique, but only unique for a combination of owner_id and workflow_variant_id. This string must contain only characters [A-Za-z0-9_] and be no longer than 30 characters.
content_publish_policy 5 voplica.types.workflow.common.WorkflowContentPublishPolicy Controls what content to publish during Workflow Execution.
privacy_mode 7 voplica.types.workflow.WorkflowPrivacyMode
dry_run 100 bool Optional: dry run mode (validate but don’t execute)
Field Number Type Label Description
workflow_execution_id 1 string
Field Number Type Label Description
workflow_execution_id 1 string
include_all_step_executions 2 bool If true, include all step executions belonging to this workflow execution. If false, step_executions in response may be empty.
Field Number Type Label Description
workflow_execution 1 voplica.types.workflow.WorkflowExecution
step_executions 2 voplica.types.workflow.WorkflowStepExecution repeated Populated when include_all_step_executions=true.
workflow_output 3 map<string, voplica.types.base.NestedParamValue> Final resolved workflow outputs from WorkflowConditionalOutput definitions. Populated when the workflow execution is completed.
messages 4 voplica.types.workflow.WorkflowExecutionMessage repeated Errors, warnings, and informational messages from the workflow execution.
Field Number Type Label Description
workflow_execution_id 1 string
Field Number Type Label Description
workflow_output 1 voplica.types.workflow.WorkflowOutput
Field Number Type Label Description
workflow_execution_id 1 string
step_id 2 uint32
Field Number Type Label Description
step_executions 1 voplica.types.workflow.WorkflowStepExecution repeated
Field Number Type Label Description
workflow_execution_id 1 string
step_id 2 uint32 optional Optional: filter by specific step
iteration_number 3 uint32 optional Optional: filter by iteration
Field Number Type Label Description
step_outputs 1 voplica.types.workflow.WorkflowStepOutputs repeated
Field Number Type Label Description
owner_id 1 string Filter by owner
status 2 voplica.types.base.JobStatus optional Filter by job status
root_executions_only 3 bool oneof relation false - get any executions. true - get root executions only.
workflow_variant_id 4 string oneof relation Filter by specific workflow variant
workflow_id 5 string oneof relation Filter by specific workflow
parent_workflow_execution_id 6 string oneof relation Filter by parent workflow execution (find child executions of a specific workflow run)
Field Number Type Label Description
filters 1 ListWorkflowExecutionsFilters
limit 2 int64 Max number of elements per page Implementation should validate: 1 <= limit <= 100
sort 3 ListWorkflowExecutionsSorting How to sort results
cursor 10 string optional To continue pagination use next_token with before = false to fetch the next page or prev_token with before = true to fetch the previous page.
before 11 bool Used only with cursor. If false it means fetch data after cursor. If true it means fetch data before cursor.
check_more_available 12 bool Check limit + 1 to know if there is more data available
Field Number Type Label Description
workflow_executions 1 voplica.types.workflow.WorkflowExecution repeated
next_token 2 string optional Token to pass in the next query’s Pagination directive to go to the next page
prev_token 3 string optional Token to pass in the next query’s Pagination directive to go to the previous page
more_available 4 bool optional Returns if there is more data available (i.e. checks limit + 1)
Field Number Type Label Description
sort_key 1 WorkflowExecutionSortKey
asc_sort 2 bool
Field Number Type Label Description
workflow_execution_id 1 string
reason 2 string optional Optional reason for stopping the workflow execution (stored for audit/debugging).

No fields.

Field Number Type Label Description
workflow_variant_id 1 string
preview_asset_id 2 string
Field Number Type Label Description
created_asset_id 1 string
Field Number Type Label Description
parent_workflow_id 1 string
variant_name 2 string Workflow variant name
steps 3 voplica.types.workflow.WorkflowStep repeated Steps definitions for the workflow
inputs_spec 4 map<string, voplica.types.workflow.WorkflowInputSpec> Input specification
outputs 5 map<string, voplica.types.workflow.WorkflowConditionalOutput> Output specification
run_policy 6 voplica.types.workflow.WorkflowRunPolicy optional Run policy configuration
inputs_block_position 7 voplica.types.base.Point2D optional Optional inputs block position
outputs_block_position 8 voplica.types.base.Point2D optional Optional outputs block position
default_content_provenance_generation_params 9 voplica.types.workflow.WorkflowResolvableParamValue optional
Field Number Type Label Description
id 1 string
Field Number Type Label Description
workflow_variant_id 1 string
preview_asset_id 2 string

No fields.

Field Number Type Label Description
workflow_variant_id 1 string

No fields.

Field Number Type Label Description
id 1 string
Field Number Type Label Description
variant_metadata 1 voplica.types.workflow.WorkflowVariantMetadata
Field Number Type Label Description
workflow_variant_id 1 string
asset_id_filter 2 string optional Optionally filter by asset_id. If not provided - all preview assets are returned.
previews_retriever 3 voplica.types.file.FilesRetriever optional If provided, the found file variant groups will be returned for each preview asset (or for the asset that matched asset_id_filter if provided)
Field Number Type Label Description
all_previews 1 voplica.types.file.AssetFileVariantGroups repeated 0 to 10 images / videos for model variant preview Note: file_variant_groups are returned only if requested explicitly
Field Number Type Label Description
id 1 string oneof attribute
idempotency_key 2 string oneof attribute
fields_fetching_options 3 WorkflowVariantFieldsFetchingOptions
Field Number Type Label Description
workflow_variant 1 voplica.types.workflow.WorkflowVariant
Field Number Type Label Description
status 1 voplica.types.base.PublishStatus optional
min_required_subscription 2 voplica.types.subscription.StudioSubscriptionType optional
Field Number Type Label Description
parent_workflow_id 1 string The workflow to list variants for
filters 2 ListWorkflowVariantsFilters optional
limit 3 int64 Max amount of elements per page
sort 4 ListWorkflowVariantsSorting How to sort results
fields_fetching_options 5 WorkflowVariantFieldsFetchingOptions Extra options for fields fetching
cursor 10 string optional to continue pagination use next_token with before = false to fetch the next page or prev_token with before = true to fetch the previous page.
before 11 bool Used only with cursor. If false it means fetch data after cursor. If true it means fetch data before cursor.
check_more_available 12 bool Check limit + 1 to know if there is more data available
Field Number Type Label Description
variants 1 voplica.types.workflow.WorkflowVariant repeated
next_token 2 string optional
prev_token 3 string optional
more_available 4 bool optional
Field Number Type Label Description
sort_key 1 WorkflowVariantSortKey
asc_sort 2 bool
Field Number Type Label Description
id 1 string
Field Number Type Label Description
status 1 voplica.types.base.PublishStatus
Field Number Type Label Description
inputs_spec 1 map<string, voplica.types.workflow.WorkflowInputSpec>
Field Number Type Label Description
outputs 1 map<string, voplica.types.workflow.WorkflowConditionalOutput>
Field Number Type Label Description
workflow_variant_id 1 string
variant_name 2 string optional
steps 3 UpdateWorkflowVariantSteps optional Steps definitions for the workflow (applicable to unpublished variants only)
inputs_spec 4 UpdateWorkflowVariantInputSpec optional Input specification (applicable to unpublished variants only)
outputs 5 UpdateWorkflowVariantOutputs optional Output specification (applicable to unpublished variants only)
run_policy 6 voplica.types.workflow.WorkflowRunPolicy optional Run policy configuration
default_preview 7 voplica.types.file.AssetSelectionStrategy optional
inputs_block_position 8 voplica.types.base.Point2D optional Optional inputs block position
outputs_block_position 9 voplica.types.base.Point2D optional Optional outputs block position
default_content_provenance_generation_params 10 voplica.types.workflow.WorkflowResolvableParamValue optional

No fields.

Field Number Type Label Description
steps 1 voplica.types.workflow.WorkflowStep repeated
Field Number Type Label Description
default_preview_retriever 1 voplica.types.file.FilesRetriever optional If provided, the found file variant groups will be returned for the default preview asset

Note: Enum values are prefixed (e.g., NODE_CREATED_AT instead of CREATED_AT) to avoid conflicts with WorkflowExecutionSortKey.CREATED_AT in the same package. Protobuf uses C++ scoping rules where enum values exist in the scope enclosing the enum.

Name Number Description
NODE_SORT_KEY_UNSPECIFIED 0
NODE_CREATED_AT 1
LAST_NODE_VARIANT_CREATED 2

Note: Enum values are prefixed (e.g., NODE_VARIANT_CREATED_AT instead of CREATED_AT) to avoid conflicts with WorkflowExecutionSortKey.CREATED_AT in the same package. Protobuf uses C++ scoping rules where enum values exist in the scope enclosing the enum.

Name Number Description
NODE_VARIANT_SORT_KEY_UNSPECIFIED 0
NODE_VARIANT_CREATED_AT 1

Note: Enum values are prefixed (e.g., WORKFLOW_CREATED_AT instead of CREATED_AT) to avoid conflicts with WorkflowExecutionSortKey.CREATED_AT in the same package. Protobuf uses C++ scoping rules where enum values exist in the scope enclosing the enum.

Name Number Description
WORKFLOW_SORT_KEY_UNSPECIFIED 0
WORKFLOW_CREATED_AT 1
LAST_WORKFLOW_VARIANT_CREATED 2
WORKFLOW_TRENDING_SCORE 3
Name Number Description
WORKFLOW_EXECUTION_SORT_KEY_UNSPECIFIED 0
CREATED_AT 1
UPDATED_AT 2

Note: Enum values are prefixed (e.g., WORKFLOW_VARIANT_CREATED_AT instead of CREATED_AT) to avoid conflicts with other sort keys in the same package. Protobuf uses C++ scoping rules where enum values exist in the scope enclosing the enum.

Name Number Description
WORKFLOW_VARIANT_SORT_KEY_UNSPECIFIED 0
WORKFLOW_VARIANT_CREATED_AT 1