POST /search

通过语义搜索或元数据搜索来搜索您的音频库。传入一个扁平的 JSON 请求体,包含您需要的过滤条件。所有字段均为可选,您只需传入需要的参数即可。

请求

{
  "q": "dog barking",
  "target": "all",
  "tags": ["Thunder", "Sci-Fi"],
  "ucs": ["AIRBlow", "ANMLCat"],
  "formats": ["WAV", "AIFF"],
  "sampleRates": [44100, 48000],
  "channels": [1, 2],
  "bitDepths": [24],
  "minDuration": 1.0,
  "maxDuration": 10.0,
  "sort": "BestMatch",
  "ascending": false,
  "limit": 50,
  "offset": 0
}

请求字段

字段类型描述
qstring搜索查询文本
targetstring搜索模式(默认:"all"),详见下表
tagsstring[]按标签名称筛选,如 ["Thunder", "Sci-Fi"]
ucsstring[]按 UCS CatID 筛选,如 ["AIRBlow", "ANMLCat"]
formatsstring[]文件格式筛选,如 ["WAV", "MP3"]
sampleRatesnumber[]采样率筛选,如 [44100, 48000]
channelsnumber[]声道数筛选,如 [1, 2]
bitDepthsnumber[]位深度筛选,如 [16, 24]
minDurationnumber最短时长(秒)
maxDurationnumber最长时长(秒)
sortstring排序方式(默认:"BestMatch"),详见下表
ascendingboolean排序方向(默认:false,即降序)
limitnumber最多返回结果数(默认:50
offsetnumber分页偏移量(默认:0

target 有效值

描述
"all"混合搜索(语义 + 元数据,默认)
"semantic"仅语义(AI 驱动)搜索
"sfx"仅限音效文件
"music"仅限音乐文件
"tag"按标签名称筛选
"fileName"按文件名搜索
"artist"按艺术家搜索
"grouping"按分组搜索
"genre"按流派搜索
"albumTitle"按专辑名称搜索
"comment"按评论搜索
"ucsId"按 UCS 类别 / 子类别搜索
"ucsFxName"按 UCS FxName 搜索
"ucsCreatorID"按 UCS CreatorID 搜索
"ucsSourceID"按 UCS SourceID 搜索
"ucsUserCategory"按 UCS UserCategory 搜索
"ucsVendorCategory"按 UCS VendorCategory 搜索
"ucsUserData"按 UCS UserData 搜索

sort 有效值

描述
"BestMatch"按相关性分数排序(使用语义 / 混合搜索时推荐)
"DateAdded"按文件添加到库中的日期排序
"FileName"按文件名字母顺序排序
"Duration"按音频时长排序
"FileSize"按文件大小排序
"SampleRate"按采样率排序
"Channels"按声道数排序
"UCSCategory"按 UCS 类别排序
"format"按文件格式排序
"artist"按艺术家排序
"albumTitle"按专辑名称排序
"genre"按流派排序

响应

返回一个包含匹配文件对象的 JSON 数组。

[
  {
    "id": 12345,
    "absoluteURL": "file:///Users/username/Audio/SFX/explosion_huge.wav",
    "score": 95.5,
    "matches": [
      {
        "chunkId": 6789,
        "segments": [[0.5, 2.1], [3.0, 4.5]],
        "score": 92.0
      }
    ]
  }
]

响应字段

字段类型描述
idnumber音频资产的唯一标识符
absoluteURLstring本地文件的绝对路径 URL
scorenumber该文件的最高相关性分数(0–100)
matchesarray匹配的音频片段列表
matches[].chunkIdnumber具体匹配音频块的 ID
matches[].segmentsarray匹配发生的时间段 [开始, 结束](秒)
matches[].scorenumber该具体片段的相关性分数