artificial_openai/
provider_impl_transcription.rs1use std::{future::Future, pin::Pin, sync::Arc};
2
3use artificial_core::{
4 error::Result,
5 provider::{TranscriptionProvider, TranscriptionRequest, TranscriptionResult},
6};
7
8use crate::OpenAiAdapter;
9
10impl TranscriptionProvider for OpenAiAdapter {
11 fn transcribe<'s>(
12 &'s self,
13 request: TranscriptionRequest,
14 ) -> Pin<Box<dyn Future<Output = Result<TranscriptionResult>> + Send + 's>> {
15 let client = Arc::clone(&self.client);
16 Box::pin(async move { Ok(client.audio_transcription(request).await?) })
17 }
18}