媒体模型列表
使用 GET /api/v1/media_models 查询哪些图片、视频、音频和音乐生成模型可以通过公开生成 API 调用。响应基于当前激活的媒体模型配置生成,并且只返回已经配置公开 API 的 mode。
Endpoint
GET /api/v1/media_models
查询参数
| 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
media_type |
string | 否 | 按 image、video 或 audio 过滤。 |
请求示例
curl "https://img2vid.net/api/v1/media_models?media_type=image" \
-H "Authorization: Bearer $BUBLE_API_KEY"
响应结构
{
"data": [
{
"model": "google/nano-banana-pro",
"name": "Nano Banana Pro",
"media_type": "image",
"operations": [
{
"mode": "text_to_image",
"description": "Generate images from a prompt.",
"input": {
"required": ["prompt"],
"optional": []
},
"parameters": [
{
"name": "aspect_ratio",
"type": "string",
"default": "1:1",
"enum": ["1:1", "16:9"],
"required": false
}
]
}
]
}
]
}
关键字段
| 字段 | 说明 |
|---|---|
model |
创建生成任务时传入的 model。 |
operations[].mode |
创建生成任务时传入的公开 mode。 |
operations[].input.required |
当前 mode 最少需要的公开字段。 |
operations[].parameters |
当前 mode 支持、并可直接放在请求体根层级的生成参数。 |
为什么建议显式传 mode
一个模型可能支持多个操作。生产环境建议显式传 mode。如果省略,Img2Vid 只有在输入形态唯一匹配某个 mode 时才会自动推断。
SDK 示例
SDK 的媒体模型发现方法对应 GET /api/v1/media_models。请把这个响应作为模型 key、公开 mode、必填输入字段和模型专属参数的事实来源。
下面的片段假设你已经按快速开始初始化了 SDK client,并引入了对应语言需要的 SDK 类型。
JavaScript / TypeScript
const models = await buble.mediaModels.list({ media_type: 'video' });
Python
models = client.media_models.list(media_type="video")
Go
models, err := client.MediaModels.List(ctx, "video")
Rust
let models = client.media_models().list(Some("video")).await?;
Swift
let models = try await client.mediaModels.list(mediaType: "video")
Dart / Flutter
final models = await client.mediaModels.list(mediaType: 'video');
Elixir
{:ok, models} = Buble.MediaModels.list(client, media_type: "video")
Java
Envelope<List<MediaModel>> models = client.mediaModels().list("video");
.NET
var models = await client.MediaModels.ListAsync(mediaType: "video");
PHP
$models = $client->mediaModels()->list(mediaType: 'video');
Ruby
models = client.media_models.list(media_type: "video")