Vermillio Music SDK Reference¶
Vermillio Music AI Detect Client¶
The VermillioMusicAIDetect client is the primary interface for interacting with the Music AI Detect Service.
Bases: VermillioBasePipelineClient
__init__ ¶
__init__(config: Optional[VermillioConfig] = None)
Initializes the Music AI Detection Client.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
config
|
Optional[VermillioConfig]
|
An optional configuration object. If None, it attempts to load configuration from environment variables. |
None
|
load ¶
load(
sources: Union[list[AIDetectExternalSource], list[str]],
context: Optional[str] = None,
) -> Optional[list[AIDetectPipelineSource]]
Loads a list of audio sources into the AI detection pipeline. Processing occurs asynchronously.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
sources
|
Union[list[AIDetectExternalSource], list[str]]
|
The external audio sources, or paths to a file, to analyze. |
required |
context
|
Optional[str]
|
An optional context, uses |
None
|
Returns:
| Type | Description |
|---|---|
Optional[list[AIDetectPipelineSource]]
|
Optional[AIDetectPipelineSource]: An AI Detect Pipeline Source entry, if was loaded successfully. |
load_results ¶
load_results(
sources: Union[list[AIDetectExternalSource], list[str]],
context: Optional[str] = None,
wait: bool = True,
) -> Optional[list[AIDetectPipelineResults]]
Loads a list of audio sources into the AI detection pipeline and returns results.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
sources
|
Union[list[AIDetectExternalSource], list[str]]
|
The external audio sources, or paths to a file, to analyze. |
required |
context
|
Optional[str]
|
An optional context, uses |
None
|
wait
|
bool
|
Whether to wait until each source has finished processing before returning. |
True
|
Returns:
| Type | Description |
|---|---|
Optional[list[AIDetectPipelineResults]]
|
Optional[list[AIDetectPipelineResults]]: Detection results for each loaded source. |
pipeline ¶
pipeline() -> AIDetectPipeline
Retrieves the configuration or definition of the current AI detection pipeline.
Returns:
| Name | Type | Description |
|---|---|---|
AIDetectPipeline |
AIDetectPipeline
|
An object containing the pipeline definition. |
results ¶
results(
id_or_source_id: str,
context: Optional[str] = None,
wait: bool = False,
) -> Optional[AIDetectPipelineResults]
Retrieves the AI detection analysis results for a specific source.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
id_or_source_id
|
str
|
The unique identifier of the source to get results for. |
required |
context
|
Optional[str]
|
An optional context, uses |
None
|
wait
|
bool
|
Optionally wait until the source is in a done state by retrying on a response indicating incomplete. |
False
|
timeout
|
int
|
|
required |
Returns:
| Type | Description |
|---|---|
Optional[AIDetectPipelineResults]
|
Optional[AIDetectPipelineResults]: An object containing the AI vs. Real probability scores and analysis metadata. |
run ¶
run(
source: Union[AIDetectExternalSource, str],
context: Optional[str] = None,
timeout: float = 60,
poll_rate: float = 1,
) -> Optional[AIDetectPipelineSource]
Loads a source and waits (within a timeout) for the AI detection analysis to complete.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
source
|
Union[AIDetectExternalSource, str]
|
The external audio source, or path to a file, to analyze. |
required |
context
|
Optional[str]
|
An optional context, uses |
None
|
timeout
|
float
|
Optional maximum time in seconds to wait for the analysis. |
60
|
poll_rate
|
float
|
Optional frequency in seconds at which to poll for updates. |
1
|
Returns:
| Type | Description |
|---|---|
Optional[AIDetectPipelineSource]
|
Optional[list[AIDetectPipelineSource]]: The list of processed sources upon completion. |
run_results ¶
run_results(
source: Union[AIDetectExternalSource, str],
context: Optional[str] = None,
timeout: float = 60,
poll_rate: float = 1,
) -> Optional[AIDetectPipelineResults]
Loads a source and waits for completion, returning detailed AI detection analysis results.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
source
|
Union[AIDetectExternalSource, str]
|
The external audio source, or path to a file, to analyze. |
required |
context
|
Optional[str]
|
An optional context, uses |
None
|
timeout
|
float
|
Maximum time in seconds to wait for results. |
60
|
poll_rate
|
float
|
Frequency in seconds at which to poll for results. |
1
|
Returns:
| Type | Description |
|---|---|
Optional[AIDetectPipelineResults]
|
Optional[AIDetectPipelineResults]: A list containing detection scores, confidence levels, and AI-generated probability markers. |
source ¶
source(
id_or_source_id: str, context: Optional[str] = None
) -> Optional[AIDetectPipelineSource]
Fetches details for a specific audio source.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
id_or_source_id
|
str
|
The unique identifier or source ID to retrieve. |
required |
context
|
Optional[str]
|
An optional context, uses |
None
|
Returns:
| Type | Description |
|---|---|
Optional[AIDetectPipelineSource]
|
Optional[AIDetectPipelineSource]: The source object if found. |
sources ¶
sources(
context: Optional[str] = None,
after_id: Optional[str] = None,
limit: int = 10,
) -> Optional[list[AIDetectPipelineSource]]
Lists previously loaded audio sources with pagination support.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
context
|
Optional[str]
|
An optional context, uses |
None
|
after_id
|
Optional[str]
|
The optional ID to start listing after for pagination. |
None
|
limit
|
int
|
The maximum number of sources to return. |
10
|
Returns:
| Type | Description |
|---|---|
Optional[list[AIDetectPipelineSource]]
|
Optional[list[AIDetectPipelineSource]]: A list of source objects if found. |
status ¶
Checks the health or operational status of the AI Detection service.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
context
|
Optional[str]
|
An optional context, uses |
None
|
Returns:
| Name | Type | Description |
|---|---|---|
AIDetectPipelineStatus |
AIDetectPipelineStatus
|
An object indicating the current state of the pipeline. |
upload_and_load ¶
upload_and_load(
file_paths: list[str],
titles: list[str],
context: Optional[str] = None,
) -> Optional[list[AIDetectPipelineSource]]
Uploads audio files as assets and loads them into the AI detection pipeline. Processing occurs asynchronously.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
file_paths
|
list[str]
|
Local file paths of audio files to upload. |
required |
titles
|
list[str]
|
Titles for each uploaded asset. |
required |
context
|
Optional[str]
|
An optional context, uses |
None
|
Returns:
| Type | Description |
|---|---|
Optional[list[AIDetectPipelineSource]]
|
Optional[list[AIDetectPipelineSource]]: The loaded pipeline source entries. |
upload_and_load_results ¶
upload_and_load_results(
file_paths: list[str],
titles: list[str],
context: Optional[str] = None,
wait: bool = True,
) -> Optional[list[AIDetectPipelineResults]]
Uploads audio files as assets, loads them into the AI detection pipeline, and returns results.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
file_paths
|
list[str]
|
Local file paths of audio files to upload. |
required |
titles
|
list[str]
|
Titles for each uploaded asset. |
required |
context
|
Optional[str]
|
An optional context, uses |
None
|
wait
|
bool
|
Whether to wait until each source has finished processing before returning. |
True
|
Returns:
| Type | Description |
|---|---|
Optional[list[AIDetectPipelineResults]]
|
Optional[list[AIDetectPipelineResults]]: Detection results for each loaded source. |
Music AI Detect Model Classes¶
These Pydantic models represent the inputs and outputs of the Music AI Detect Service.
AIDetectExternalSource
pydantic-model
¶
AIDetectLoadRequest
pydantic-model
¶
AIDetectPipelineResults
pydantic-model
¶
Bases: PipelineResults
Fields:
-
id(str) -
status(PipelineSourceStatus) -
created_at(float) -
updated_at(Optional[float]) -
source_id(Optional[str]) -
source_path(Optional[str]) -
results(Optional[AIDetectResults])
results
pydantic-field
¶
results: Optional[AIDetectResults] = None
The AI Detection results, if the execution was successful.
AIDetectPipelineSource
pydantic-model
¶
Bases: PipelineSource
Fields:
AIDetectResults
pydantic-model
¶
Bases: BaseCamelModel
Fields:
AIDetectRunRequest
pydantic-model
¶
Bases: PipelineRunRequest
Fields:
source
pydantic-field
¶
source: Union[AIDetectExternalSource, str]
The external source, or path of the fule to run AI Detection on.
AIDetectSegment
pydantic-model
¶
Bases: BaseCamelModel
Fields:
-
query_segment(AudioSegment) -
label(Literal['real_music', 'ai_music']) -
confidence(Optional[float]) -
source_id(str)
label
pydantic-field
¶
label: Literal['real_music', 'ai_music']
Whether or not this segment is real or ai.
query_segment
pydantic-field
¶
query_segment: AudioSegment
The times in the original source file that this result is associated with.