Skip to content

voplica.api.ai.training

The protobuf package voplica.api.ai.training: 1 service, 56 messages and 6 enums, defined in voplica/api/ai/training/training.proto.

Each method is called as POST https://api.voplica.com/voplica.api.ai.training.TrainingService/<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
CreateModelTrainingJob CreateModelTrainingJobRequest CreateModelTrainingJobResponse
GetModelTrainingJob GetModelTrainingJobRequest GetModelTrainingJobResponse
CreateModelVariantFromTrainingCheckpoint CreateModelVariantFromTrainingCheckpointRequest CreateModelVariantFromTrainingCheckpointResponse Creates a ModelVariant from a saved training checkpoint. Used for jobs that had no output_model_id (so no variants were created during training), or to publish an additional checkpoint as a variant.
AttachModelTrainingJobDataset AttachModelTrainingJobDatasetRequest AttachModelTrainingJobDatasetResponse Appends a dataset selection to training_config.training_datasets.
DetachModelTrainingJobDataset DetachModelTrainingJobDatasetRequest DetachModelTrainingJobDatasetResponse Removes a dataset selection from training_config.training_datasets.
ListModelTrainingJobDatasets ListModelTrainingJobDatasetsRequest ListModelTrainingJobDatasetsResponse
ListDatasetTrainingJobs ListDatasetTrainingJobsRequest ListDatasetTrainingJobsResponse Lists the CALLER’s own training jobs that selected the given source dataset (useful for showing “my trainings that used this dataset”). Requires auth and never returns other users’ jobs - the public aggregate usage is Dataset.used_count.
ListModelTrainingJobs ListModelTrainingJobsRequest ListModelTrainingJobsResponse Lists the CALLER’s own training jobs across ALL their models/datasets (the global “my trainings” view: active + past in one place). Never returns other users’ jobs. The status filter ORs multiple values (active = [PENDING, RUNNING]).
SampleNowModelTrainingJob SampleNowModelTrainingJobRequest SampleNowModelTrainingJobResponse Triggers current model sampling (outside the configured epoch/steps gap).
SaveNowModelTrainingJobModelVariant SaveNowModelTrainingJobModelVariantRequest SaveNowModelTrainingJobModelVariantResponse Triggers current model saving (regardless of being mid-epoch).
UpdateModelTrainingJob UpdateModelTrainingJobRequest UpdateModelTrainingJobResponse
StartModelTrainingJob StartModelTrainingJobRequest StartModelTrainingJobResponse
CancelModelTrainingJob CancelModelTrainingJobRequest CancelModelTrainingJobResponse
GetModelTrainingSamplesGroup GetModelTrainingSamplesGroupRequest GetModelTrainingSamplesGroupResponse
GetModelTrainingSample GetModelTrainingSampleRequest GetModelTrainingSampleResponse
ListModelTrainingSampleGroups ListModelTrainingSampleGroupsRequest ListModelTrainingSampleGroupsResponse
GetModelTrainingRun GetModelTrainingRunRequest GetModelTrainingRunResponse
ListModelTrainingRuns ListModelTrainingRunsRequest ListModelTrainingRunsResponse
GetModelTrainingCheckpoint GetModelTrainingCheckpointRequest GetModelTrainingCheckpointResponse
ListModelTrainingCheckpoints ListModelTrainingCheckpointsRequest ListModelTrainingCheckpointsResponse
ListModelTrainingMetricsPoints ListModelTrainingMetricsPointsRequest ListModelTrainingMetricsPointsResponse
ListModelTrainingRunDatasets ListModelTrainingRunDatasetsRequest ListModelTrainingRunDatasetsResponse
Field Number Type Label Description
model_training_job_id 1 string
training_dataset 2 voplica.types.ai.training.ModelTrainingDataset Selection to append to training_config.training_datasets.
Field Number Type Label Description
model_training_job 1 voplica.types.ai.training.ModelTrainingJob The updated job. The appended selection carries its service-computed data_selection_fingerprint (the key later needed by DetachModelTrainingJobDataset).
Field Number Type Label Description
model_training_job_id 1 string
Field Number Type Label Description
job_status 1 voplica.types.base.JobStatus Typically returns CANCELLING immediately, transitioning to CANCELLED once the worker acknowledges the cancellation.
Field Number Type Label Description
training_config 1 voplica.types.ai.training.ModelTrainingConfig Authoritative training configuration. Dataset selections live in training_config.training_datasets.
output_model_id 2 string optional Optional destination GenModel for produced checkpoints. When set, each saved checkpoint also creates a ModelVariant under this model. When empty, checkpoints are stored against the job only and a variant can be created later via CreateModelVariantFromTrainingCheckpoint. Separate from training_config.base_model_variant_id and training_config.continue_training.
Field Number Type Label Description
model_training_job 1 voplica.types.ai.training.ModelTrainingJob

