Skip to content

Responses

responses

Defines Pydantic response models for the API's endpoints

AnkiExportResponse

Bases: BaseModel

Response for the Anki export endpoint

Parameters:

Name Type Description Default
anki_deck_url str

Media URL serving the exported deck file

required

BatchResult

Bases: JobResult

Result of a batch_* parent job

Per-File Detail
  • The parent aggregates the outcome counts only

  • Each child job carries its own typed result or error and is fetched via GET /jobs/{id}/children

Parameters:

Name Type Description Default
total int

Number of files in the batch

required
succeeded int

Number of files that finished successfully

required
failed int

Number of files that failed

required
cancelled int

Number of files skipped by a cancellation

required
children list[str]

Database IDs of the child jobs, in submit order

required

BreakdownPreviewResponse

Bases: BaseModel

The rendered prompt for a breakdown template preview

Parameters:

Name Type Description Default
prompt str

The template rendered against the sample values

required

ClipResponse

Bases: BaseModel

Response representing a saved clip

Parameters:

Name Type Description Default
id str

Database ID of the clip

required
file_id str

Database ID of the clip's file record

required
clip_url str

Media URL serving the clip file

required
start_time float

Clip start time in seconds

required
end_time float

Clip end time in seconds

required
breakdown dict

The saved breakdown payload

required

ConvertResult

Bases: JobResult

Result of a convert job

Parameters:

Name Type Description Default
file_id str

Database ID of the saved MP4 file

required
video_url str

Media URL serving the converted MP4

required

FileDeleteResponse

Bases: MessageResponse

Confirmation for deleting a profile file, plus what it cascaded

Parameters:

Name Type Description Default
deleted_job_ids list[str]

Ids of the jobs removed alongside the file (a batch parent covers its children), so the client can prune them from the task tray

required

HealthStatusResponse

Bases: BaseModel

Minimal liveness confirmation

Parameters:

Name Type Description Default
status str

ok while the server is running

required

JobResponse

Bases: BaseModel

Response representing a processing job

Parameters:

Name Type Description Default
id str

Database ID of the job

required
type str

Operation type

required
status str

queued, running, succeeded, failed, or cancelled

required
progress float

Progress fraction in [0, 1]

required
total int

Number of work items

required
completed int

Number of finished work items

required
parent_id str | None

Parent batch job id, when this is a child

required
result dict[str, Any] | None

Produced references, or None until finished

required
error str | None

Failure message when status is failed

required
error_code str | None

Stable error code on failure (the domain exception's code, or ServerError for an unexpected failure)

required
error_details dict[str, Any] | None

Structured error context

required
created_at str

ISO-8601 creation timestamp

required
updated_at str

ISO-8601 last-update timestamp

required

JobResult

Bases: BaseModel

Base for a job's typed result payload

Job Results
  • Each Job Handler function returns one of these on success

  • The worker stores it on the job's result column and it is surfaced (as a plain object) in JobResponse.result

  • The client narrows them by the job's type

LlmTemplateResponse

Bases: BaseModel

Response representing a profile's LLM template

Parameters:

Name Type Description Default
id str

Database ID of the template

required
sys_msg str

System message

required
prompt str

Prompt template

required
model str

Model selector in provider:model form

required
srt_sys_msg str

Subtitle-fix system message (empty = server default)

required
srt_model str

Subtitle-fix model override (empty = use model)

required

MessageResponse

Bases: BaseModel

Generic success envelope for endpoints that only confirm an action

Parameters:

Name Type Description Default
success bool

Whether the action succeeded

required
message str

A short human-readable confirmation

required

ModelsResponse

Bases: BaseModel

The models offered by a configured LLM provider

Parameters:

Name Type Description Default
models list[str]

The available model ids

required

ProfileFileResponse

Bases: BaseModel

Response representing a profile file

Parameters:

Name Type Description Default
id str

Database ID of the file

required
name str

Base file name

required
url str

Media URL serving the file

required
type str | None

Optional file-type tag

required
folder str | None

Optional group label for files uploaded together

required
source_file_id str | None

Id of the root media this file derives from (its source video), or None when it is itself a root

required
origin str | None

How the file came to be (upload, generated, fixed, converted, subtitle, or clip)

required
created_at str | None

ISO-8601 creation timestamp

required

ProfileTranscriptResponse

Bases: BaseModel

Response representing a profile transcript

Parameters:

Name Type Description Default
id str

Database ID of the transcript

required
file_id str

Database ID of the source file

required
text str

Transcript text

required
llm_explanation str | None

Optional saved LLM explanation

required
url str | None

Media URL serving the source audio, when available

required
created_at str | None

ISO-8601 creation timestamp

required

ProviderStatusResponse

Bases: BaseModel

Availability of a single LLM provider

Parameters:

Name Type Description Default
provider str

The provider id (openai, anthropic, gemini, local)

required
available bool

Whether the provider is usable in this deployment

required

ProvidersResponse

Bases: BaseModel

Availability of every known LLM provider

Parameters:

Name Type Description Default
providers list[ProviderStatusResponse]

One entry per provider

required

SaveClipResponse

Bases: BaseModel

Response for the clip-save endpoint

Parameters:

Name Type Description Default
clip_id str

Database ID of the saved clip

required
file_id str

Database ID of the saved clip's file record

required
clip_url str

Media URL serving the stored clip

required

SrtResult

Bases: JobResult

Result of a generate_srt or fix_srt job

Parameters:

Name Type Description Default
srt_file_id str

Database ID of the saved SRT file

required
srt_url str

Media URL serving the stored SRT file

required
srt_content str

The SRT content

required

SystemInfoResponse

Bases: BaseModel

Basic information about the system running the server

Parameters:

Name Type Description Default
time str

Server time in ISO-8601, suffixed with Z

required
hostname str

The host name

required
platform str

A terse platform description

required
python str

The Python version

required
cpu_cores int | None

Logical CPU count, or None when unknown

required
gpu_available bool

Whether a CUDA GPU is available to transcription

required
gpu_name str

The GPU name, or empty when none

required

TranscribeResult

Bases: JobResult

Result of a transcribe job

Parameters:

Name Type Description Default
transcript_id str

Database ID of the saved transcript

required
transcript str

The transcription text

required