---
title: CLI
url: https://runapi.ai/zh-CN/docs/resources/cli.md
canonical: https://runapi.ai/zh-CN/docs/resources/cli
locale: zh-CN
---

# CLI

RunAPI CLI 用于从终端调用模型操作、等待异步 Task，以及在开发集成时检查 callback 投递。命令会将 JSON
结果写入标准输出，因此可用于脚本和 CI 任务。

## 安装 CLI

在 Linux 或 macOS 上安装当前版本：

```shell
curl -fsSL https://runapi.ai/cli/install.sh | sh
```

也可通过 Homebrew 或 Go 安装：

```shell
brew install runapi-ai/tap/runapi
go install github.com/runapi-ai/cli/cmd/runapi@latest
```

## 身份验证

在交互式工作站上运行浏览器登录，并检查结果：

```shell
runapi login
runapi auth status
```

对于没有浏览器的服务器或 CI 任务，从标准输入导入 API Key，而不要把它放在命令参数中：

```shell
printf '%s' "$RUNAPI_API_KEY" | runapi auth import-token --token -
runapi auth status
```

请在[身份验证指南](/zh-CN/docs/guides/authentication)中创建和轮换 API Key。

## 查看操作说明

在构造请求前使用命令帮助。它会列出已安装 CLI 版本支持的输入：

```shell
runapi suno text-to-music --help
```

## 运行并等待 Task

先启动异步 Task，使用 `jq` 从 JSON 结果中提取 id，再等待它到达终态：

```shell
TASK_ID=$(runapi suno text-to-music --async --input '{"model":"suno-v5","vocal_mode":"instrumental","style":"minimal piano","title":"Short Piano Theme"}' | jq -r '.id')
runapi wait "$TASK_ID" --service suno --action text-to-music
```

## 稍后查看 Task

需要获取当前 Task 状态但不等待终态时，使用 `get`：

```shell
runapi get "$TASK_ID" --service suno --action text-to-music
```

精确的输入和响应契约请查看 [API 参考](/zh-CN/docs)。若要把相同工作流嵌入应用，请使用
[SDK](/zh-CN/docs/resources/sdks)。