CreateModelVariantFromTrainingCheckpointRequest

Section titled “CreateModelVariantFromTrainingCheckpointRequest”

Creates a ModelVariant from a previously saved training checkpoint. Used when the training job had no output_model_id (so no variants were created automatically) and the user later decides to publish a specific checkpoint as a model variant - or to publish an additional checkpoint as a separate variant. The new variant adopts the checkpoint’s inference-ready weights (model_asset_id) and its denormalized model_family, and the service stamps the checkpoint’s model_variant_id with the created variant.

Field Number Type Label Description
checkpoint_id 1 string
model_id 2 string Destination GenModel the new variant is attached to. Must be owned by the caller.
variant_name 3 string optional Optional display name for the variant (defaults to the checkpoint name).
trigger_words 4 string repeated
revenue_share 5 bool optional If true the variant becomes eligible for revenue sharing. Absent ⇒ defaults from the parent model’s revenue_sharing_preferred.
download_allowed 6 bool If true anyone who can use the model can also download the variant files.
based_on_model_variant_id 7 string optional Optional base variant to inherit shared model files from (text encoder, VAE, etc.) when the checkpoint only ships the trained weights. Avoids re-uploading multi-GB shared components. See CreateModelVariantRequest.based_on_model_variant_id.

CreateModelVariantFromTrainingCheckpointResponse

Section titled “CreateModelVariantFromTrainingCheckpointResponse”
Field Number Type Label Description
model_variant_id 1 string
Field Number Type Label Description
model_training_job_id 1 string
source_dataset_id 2 string Source dataset id to remove from training_config.training_datasets. If the job has multiple selections for the same dataset, also provide data_selection_fingerprint.
data_selection_fingerprint 3 string optional Optional disambiguation for jobs that reference the same dataset multiple times.
Field Number Type Label Description
model_training_job 1 voplica.types.ai.training.ModelTrainingJob The updated job after the selection was removed.
Field Number Type Label Description
checkpoint_id 1 string
Field Number Type Label Description
checkpoint 1 voplica.types.ai.training.ModelTrainingCheckpoint
Field Number Type Label Description
model_training_job_id 1 string
Field Number Type Label Description
model_training_job 1 voplica.types.ai.training.ModelTrainingJob
Field Number Type Label Description
model_training_run_id 1 string oneof selector
workflow_execution_id 2 string oneof selector Inner workflow execution id (the one stored in ModelTrainingRun.workflow_execution_id). Returns nothing for combined runs whose inner training execution has not been launched yet.
root_workflow_execution_id 3 string oneof selector Root workflow execution id (the one returned to the caller by StartModelTrainingJob). For training-only runs it equals workflow_execution_id; for combined runs it is the combined parent workflow execution id. Use this when the caller only has the user-facing execution id.
Field Number Type Label Description
run 1 voplica.types.ai.training.ModelTrainingRun
Field Number Type Label Description
sample_id 1 string
sample_files_retriever 2 voplica.types.file.FilesRetriever optional When set, hydrates ModelTrainingSample.asset.file_variant_groups (omitted by default) so the dashboard can render the generated sample file.
Field Number Type Label Description
sample 1 voplica.types.ai.training.ModelTrainingSample
Field Number Type Label Description
samples_group_id 1 string
sample_files_retriever 2 voplica.types.file.FilesRetriever optional When set, hydrates each ModelTrainingSample.asset.file_variant_groups (omitted by default) so the dashboard can render the generated sample files.
Field Number Type Label Description
sample_group 1 voplica.types.ai.training.ModelTrainingSamplesGroup
Field Number Type Label Description
status 1 voplica.types.base.JobStatus optional
Field Number Type Label Description
source_dataset_id 1 string Source dataset id - returns the CALLER’s own training jobs that selected this dataset (regardless of which snapshot was resolved). Other users’ jobs are never returned, to avoid disclosing who trains on a public dataset. The public aggregate usage count is exposed separately as Dataset.used_count.
filters 2 ListDatasetTrainingJobsFilters optional
limit 3 int64
sort 4 ListDatasetTrainingJobsSorting
cursor 10 string optional
before 11 bool
check_more_available 12 bool
Field Number Type Label Description
model_training_jobs 1 voplica.types.ai.training.ModelTrainingJob repeated
next_token 2 string optional
prev_token 3 string optional
more_available 4 bool optional
Field Number Type Label Description
sort_key 1 DatasetTrainingJobSortKey
asc_sort 2 bool
Field Number Type Label Description
model_training_run_id 1 string optional Restrict to a single run.
min_step 2 uint64 optional Inclusive step range.
max_step 3 uint64 optional
only_with_model_variant 4 bool optional Only checkpoints already attached to a model variant.

