async_openai/types/audio/
sdk.rs

1#![cfg(not(target_family = "wasm"))]
2
3use crate::{error::OpenAIError, types::audio::CreateSpeechResponse, util::create_all_dir};
4use std::path::Path;
5
6impl CreateSpeechResponse {
7    pub async fn save<P: AsRef<Path>>(&self, file_path: P) -> Result<(), OpenAIError> {
8        let dir = file_path.as_ref().parent();
9
10        if let Some(dir) = dir {
11            create_all_dir(dir)?;
12        }
13
14        tokio::fs::write(file_path, &self.bytes)
15            .await
16            .map_err(|e| OpenAIError::FileSaveError(e.to_string()))?;
17
18        Ok(())
19    }
20}