菜单

文件和媒体操作

相关源文件

本文档介绍了 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

文件 API

通过 FilesAsyncFiles 类,可实现全面的文件管理功能,包括上传、下载、列出和删除操作。

文件操作工作流程

来源:src/openai/resources/files.py55-345

核心文件方法

方法目的参数返回类型
create()上传文件file: FileTypespurpose: FilePurposeFileObject
retrieve()获取文件元数据file_id: strFileObject
list()列出带分页的文件afterlimitorderpurposeSyncCursorPage[FileObject]
delete()删除文件file_id: strFileDeleted
content()下载文件内容file_id: strHttpxBinaryResponseContent
wait_for_processing()轮询直至处理完成id: strpoll_intervalmax_wait_secondsFileObject

为下载文件内容,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 类使用文本转语音模型将文本转换为音频

可用声音alloyashballadcoralechofableonyxnovasageshimmerverse

响应格式mp3opusaacflacwavpcm

来源:src/openai/resources/audio/speech.py48-116 src/openai/types/audio/speech_create_params.py13-54

音频转录

Transcriptions 类提供将语音转换为文本的功能,支持高级特性,包括流式传输、分块策略和置信度分数。

转录功能

功能描述模型
流式传输通过 SSE 进行实时转录gpt-4o-transcribegpt-4o-mini-transcribe
分块策略语音活动检测 (VAD)所有模型
对数概率置信度分数gpt-4o-transcribegpt-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-2dall-e-3gpt-image-1质量级别、样式、透明度
edit()修改现有图像dall-e-2gpt-image-1支持遮罩,多图像
create_variation()生成变体仅限 dall-e-2PNG 输入,方形格式

模型特定功能

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_responsewith_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