Listing checkpoints with limit = 1 and sort = {STEP, asc_sort:false} returns the latest checkpoint produced by a job/run - this replaces the removed denormalized “latest checkpoint” pointer. Visual previews of training progress come from sample groups (ListModelTrainingSampleGroups with sample_files_retriever); the variant produced for a checkpoint, when any, is referenced by ModelTrainingCheckpoint.model_variant_id.

Field Number Type Label Description
model_training_job_id 1 string
filters 2 ListModelTrainingCheckpointsFilters optional
limit 3 int64
sort 4 ListModelTrainingCheckpointsSorting
cursor 10 string optional
before 11 bool
check_more_available 12 bool
Field Number Type Label Description
checkpoints 1 voplica.types.ai.training.ModelTrainingCheckpoint repeated
next_token 2 string optional
prev_token 3 string optional
more_available 4 bool optional
Field Number Type Label Description
sort_key 1 ModelTrainingCheckpointSortKey
asc_sort 2 bool
Field Number Type Label Description
model_training_job_id 1 string
Field Number Type Label Description
training_datasets 1 voplica.types.ai.training.ModelTrainingDataset repeated
Field Number Type Label Description
statuses 1 voplica.types.base.JobStatus repeated Empty = all statuses. Multiple values OR together (e.g. [PENDING, RUNNING] = the “active trainings” view; [COMPLETED, FAILED, CANCELLED] = past trainings).
Field Number Type Label Description
filters 1 ListModelTrainingJobsFilters optional
limit 2 int64
sort 3 ListModelTrainingJobsSorting
cursor 10 string optional
before 11 bool
check_more_available 12 bool
Field Number Type Label Description
model_training_jobs 1 voplica.types.ai.training.ModelTrainingJob repeated
next_token 2 string optional
prev_token 3 string optional
more_available 4 bool optional
Field Number Type Label Description
sort_key 1 ModelTrainingJobSortKey
asc_sort 2 bool
Field Number Type Label Description
model_training_run_id 1 string optional Restrict to a single run. When empty, returns points for all runs of the job; the caller can disambiguate by model_training_run_id on each returned point.
metric_keys 2 string repeated Restrict to specific metric keys (for example [“loss”, “unet_lr”]). Empty returns all.
min_step 3 uint64 optional Inclusive step range.
max_step 4 uint64 optional
min_captured_at 5 uint64 optional Inclusive captured_at range (milliseconds since epoch). Useful for showing the last N minutes of training.
max_captured_at 6 uint64 optional
max_points_per_metric_key 7 uint32 Optional downsampling. When >0, the service may return at most this many evenly spaced points per metric key (worker-side decimation). 0 means no downsampling.
Field Number Type Label Description
model_training_job_id 1 string
filters 2 ListModelTrainingMetricsPointsFilters optional
limit 3 int64
sort 4 ListModelTrainingMetricsPointsSorting
cursor 10 string optional
before 11 bool
check_more_available 12 bool
Field Number Type Label Description
points 1 voplica.types.ai.training.ModelTrainingMetricPoint repeated
next_token 2 string optional
prev_token 3 string optional
more_available 4 bool optional
Field Number Type Label Description
sort_key 1 ModelTrainingMetricPointSortKey
asc_sort 2 bool
Field Number Type Label Description
model_training_run_id 1 string oneof selector
checkpoint_id 2 string oneof selector
Field Number Type Label Description
resolved_training_datasets 1 voplica.types.ai.training.ResolvedModelTrainingDataset repeated Resolved dataset lineage per selection (preparation snapshot + item filters + caption_format). The frozen examples themselves (incl. caption text) are paged via ListDatasetPreparationSnapshotItems. Inside a combined prepare-and-train run, preparation_snapshot_id may still be empty until preparation completes and the run’s datasets are resolved.
Field Number Type Label Description
status 1 voplica.types.base.JobStatus optional
Field Number Type Label Description
model_training_job_id 1 string
filters 2 ListModelTrainingRunsFilters optional
limit 3 int64
sort 4 ListModelTrainingRunsSorting
cursor 10 string optional
before 11 bool
check_more_available 12 bool
Field Number Type Label Description
runs 1 voplica.types.ai.training.ModelTrainingRun repeated
next_token 2 string optional
prev_token 3 string optional
more_available 4 bool optional
Field Number Type Label Description
sort_key 1 ModelTrainingRunSortKey
asc_sort 2 bool
Field Number Type Label Description
model_training_run_id 1 string optional Restrict to a single run.
only_with_checkpoint 2 bool optional Only return groups produced alongside a checkpoint save.
min_step 3 uint64 optional Inclusive step range.
max_step 4 uint64 optional

