Skip to content

voplica.api.content

The protobuf package voplica.api.content: 1 service, 25 messages and 1 enum, defined in voplica/api/content/content.proto.

Each method is called as POST https://api.voplica.com/voplica.api.content.ContentService/<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
CreateContent CreateContentRequest CreateContentResponse Create content from a workflow step output or a direct upload. Auth: for workflow source, caller must be the workflow execution owner. for upload source, caller is the content owner.
GetContent GetContentRequest GetContentResponse Anonymous allowed. Get a single content item by ID. Auth: owner can see any of their content; others can see PUBLISHED + PUBLIC content only. Note: provenance fields are filtered based on provenance_display_level for non-owners.
GetContentMetadata GetContentMetadataRequest GetContentMetadataResponse Anonymous allowed.
ListContent ListContentRequest ListContentResponse Anonymous allowed. List and search content with filtering and pagination. Auth: owner can see all their content (any status); others see PUBLISHED + PUBLIC only. The social feed, user gallery, and discovery features all use this endpoint.
UpdateContent UpdateContentRequest UpdateContentResponse Update content metadata (title, description, visibility, rating, provenance display level). For uploaded content, generation_params can also be updated. Auth: only the content owner.
DeleteContent DeleteContentRequest DeleteContentResponse Permanently delete a content item and its associated asset. Auth: only the content owner.
UpdateContentPublishStatus UpdateContentPublishStatusRequest UpdateContentPublishStatusResponse
GetContentAssetPreparationMetadata GetContentAssetPreparationMetadataRequest GetContentAssetPreparationMetadataResponse
GetMultiContent GetMultiContentRequest GetMultiContentResponse Anonymous allowed.
GetContentCreationPolicy GetContentCreationPolicyRequest GetContentCreationPolicyResponse

Controls which optional fields are populated in the response.

Field Number Type Label Description
asset_file_retriever 1 voplica.types.file.FilesRetriever optional If provided, the found file variant groups will be returned for the content’s asset
include_source_files 2 bool Owner-only: also return the content’s raw source FileInfos (presigned) as Content.source_files — the pre-conversion originals. Silently ignored for non-owner viewers. Intended for “watch it before the Asset is READY” UX.

Create a Content record.

Content can be created from two sources:

  1. workflow_source — from a workflow step output (for manual creation when the ContentPublish node was not used, or when the user wants to create content from a different step/iteration than what was auto-published)
  2. upload_source — from a user upload (content generated externally)

Exactly one source must be set.

Field Number Type Label Description
workflow_source 1 WorkflowContentSource oneof source Create content from a workflow step output
upload_source 2 UploadContentSource oneof source Create content from a direct upload
asset_id 3 string
visibility 4 voplica.types.base.VisibilityType Visibility for the new content (PUBLIC or PRIVATE)
mpa_rating 5 voplica.types.base.MPARating MPA content rating
description 6 string optional Optional description for the content
provenance_display_level 7 voplica.types.content.ProvenanceDisplayLevel optional How much provenance metadata is visible to non-owners. If not set, defaults to FULL for workflow content, FULL for uploaded content.
tags 8 string repeated
publish 9 bool If true the content will be automatically published
generation_params 10 voplica.types.content.GenerationParams optional
Field Number Type Label Description
content_id 1 string
Field Number Type Label Description
content_id 1 string

No fields.

Field Number Type Label Description
content_id 1 string

GetContentAssetPreparationMetadataResponse

Section titled “GetContentAssetPreparationMetadataResponse”
Field Number Type Label Description
asset_preparation_metadata 1 voplica.types.content.ContentAssetPreparationMetadata

No fields.

