概述
本 SDK 提供便捷的批量上传图片和视频素材功能,支持递归扫描、并发上传、格式过滤等特性。
快速开始
1.安装
pip install gravity-material-upload
2.基础用法
from gravity_material_upload import MaterialClient
# 1. 创建客户端
client = MaterialClient(
# app_key: 请在引力后台-设置-引力开发者中查看
# URL: https://web.gravity-engine.com/#/manage/develop
app_key="your_app_key",
)
# 2. 一键上传素材(扫描 + 上传)
client.upload_material(
source_paths=["./video1.mp4", "./image1.png"],
recursive=True,
allowed_extensions=[".png", ".mp4"],
max_workers=5,
upload_config={
"album_id": 123,
"remark": "your_remark",
},
)
详细参数说明
MaterialClient参数
| 参数 | 类型 |
必填
|
说明
|
| app_key | str | 是 | 开发者应用密钥,在获取 |
upload_material方法参数
|
参数
|
类型
|
默认值
|
说明
|
|
source_paths
|
str | List[str]
|
"./"
|
目标路径。用法示例:
1.
["./file1.mp4", "./file2.png"]: 仅上传这两个文件2.
"./": 上传当前目录下所有匹配的文件3.
"./data/*.mp4": 使用通配符匹配文件 |
|
recursive
|
bool
|
True
|
是否递归搜索子目录
|
|
allowed_extensions
|
Tuple[str, ...]
|
None
|
自定义文件后缀白名单,仅保留在默认支持列表中的后缀。
支持的格式为:
视频:mp4/avi/mov
图片:png/jpg/jpeg/gif
|
|
max_workers
|
int
|
5
|
最大并发上传线程数
|
|
upload_config
|
dict
|
必填
|
自定义上传配置参数。
请在引力素材管理页中复制,再粘贴到代码中(见下图红框部分)
![]() |
使用示例
示例1:上传指定文件夹
# 上传 videos 文件夹下的所有视频文件
client.upload_material(
source_paths="./videos",
recursive=True,
allowed_extensions=[".mp4", ".avi","mov"],
upload_config={
"album_id": 456,
"remark": "产品宣传视频",
}
)
示例2:上传特定文件
示例3:使用通配符匹配
# 上传 data 目录下所有 .jpg 文件
client.upload_material(
source_paths="./data/*.jpg",
recursive=False, # 不扫描子目录
upload_config={
"album_id": 101,
"remark": "用户头像",
}
)