本文档介绍了 OpenAI Python 库的文件和媒体处理功能,包括文件管理、音频处理(语音生成、转录和翻译)、图像操作以及内容审核。这些 API 处理二进制数据、多部分上传和各种媒体格式转换。
有关一般 API 模式和客户端配置,请参阅核心客户端类。有关音频转录中使用的流式传输功能,请参阅流式传输和实时 API。
文件和媒体操作分为五个主要资源类别,每个类别都提供同步和异步变体
来源:src/openai/resources/files.py35-657 src/openai/resources/audio/speech.py28-246 src/openai/resources/audio/transcriptions.py34-728 src/openai/resources/audio/translations.py29-368 src/openai/resources/images.py24-615 src/openai/resources/moderations.py24-198
通过 Files 和 AsyncFiles 类,可实现全面的文件管理功能,包括上传、下载、列出和删除操作。
来源:src/openai/resources/files.py55-345
| 方法 | 目的 | 参数 | 返回类型 |
|---|---|---|---|
create() | 上传文件 | file: FileTypes,purpose: FilePurpose | FileObject |
retrieve() | 获取文件元数据 | file_id: str | FileObject |
list() | 列出带分页的文件 | after、limit、order、purpose | SyncCursorPage[FileObject] |
delete() | 删除文件 | file_id: str | FileDeleted |
content() | 下载文件内容 | file_id: str | HttpxBinaryResponseContent |
wait_for_processing() | 轮询直至处理完成 | id: str、poll_interval、max_wait_seconds | FileObject |
为下载文件内容,content() 方法取代了已弃用的 retrieve_content() 方法 src/openai/resources/files.py289-321
wait_for_processing() 方法监控文件,直到它们达到最终状态
来源:src/openai/resources/files.py323-344 src/openai/resources/files.py635-656
音频处理包括三个主要操作:语音生成、转录和翻译。所有音频操作都支持多部分表单数据上传和各种音频格式。
来源:src/openai/resources/audio/speech.py48-116 src/openai/resources/audio/transcriptions.py294-348 src/openai/resources/audio/translations.py100-169
Speech 类使用文本转语音模型将文本转换为音频
可用声音:alloy、ash、ballad、coral、echo、fable、onyx、nova、sage、shimmer、verse
响应格式:mp3、opus、aac、flac、wav、pcm
来源:src/openai/resources/audio/speech.py48-116 src/openai/types/audio/speech_create_params.py13-54
Transcriptions 类提供将语音转换为文本的功能,支持高级特性,包括流式传输、分块策略和置信度分数。
| 功能 | 描述 | 模型 |
|---|---|---|
| 流式传输 | 通过 SSE 进行实时转录 | gpt-4o-transcribe、gpt-4o-mini-transcribe |
| 分块策略 | 语音活动检测 (VAD) | 所有模型 |
| 对数概率 | 置信度分数 | gpt-4o-transcribe、gpt-4o-mini-transcribe |
| 时间戳粒度 | 单词/片段时间戳 | 所有支持 verbose_json 的模型 |
来源:src/openai/resources/audio/transcriptions.py54-348 src/openai/types/audio/transcription_create_params.py22-149
Translations 类将外语音频直接翻译成英文文本
翻译仅支持 whisper-1 模型,无论输入语言为何,都生成英文输出。
来源:src/openai/resources/audio/translations.py100-169 src/openai/types/audio/translation_create_params.py14-50
Images 类提供跨多种模型的图像生成、编辑和变体功能。
来源:src/openai/resources/images.py44-345 src/openai/resources/images.py368-439 src/openai/resources/images.py441-615
| 方法 | 目的 | 模型 | 主要功能 |
|---|---|---|---|
generate() | 从文本提示创建 | dall-e-2、dall-e-3、gpt-image-1 | 质量级别、样式、透明度 |
edit() | 修改现有图像 | dall-e-2、gpt-image-1 | 支持遮罩,多图像 |
create_variation() | 生成变体 | 仅限 dall-e-2 | PNG 输入,方形格式 |
DALL-E 2:基本的生成、编辑和变体。支持 url/b64_json 输出。
DALL-E 3:仅支持高质量生成。支持 vivid/natural 样式和 hd 质量。
GPT-Image-1:高级编辑,支持透明度控制、压缩设置,并始终返回 base64 编码的图像。
来源:src/openai/resources/images.py228-345 src/openai/resources/images.py117-226
Moderations 类分析文本和图像内容,以检测潜在有害材料。
来源:src/openai/resources/moderations.py44-91 src/openai/resources/moderations.py114-161
所有文件上传操作都使用一致的多部分表单数据处理方式
每个资源类都提供 with_raw_response 和 with_streaming_response 属性,用于高级响应处理
文件内容和生成的媒体返回 HttpxBinaryResponseContent,用于高效的二进制数据处理
来源:src/openai/resources/files.py255-287 src/openai/resources/audio/speech.py48-116 src/openai/resources/images.py44-115 src/openai/resources/moderations.py44-91