Field Number Type Label Description
upload_content_creation_allowed 1 bool True when CreateContent is open to this caller. False = CreateContent answers PERMISSION_DENIED with the x-voplica-reason: UPLOAD_CONTENT_CREATION_DISABLED trailer. Computed on every call, never stored; content a workflow creates is not affected.
Field Number Type Label Description
content_id 1 string
Field Number Type Label Description
metadata 1 voplica.types.content.ContentMetadata
Field Number Type Label Description
content_id 1 string
fields_options 2 ContentFieldsFetchingOptions optional Optional: configure which file variants to return for the content’s asset
Field Number Type Label Description
content 1 voplica.types.content.Content
Field Number Type Label Description
content_ids 1 string repeated
fields_options 2 ContentFieldsFetchingOptions optional Optional: configure which file variants to return for the content’s asset
Field Number Type Label Description
contents 1 voplica.types.content.Content repeated
Field Number Type Label Description
owner_id 1 string optional Filter by owner
visibility 2 voplica.types.base.VisibilityType optional Filter by visibility
status 3 voplica.types.base.PublishStatus optional Filter by publication status
asset_type 4 voplica.types.base.AssetType optional Filter by asset type (IMAGE_ASSET, VIDEO_ASSET, AUDIO_ASSET, MODEL_3D_ASSET)
mpa_rating_max 5 voplica.types.base.MPARating optional Filter by MPA rating: returns content with rating up to and including this value. For example, setting this to PG_13 returns G, PG, and PG_13 content. If not set, no rating filter is applied (returns all ratings).
searchable 6 bool optional Filter by the platform-maintained searchable flag (see Content.searchable). Non-owner viewers (incl. anonymous) are FORCED searchable=true server-side (replaces the forced PUBLIC+PUBLISHED semantics for global listings).
no_relation_filter 10 google.protobuf.Empty oneof relation Doesn’t apply any relation filters
origin_type 11 voplica.types.content.ContentOriginType oneof relation Get content for workflows only or uploaded content only
origin_workflow_id 12 string oneof relation Filter by specific workflow
origin_workflow_variant_id 13 string oneof relation Filter by specific workflow variant
origin_workflow_execution_id 14 string oneof relation Filter by parent workflow execution (find child executions of a specific workflow run)
base_model_id 15 string oneof relation Filter by base model IDs (any of the provided models matches)
lora_model_id 16 string oneof relation Filter by LoRA model IDs (any of the provided models matches)
character_id 17 string oneof relation Filter by character IDs (any of the provided characters matches)
tag 18 string oneof relation Filter by tag
Field Number Type Label Description
filters 1 ListContentFilters optional
limit 2 int64 Max number of elements per page Implementation should validate: 1 <= limit <= 100
sort 3 ListContentSorting How to sort results
fields_options 4 ContentFieldsFetchingOptions optional Optional: configure which file variants to return for each content’s asset
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
content 1 voplica.types.content.Content 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 ContentSortKey
asc_sort 2 bool
Field Number Type Label Description
content_id 1 string Asset linked to the Content must be Ready before publishing. If Asset is not ready yet (i.e. conversion is not finished) - publishing is disabled.
publish_status 2 voplica.types.base.PublishStatus

No fields.

Field Number Type Label Description
content_id 1 string
description 2 string optional Fields to update. Only non-null fields are applied.
visibility 3 voplica.types.base.VisibilityType optional
mpa_rating 4 voplica.types.base.MPARating optional
provenance_display_level 5 voplica.types.content.ProvenanceDisplayLevel optional Update how much provenance is visible to non-owners
generation_params 6 voplica.types.content.GenerationParams optional Update the generation params. Only allowed for uploaded content (origin_type = UPLOAD). For workflow content, params are immutable (provided by the ContentPublish node from the generation step’s data). If set, replaces the entire GenerationParams.
tags 7 voplica.types.base.StringArray optional

No fields.

Source for content uploaded directly by the user (not from a workflow).

No fields.

Source for content created from a workflow step output.

Field Number Type Label Description
workflow_execution_id 1 string Workflow execution that produced the output
step_id 2 uint32 Step within the workflow variant that produced the output
iteration_number 3 uint32 Iteration number of the step that produced the output
Name Number Description
CONTENT_POST_SORT_KEY_UNSPECIFIED 0
CREATED_AT 1
TRENDING_SCORE 2