async_openai/types/audio/
sdk.rs1#![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}