Skip to main content

Custom Models API - Data Models

Complete reference for all request and response schemas used in the Custom Models API. This guide documents data structures, field types, validation rules, and example payloads.

Model Object Schema

The core custom model object returned by most endpoints.

Complete Model Object

{
"id": 123,
"model_key": "custom_model_123",
"name": "Medical Cardiology EN v2",
"description": "Cardiology model trained on 50+ hours of MRI and CT report dictation",
"language": "en",
"base_model": "medical",
"training_status": 4,
"status_message": "Training completed successfully",
"training_progress": 100,
"error": null,
"created_at": "2025-01-15T10:00:00Z",
"updated_at": "2025-01-16T15:30:00Z",
"started_training_at": "2025-01-16T08:00:00Z",
"finished_training_at": "2025-01-16T15:30:00Z",
"failed_at": null,
"training_metrics": {
"word_error_rate": 12.5,
"character_error_rate": 8.3,
"accuracy_improvement": 18.7,
"training_hours": 7.5,
"test_word_error_rate": 11.2
}
}

Field Specifications

FieldTypeRequiredDescriptionConstraints
idIntegerYesUnique model identifierAuto-generated, immutable
model_keyStringYesInternal model key referenceAuto-generated, format: custom_model_{id}
nameStringYesHuman-readable model name1-200 characters
descriptionStringNoModel description and notes0-1000 characters, nullable
languageStringYesBase language codeISO 639-1 (2 letters), immutable
base_modelStringYesBase model typeEnum: general, medical, legal, technical, immutable
training_statusIntegerYesTraining status codeEnum: 1-5 (see Training Status section)
status_messageStringYesHuman-readable statusAuto-generated based on training_status
training_progressIntegerConditionalTraining progress percentage0-100, only present when status=3
errorStringConditionalError messageOnly present when status=5
created_atStringYesCreation timestampISO 8601 format, immutable
updated_atStringYesLast update timestampISO 8601 format, auto-updated
started_training_atStringConditionalTraining start timestampISO 8601, present when training started
finished_training_atStringConditionalTraining completion timestampISO 8601, present when status=4
failed_atStringConditionalTraining failure timestampISO 8601, present when status=5
training_metricsObjectConditionalTraining performance metricsPresent when status=4 (see Training Metrics)

Training Status Codes

Status Enumeration

CodeNameDescriptionTransitions
1Not RunningModel created, no data uploaded→ 2 (data upload)
2Ready to RunData uploaded, ready to train→ 3 (start training)
3RunningTraining in progress→ 4 (success) or → 5 (failure)
4SuccessTraining completed successfullyTerminal state
5FailedTraining failed with errorTerminal state

Reference for success! Use this data models guide to understand request/response structures and build robust custom model integrations.