> ## Documentation Index
> Fetch the complete documentation index at: https://docs.momoapi.top/llms.txt
> Use this file to discover all available pages before exploring further.

# 图片与视频生成

> 使用 GPT Image 与 Doubao Seedance 系列生成图片和视频

> ## Documentation Index
>
> Fetch the complete documentation index at: [https://docs.momoapi.top/llms.txt](https://docs.momoapi.top/llms.txt) Use this file to discover all available pages before exploring further.

# 图片与视频生成

> 使用 GPT Image 与 Doubao Seedance 系列生成图片和视频

Momoapi 支持图片生成模型 `gpt-image-2` 与字节跳动 Doubao Seedance 2.0 视频生成模型,接口兼容 OpenAI 风格,可直接用 curl / OpenAI SDK / 任意 HTTP 客户端调用。

## 模型清单

| 模型                                | 类型   | 接口                       | 同步/异步       | 计费              |
| --------------------------------- | ---- | ------------------------ | ----------- | --------------- |
| `gpt-image-2`                     | 图片生成 | `/v1/images/generations` | 同步          | 约 \$0.04 / 张    |
| `doubao-seedance-2-0-260128`      | 视频生成 | `/v1/video/generations`  | **异步**(需轮询) | 输入/输出 \$51 / 1M |
| `doubao-seedance-2-0-fast-260128` | 视频生成 | `/v1/video/generations`  | **异步**(需轮询) | 输入/输出 \$37 / 1M |
| `doubao-seedance-2-0-mini-260615` | 视频生成 | `/v1/video/generations`  | **异步**(需轮询) | 输入/输出 \$23 / 1M |

<Note>
  实际扣费 = 模型基础价格 × 使用量 × 你所在**分组的折扣倍率**。图片按张估算,视频模型按控制台展示的输入/输出用量计费,最终以 Momoapi 控制台账单为准。
</Note>

## 图片生成

图片生成为**同步调用**:提交 prompt 后等待几秒,直接返回图片 URL 或 Base64。

### `gpt-image-2`

`gpt-image-2` 是通用图片生成模型,适合文生图、配图、海报草图、产品图和创意素材。单张图片大约 \$0.04,具体扣费以控制台为准。

* **适合**:文章配图、封面、海报、产品图、社媒素材、创意草图
* **计费**:按张计费,约 \$0.04 / 张

### 调用示例

```bash theme={null}
curl https://momoapi.top/v1/images/generations \
  -H "Authorization: Bearer sk-你的Token" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-image-2",
    "prompt": "A clean product photo of a white wireless keyboard on a glass desk, soft studio lighting",
    "n": 1,
    "response_format": "url"
  }'
```

### 图片参数说明

| 参数                | 类型     | 必填 | 默认    | 说明                                               |
| ----------------- | ------ | -- | ----- | ------------------------------------------------ |
| `model`           | string | 是  | —     | 固定填 `gpt-image-2`                                |
| `prompt`          | string | 是  | —     | 图片描述。建议写清主体、构图、光线、材质、风格和用途                       |
| `n`               | int    | 否  | 1     | 一次生成几张。**每张单独计费**                                |
| `response_format` | string | 否  | `url` | `url`(返回图片链接,推荐)或 `b64_json`(返回 Base64,适合直接嵌入保存) |

<Warning>
  返回的图片链接通常是**临时链接**,请生成后尽快下载保存。
</Warning>

### Python 示例(保存图片)

```python theme={null}
from openai import OpenAI

client = OpenAI(
    api_key="sk-你的Token",
    base_url="https://momoapi.top/v1"
)

result = client.images.generate(
    model="gpt-image-2",
    prompt="A clean product photo of a white wireless keyboard on a glass desk",
    n=1,
    response_format="url"
)

print("图片地址:", result.data[0].url)
```

## 视频生成

视频生成为**异步任务**:先提交 prompt 拿到任务 ID,然后轮询直到生成完成,最后取回视频 URL。

### `doubao-seedance-2-0-260128`

Seedance 2.0 标准视频模型,适合质量优先的视频生成任务。控制台基础价格显示为输入/输出 \$51 / 1M。

* **适合**:高质量短片、商业素材、产品展示、需要稳定画面的视频
* **计费**:输入/输出 \$51 / 1M

### `doubao-seedance-2-0-fast-260128`

Seedance 2.0 Fast 版本,在生成速度和成本之间取平衡。控制台基础价格显示为输入/输出 \$37 / 1M。

* **适合**:快速出片、批量测试、社媒视频、对速度更敏感的任务
* **计费**:输入/输出 \$37 / 1M

### `doubao-seedance-2-0-mini-260615`

Seedance 2.0 Mini 版本,价格最低,适合草稿、预览和成本敏感的视频任务。控制台基础价格显示为输入/输出 \$23 / 1M。

* **适合**:脚本预览、低成本试错、批量生成、简单动态素材
* **计费**:输入/输出 \$23 / 1M

### 第 1 步:提交任务

```bash theme={null}
curl -X POST https://momoapi.top/v1/video/generations \
  -H "Authorization: Bearer sk-你的Token" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "doubao-seedance-2-0-fast-260128",
    "prompt": "A golden retriever running across a beach at sunset, handheld cinematic shot",
    "seconds": "5",
    "size": "1280x720"
  }'
```

返回任务信息,记下 **`task_id`**。

```json theme={null}
{
  "task_id": "task_xxxxxxxxx",
  "id": "task_xxxxxxxxx",
  "object": "video",
  "model": "doubao-seedance-2-0-fast-260128",
  "status": "queued"
}
```

### 第 2 步:轮询任务状态

```bash theme={null}
curl https://momoapi.top/v1/video/generations/{task_id} \
  -H "Authorization: Bearer sk-你的Token"
```

返回的 `data.status` 状态:

| 状态            | 含义  | 处理                                |
| ------------- | --- | --------------------------------- |
| `QUEUED`      | 排队中 | 继续轮询                              |
| `IN_PROGRESS` | 生成中 | 继续轮询                              |
| `SUCCESS`     | 完成  | 从 `data.result_url` 取视频链接         |
| `FAILURE`     | 失败  | 查看 `data.fail_reason`,失败任务通常会自动退款 |

建议每 **5–10 秒**轮询一次。

### 第 3 步:获取结果

任务完成(`SUCCESS`)后的返回通常包含视频直链:

```json theme={null}
{
  "code": "success",
  "data": {
    "task_id": "task_xxxxxxxxx",
    "status": "SUCCESS",
    "progress": "100%",
    "result_url": "https://example.com/video.mp4"
  }
}
```

* **`data.result_url`**:视频下载直链(MP4)

<Warning>
  视频链接同样是**临时链接**,请生成完成后尽快下载保存。
</Warning>

### Python 完整示例

```python theme={null}
import time
import requests

BASE = "https://momoapi.top"
HEADERS = {
    "Authorization": "Bearer sk-你的Token",
    "Content-Type": "application/json"
}

r = requests.post(f"{BASE}/v1/video/generations", headers=HEADERS,
                  json={"model": "doubao-seedance-2-0-fast-260128",
                        "prompt": "a dog running on the beach",
                        "seconds": "5",
                        "size": "1280x720"})
task_id = r.json()["task_id"]
print(f"任务已提交: {task_id}")

for _ in range(30):
    time.sleep(8)
    data = requests.get(f"{BASE}/v1/video/generations/{task_id}",
                        headers=HEADERS).json()["data"]
    status = data["status"]
    print(f"状态: {status}")
    if status == "SUCCESS":
        print("视频地址:", data["result_url"])
        break
    if status == "FAILURE":
        print("生成失败:", data.get("fail_reason"))
        break
```

## 选型建议

| 场景            | 推荐                                |
| ------------- | --------------------------------- |
| 图片生成          | `gpt-image-2`                     |
| 视频质量优先        | `doubao-seedance-2-0-260128`      |
| 视频速度和成本平衡     | `doubao-seedance-2-0-fast-260128` |
| 视频成本优先 / 批量试错 | `doubao-seedance-2-0-mini-260615` |

## 常见问题

<Accordion>
  <AccordionItem title="图片返回的是 URL 还是 Base64?">
    默认推荐返回 URL(`response_format: "url"`)。如需 Base64,设置 `response_format: "b64_json"`,从 `data[0].b64_json` 取出后解码保存。
  </AccordionItem>

  <AccordionItem title="视频为什么是异步任务?">
    视频生成耗时较长,需要先提交任务,再用 `task_id` 轮询状态。生成完成后再从 `result_url` 下载视频。
  </AccordionItem>

  <AccordionItem title="三个 Seedance 模型怎么选?">
    质量优先选 `doubao-seedance-2-0-260128`,速度和成本平衡选 `doubao-seedance-2-0-fast-260128`,低成本预览或批量测试选 `doubao-seedance-2-0-mini-260615`。
  </AccordionItem>

  <AccordionItem title="怎么估算费用?">
    图片按张估算,`gpt-image-2` 单张约 \$0.04。Seedance 视频模型按控制台展示的输入/输出用量计费,再乘以你所在分组的折扣倍率,最终以控制台账单为准。
  </AccordionItem>
</Accordion>
