Skip to main content

kcode_openai_api/
lib.rs

1//! OpenAI audio transcription and GPT Image generation.
2//!
3//! [`OpenAi`] owns an API key and exposes the direct OpenAI API operations
4//! currently needed by Kennedy: `gpt-4o-transcribe` audio transcription and
5//! `gpt-image-2` image generation. The crate does not persist credentials,
6//! requests, responses, or generated media.
7
8#![deny(missing_docs)]
9#![forbid(unsafe_code)]
10
11mod api;
12mod error;
13mod model;
14
15pub use api::OpenAi;
16pub use error::{Error, Result};
17pub use model::{
18    AudioInput, GeneratedImage, ImageBackground, ImageFormat, ImageGeneration,
19    ImageGenerationRequest, ImageQuality, ImageSize, ImageTokenDetails, ImageUsage, Moderation,
20    Transcription, TranscriptionRequest, TranscriptionTokenDetails, TranscriptionTokenUsage,
21    TranscriptionUsage,
22};
23
24/// OpenAI model used for audio transcription.
25pub const GPT_4O_TRANSCRIBE: &str = "gpt-4o-transcribe";
26/// Latest GPT Image model used for image generation.
27pub const GPT_IMAGE_2: &str = "gpt-image-2";
28/// Default transcription guidance preserving Kennedy's current behavior.
29pub const DEFAULT_TRANSCRIPTION_PROMPT: &str = "Transcribe faithfully. When discernible and relevant, include non-speech sounds, speaker changes, tone, pauses, music, and background audio in concise brackets.";