kcode-openai-api 0.2.0

Typed OpenAI transcription, text/tool turns, model metadata, and image operations
Documentation
//! OpenAI audio transcription, prompt-driven image analysis, and GPT Image generation.
//!
//! [`OpenAi`] owns an API key and exposes the direct OpenAI API operations
//! currently needed by Kennedy: `gpt-4o-transcribe` audio transcription,
//! `gpt-5.6` single-image analysis, and `gpt-image-2` image generation. The
//! crate does not persist credentials, requests, responses, or media.

#![deny(missing_docs)]
#![forbid(unsafe_code)]

mod agent;
mod api;
mod error;
mod model;

pub use agent::{
    AgentTokenUsage, AgentTool, AgentToolCall, AgentTurnRequest, AgentTurnResponse, ModelMetadata,
};
pub use api::OpenAi;
pub use error::{Error, Result};
pub use model::{
    AudioInput, GeneratedImage, ImageAnalysis, ImageAnalysisRequest, ImageAnalysisStatus,
    ImageAnalysisUsage, ImageBackground, ImageDetail, ImageEditRequest, ImageFormat,
    ImageGeneration, ImageGenerationRequest, ImageInput, ImageMediaType, ImageQuality, ImageSize,
    ImageTokenDetails, ImageUsage, Moderation, Transcription, TranscriptionRequest,
    TranscriptionTokenDetails, TranscriptionTokenUsage, TranscriptionUsage,
};

/// OpenAI model used for audio transcription.
pub const GPT_4O_TRANSCRIBE: &str = "gpt-4o-transcribe";
/// OpenAI model used for prompt-driven image analysis.
pub const GPT_5_6: &str = "gpt-5.6";
/// Latest GPT Image model used for image generation.
pub const GPT_IMAGE_2: &str = "gpt-image-2";
/// Default transcription guidance preserving Kennedy's current behavior.
pub 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.";