Skip to main content

ApiClient

@fovea/annotation-tool


@fovea/annotation-tool / api/client / ApiClient

Class: ApiClient

Defined in: src/api/client.ts:314

HTTP client for backend API communication. Wraps axios with typed methods for video summary and job management.

Constructors

Constructor

new ApiClient(config): ApiClient

Defined in: src/api/client.ts:322

Create a new API client.

Parameters

config

ApiClientConfig = {}

Client configuration options

Returns

ApiClient

Methods

augmentOntology()

augmentOntology(request): Promise<AugmentationResponse>

Defined in: src/api/client.ts:457

Request AI-generated ontology type suggestions.

Parameters

request

AugmentOntologyRequest

Augmentation parameters

Returns

Promise<AugmentationResponse>

Suggestions with confidence scores and reasoning

Throws

ApiError if request fails


deleteSummary()

deleteSummary(videoId, personaId): Promise<void>

Defined in: src/api/client.ts:440

Delete a video summary.

Parameters

videoId

string

Video identifier

personaId

string

Persona identifier

Returns

Promise<void>

Throws

ApiError if request fails


detectObjects()

detectObjects(request): Promise<DetectionResponse>

Defined in: src/api/client.ts:485

Detect objects in video frames using open-vocabulary detection models. Supports both persona-based queries (using ontology and world state) and manual text queries.

Parameters

request

DetectionRequest

Detection parameters

Returns

Promise<DetectionResponse>

Detection results with bounding boxes and confidence scores

Throws

ApiError if request fails


generateSummary()

generateSummary(request): Promise<GenerateSummaryResponse>

Defined in: src/api/client.ts:382

Queue a video summary generation job.

Parameters

request

GenerateSummaryRequest

Summary generation parameters

Returns

Promise<GenerateSummaryResponse>

Job information with job ID

Throws

ApiError if request fails


getJobStatus()

getJobStatus(jobId): Promise<JobStatus>

Defined in: src/api/client.ts:403

Check the status of a background job.

Parameters

jobId

string

Job identifier

Returns

Promise<JobStatus>

Job status information

Throws

ApiError if request fails


getModelConfig()

getModelConfig(): Promise<ModelConfig>

Defined in: src/api/client.ts:510

Get current model configuration for all task types.

Returns

Promise<ModelConfig>

Model configuration with all task types and options

Throws

ApiError if request fails


getModelStatus()

getModelStatus(): Promise<ModelStatusResponse>

Defined in: src/api/client.ts:568

Get status information for all loaded models. Includes health status, VRAM usage, and performance metrics.

Returns

Promise<ModelStatusResponse>

Model status with loaded model information

Throws

ApiError if request fails


getVideoSummaries()

getVideoSummaries(videoId): Promise<VideoSummary[]>

Defined in: src/api/client.ts:339

Fetch all summaries for a video.

Parameters

videoId

string

Video identifier

Returns

Promise<VideoSummary[]>

Array of video summaries

Throws

ApiError if request fails


getVideoSummary()

getVideoSummary(videoId, personaId): Promise<null | VideoSummary>

Defined in: src/api/client.ts:358

Fetch a specific summary for a video and persona combination.

Parameters

videoId

string

Video identifier

personaId

string

Persona identifier

Returns

Promise<null | VideoSummary>

Video summary or null if not found

Throws

ApiError if request fails (except 404)


saveSummary()

saveSummary(summary): Promise<VideoSummary>

Defined in: src/api/client.ts:419

Save or update a video summary directly.

Parameters

summary

Omit<VideoSummary, "id" | "createdAt" | "updatedAt">

Summary data to save

Returns

Promise<VideoSummary>

Saved summary

Throws

ApiError if request fails


selectModel()

selectModel(request): Promise<SelectModelResponse>

Defined in: src/api/client.ts:526

Select a model for a specific task type.

Parameters

request

SelectModelRequest

Task type and model name to select

Returns

Promise<SelectModelResponse>

Selection confirmation

Throws

ApiError if request fails


validateMemoryBudget()

validateMemoryBudget(): Promise<MemoryValidation>

Defined in: src/api/client.ts:550

Validate memory budget for currently selected models.

Returns

Promise<MemoryValidation>

Memory validation results

Throws

ApiError if request fails