List endpoints follow the house pattern (see ListModelsRequest): an optional filters message, an explicit sort message with a typed sort key, limit, and the cursor/before/check_more_available keyset-pagination triple (tags 10-12).

Field Number Type Label Description
model_training_job_id 1 string
filters 2 ListModelTrainingSampleGroupsFilters optional
limit 3 int64
sort 4 ListModelTrainingSampleGroupsSorting
sample_files_retriever 5 voplica.types.file.FilesRetriever optional When set, hydrates each returned ModelTrainingSample.asset.file_variant_groups (omitted by default) so the dashboard can render the generated sample files.
cursor 10 string optional
before 11 bool
check_more_available 12 bool
Field Number Type Label Description
sample_groups 1 voplica.types.ai.training.ModelTrainingSamplesGroup repeated
next_token 2 string optional
prev_token 3 string optional
more_available 4 bool optional
Field Number Type Label Description
sort_key 1 ModelTrainingSampleGroupSortKey
asc_sort 2 bool
Field Number Type Label Description
model_training_job_id 1 string

No fields.

SaveNowModelTrainingJobModelVariantRequest

Section titled “SaveNowModelTrainingJobModelVariantRequest”
Field Number Type Label Description
model_training_job_id 1 string

SaveNowModelTrainingJobModelVariantResponse

Section titled “SaveNowModelTrainingJobModelVariantResponse”

No fields.

Field Number Type Label Description
model_training_job_id 1 string
idempotency_key 2 string optional Optional client-provided idempotency key. A retry (double-click, network replay) with the same key returns the already-started run instead of creating a second one. Independent of the single-in-flight-run rule (a job can have at most one PENDING/RUNNING run).
privacy_mode 3 voplica.types.workflow.WorkflowPrivacyMode
Field Number Type Label Description
workflow_execution_id 1 string Root workflow execution id of the started workflow. For training-only runs this is also the inner training workflow execution; for combined ai.prepare_and_train_model_workflow runs this is the combined parent execution and the inner training-child execution id is populated on ModelTrainingRun.workflow_execution_id after the training child actually starts. The two ids together appear on ModelTrainingRun as root_workflow_execution_id and workflow_execution_id.
model_training_run_id 2 string Persisted training run row id.
Field Number Type Label Description
model_training_job_id 1 string
output_model_id 2 string optional Set the destination model for produced checkpoints. Pass an empty string to detach (future checkpoints will not create variants). Only mutable while the job has not started.
stop_trigger 3 voplica.types.ai.training.ModelTrainingStopTrigger optional
sample_after_save 4 bool optional
steps_sample_threshold 5 uint64 optional
saving_params 6 voplica.types.ai.training.ModelSavingParams optional
Field Number Type Label Description
model_training_job 1 voplica.types.ai.training.ModelTrainingJob
Name Number Description
DATASET_TRAINING_JOB_SORT_KEY_UNSPECIFIED 0
DATASET_TRAINING_JOB_SORT_KEY_CREATED_AT 1
Name Number Description
MODEL_TRAINING_CHECKPOINT_SORT_KEY_UNSPECIFIED 0
MODEL_TRAINING_CHECKPOINT_SORT_KEY_STEP 1
Name Number Description
MODEL_TRAINING_JOB_SORT_KEY_UNSPECIFIED 0
MODEL_TRAINING_JOB_SORT_KEY_CREATED_AT 1
Name Number Description
MODEL_TRAINING_METRIC_POINT_SORT_KEY_UNSPECIFIED 0
MODEL_TRAINING_METRIC_POINT_SORT_KEY_STEP 1
MODEL_TRAINING_METRIC_POINT_SORT_KEY_CAPTURED_AT 2
Name Number Description
MODEL_TRAINING_RUN_SORT_KEY_UNSPECIFIED 0
MODEL_TRAINING_RUN_SORT_KEY_STARTED_AT 1
Name Number Description
MODEL_TRAINING_SAMPLE_GROUP_SORT_KEY_UNSPECIFIED 0
MODEL_TRAINING_SAMPLE_GROUP_SORT_KEY_STEP 1