# 媒体 API

AnyInt 目前通过 DashScope 发布媒体生成路由。这些不是聊天补全端点。它们有各自的请求体，视频生成是基于任务的。

## 已发布路由

| 路由                                                                  | 用途           |
| ------------------------------------------------------------------- | ------------ |
| `POST /v1/dashscope/services/aigc/multimodal-generation/generation` | 基于提示词的图像生成   |
| `POST /v1/dashscope/services/aigc/video-generation/video-synthesis` | 提示词、图像和音频转视频 |
| `GET /v1/dashscope/tasks/{task_id}`                                 | 查询视频任务状态和结果  |

## 身份验证

```http
Authorization: Bearer <ANYINT_API_KEY>
```

## DashScope 图像生成

### 核心请求结构

已发布的 schema 期望：

* `model`
* `input.messages`
* `parameters.size`
* 可选图像控制项，例如 `negative_prompt`, `prompt_extend`以及 `watermark`

### cURL 示例

```bash
curl https://gateway.api.anyint.ai/v1/dashscope/services/aigc/multimodal-generation/generation \
  -H "Authorization: Bearer $ANYINT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "qwen-image-plus",
    "input": {
      "messages": [
        {
          "role": "user",
          "content": [
            {
              "text": "一张用于 AI 音乐发布的电影感产品海报，霓虹高光，高级棚拍灯光。"
            }
          ]
        }
      ]
    },
    "parameters": {
      "negative_prompt": "",
      "prompt_extend": true,
      "watermark": false,
      "size": "1328*1328"
    }
  }'
```

有用的响应字段：

* `output.choices[0].message.content[].image`
* `usage.width`
* `usage.height`
* `usage.image_count`

## DashScope 视频生成

### 核心请求结构

当前 schema 期望：

* `model`
* `input.prompt`
* `input.img_url`
* `input.audio_url`
* `parameters.resolution`
* `parameters.duration`
* `parameters.audio`
* `parameters.shot_type`

### cURL 示例

```bash
curl https://gateway.api.anyint.ai/v1/dashscope/services/aigc/video-generation/video-synthesis \
  -H "Authorization: Bearer $ANYINT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "wan2.5-i2v-preview",
    "input": {
      "prompt": "夜晚的铁路桥下，一个涂鸦说唱歌手活了过来，随着节拍表演。",
      "img_url": "https://example.com/source-image.png",
      "audio_url": "https://example.com/source-audio.mp3"
    },
    "parameters": {
      "resolution": "720P",
      "prompt_extend": true,
      "duration": 10,
      "audio": true,
      "shot_type": "multi"
    }
  }'
```

### 响应模式

这是一个基于任务的 API。响应会返回：

* `output.task_id`
* `output.task_status`
* `metadata.provider`

## 视频任务查询

当前目录中显示的任务查询路径形式为：

`GET /v1/dashscope/tasks/{task_id}`

Apifox 目前在示例路径中直接包含了一个示例任务 ID。请将其视为路径模板，而不是固定 ID。

### 查询示例

```bash
curl https://gateway.api.anyint.ai/v1/dashscope/tasks/your-task-id \
  -H "Authorization: Bearer $ANYINT_API_KEY"
```

### 查询响应字段

| 字段                     | 含义             |
| ---------------------- | -------------- |
| `output.task_status`   | 当前任务状态         |
| `output.video_url`     | 成功后生成的视频 URL   |
| `output.actual_prompt` | 提供方扩展后实际使用的提示词 |
| `usage.duration`       | 生成时长           |
| `usage.video_count`    | 输出数量           |

在已发布的示例中，视频任务会从 `PENDING` 变为 `SUCCEEDED`.

### HappyHorse 视频生成

HappyHorse 可通过与 DashScope 兼容的视频合成 API 使用。先创建视频任务，然后轮询任务端点，直到 `output.task_status` 变为 `SUCCEEDED`。使用 `happyhorse-1.0-t2v` 作为模型。请求可以包含提示词、源图像 URL 和源音频 URL。初始响应会返回 `request_id` 用于追踪，以及 `output.task_id` 用于结果轮询。

#### 创建视频任务

```bash
curl --location --request POST 'https://gateway.api.anyint.ai/dashscope/v1/services/aigc/video-generation/video-synthesis' \
  --header "Authorization: Bearer $ANYINT_API_KEY" \
  --header 'Content-Type: application/json' \
  --data-raw '{
    "model": "happyhorse-1.0-t2v",
    "input": {
      "prompt": "一个都市奇幻场景，电影风格。一位涂鸦绘制的少年说唱歌手从夜晚铁路桥下的混凝土墙中活了过来，表演一段快速英文说唱，并摆出一个充满活力的经典说唱姿势。唯一的音频是说唱，没有额外对白或噪音。",
      "img_url": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20250925/wpimhv/rap.png",
      "audio_url": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20250925/ozwpvi/rap.mp3"
    },
    "parameters": {
      "resolution": "720P",
      "prompt_extend": true,
      "duration": 10,
      "audio": true,
      "shot_type": "multi"
    }
  }'
响应示例：
{
  "request_id": "570dd72c-52ae-9151-b819-411edf66069e",
  "output": {
    "task_id": "c25723f0-8f2b-401a-b843-7ae05ae4e5e3",
    "task_status": "PENDING"
  }
}
查询生成的视频
使用上一条响应中的 output.task_id：
curl --location --request GET "https://gateway.api.anyint.ai/dashscope/v1/tasks/$TASK_ID" \
  --header "Authorization: Bearer $ANYINT_API_KEY"
响应示例：
{
  "request_id": "1e1fb115-c22a-9769-af2c-056451a8f692",
  "output": {
    "task_id": "a54b0585-aa49-45be-8786-fc46414634da",
    "task_status": "SUCCEEDED",
    "submit_time": "2026-04-27 17:01:39.657",
    "scheduled_time": "2026-04-27 17:01:39.689",
    "end_time": "2026-04-27 17:07:10.758",
    "orig_prompt": "一个都市奇幻场景，电影风格...",
    "video_url": "https://example.com/generated-video.mp4"
  },
  "usage": {
    "duration": 10,
    "input_video_duration": 0,
    "output_video_duration": 10,
    "video_count": 1,
    "SR": 720,
    "ratio": "16:9"
  }
}
```

将 output.video\_url 复制到浏览器中即可预览或下载生成的视频。视频 URL 是临时的，因此如果需要保留，请保存文件。

## 何时使用媒体 API，何时使用 AI Music

在以下场景使用媒体 API：

* 图像生成
* 提示词转视频
* 图像加音频转视频

使用 [AI Music](/docs/zh/ai-yin-yue/gai-lan.md) 用于：

* 歌曲生成
* 封面工作流
* 角色形象
* 歌词
* 分轨
* 与 Suno 任务关联的音乐视频生成

## 常见错误

* 将 Apifox 中的示例任务 ID 视为固定路由
* 以为视频生成会在初始响应中返回最终 MP4
* 将 Gemini 的图像生成载荷直接用于 DashScope 路由


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://anyint.gitbook.io/docs/zh/api-can-kao/mei-ti-api.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
