Skip to main content

kcode_openai_api/
lib.rs

1//! OpenAI audio transcription, prompt-driven image analysis, 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,
5//! `gpt-5.6` single-image analysis, and `gpt-image-2` image generation. The
6//! crate does not persist credentials, requests, responses, or 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, ImageAnalysis, ImageAnalysisRequest, ImageAnalysisStatus,
19    ImageAnalysisUsage, ImageBackground, ImageDetail, ImageFormat, ImageGeneration,
20    ImageGenerationRequest, ImageInput, ImageMediaType, ImageQuality, ImageSize, ImageTokenDetails,
21    ImageUsage, Moderation, Transcription, TranscriptionRequest, TranscriptionTokenDetails,
22    TranscriptionTokenUsage, TranscriptionUsage,
23};
24
25/// OpenAI model used for audio transcription.
26pub const GPT_4O_TRANSCRIBE: &str = "gpt-4o-transcribe";
27/// OpenAI model used for prompt-driven image analysis.
28pub const GPT_5_6: &str = "gpt-5.6";
29/// Latest GPT Image model used for image generation.
30pub const GPT_IMAGE_2: &str = "gpt-image-2";
31/// Default transcription guidance preserving Kennedy's current behavior.
32pub 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.";