Current File : /home/mdkeenpw/public_html/wp-content/plugins/ai-engine/classes/query/transcribe.php |
<?php
class Meow_MWAI_Query_Transcribe extends Meow_MWAI_Query_Base {
public string $url = '';
public ?string $path = null;
public ?string $audioData = null;
public ?string $mimeType = null;
// Core Content
public ?Meow_MWAI_Query_DroppedFile $attachedFile = null;
public function __construct( $message = '', $model = 'whisper-1' ) {
parent::__construct( $message );
$this->set_model( $model );
$this->feature = 'transcription';
}
public function set_url( $url ) {
$this->url = $url;
}
public function set_path( $path ) {
$this->path = $path;
}
public function set_audio_data( $data, $mimeType = null ) {
$this->audioData = $data;
$this->mimeType = $mimeType;
}
// Based on the params of the query, update the attributes
public function inject_params( array $params ): void {
parent::inject_params( $params );
$params = $this->convert_keys( $params );
if ( !empty( $params['url'] ) ) {
$this->set_url( $params['url'] );
}
if ( !empty( $params['path'] ) ) {
$this->set_path( $params['path'] );
}
if ( !empty( $params['audioData'] ) || !empty( $params['audio_data'] ) ) {
$audioData = $params['audioData'] ?? $params['audio_data'];
$mimeType = $params['mimeType'] ?? $params['mime_type'] ?? null;
$this->set_audio_data( $audioData, $mimeType );
}
}
#region File Handling
public function set_file( Meow_MWAI_Query_DroppedFile $file ): void {
$this->attachedFile = $file;
}
#endregion
}