Thông tin kết nối Điền 2 giá trị này vào Client
Điền hai mục bên dưới vào dự án hoặc phần mềm AI của bạn. BASE URL là tiền tố địa chỉ API.
Tên Model:
muse-spark (trò chuyện/code), muse-image (vẽ ảnh), muse-video (sinh video). Xem chi tiết tại tab "Tài liệu kết nối".
Tổng tài khoản
0
Khả dụng
0
Bất thường
0
Đã tắt
0
Tệp media
0
Thêm tài khoản Hỗ trợ hàng loạt
Sao chép chuỗi Cookie của muse.ai từ trình duyệt dán vào đây. Cookie cốt lõi:
hatch_sess, hatch_gw, hatch_vml, hatch_native_auth_device.
Khi nhập hàng loạt mỗi dòng 1 tài khoản, định dạng Nhãn | Chuỗi_Cookie (Nhãn có thể bỏ qua).
Danh sách tài khoản 0
● Tự động bảo trì & xoay vòng (30 phút)Hệ thống đã kích hoạt bảo trì ngầm mỗi 30 phút và xoay vòng tài khoản thông minh (LRU); Nút "Kiểm tra" sẽ mở trình duyệt thật để xác thực phiên.
| Nhãn | Mã ID | Trạng thái | Hạn dùng | Hạn ngạch | Bật/Tắt | Cookie | Dùng gần nhất | Ghi chú | Thao tác |
|---|---|---|---|---|---|---|---|---|---|
| Đang tải… | |||||||||
Cách 1: Tiện ích mở rộng Chrome Khuyên dùng · Không cần dòng lệnh · Đa nền tảng
Sử dụng một tiện ích mở rộng nhỏ để đồng bộ ngay phiên đăng nhập muse.ai đang có trên máy bạn sang máy chủ muse2api.
Không cần cài đặt Python, không cần mở terminal hay gõ lệnh.
Tại sao bắt buộc dùng tiện ích: 4 cookie cốt lõi của muse.ai đều mang cờ
Tại sao bắt buộc dùng tiện ích: 4 cookie cốt lõi của muse.ai đều mang cờ
httpOnly, các đoạn script trên Console F12 (document.cookie) không thể đọc được; chỉ có API chrome.cookies của tiện ích mới lấy được.
1
Tải và giải nén tiện ích
Giải nén vào một thư mục cố định trên máy bạn, ví dụ:
⬇ Tải muse2api-extension.zip
D:\muse2api-extension hoặc dùng ngay thư mục extension/ có sẵn trong repo.
2
Cài tiện ích vào trình duyệt đang dùng
Thực hiện trên Chrome (hoặc Edge / Brave / Cốc Cốc):
- Nhập
chrome://extensionsvào thanh địa chỉ rồi nhấn Enter - Bật công tắc Chế độ cho nhà phát triển (Developer mode) ở góc trên bên phải
- Nhấp vào nút Tải tiện ích đã giải nén (Load unpacked) ở góc trên bên trái
- Chọn thư mục extension (chọn cả thư mục, không phải chọn từng tệp bên trong)
3
Mở muse.ai và bấm biểu tượng tiện ích để nhập Cookie
Mở tab
https://muse.ai/ trên chính trình duyệt đó (đang thấy màn hình chat), nhấp vào biểu tượng Tiện ích trên thanh công cụ, xác nhận 2 thông tin bên dưới rồi bấm "Đọc và Nhập Cookie".
Cách 2: Sao chép thủ công từ DevTools Network Không cần cài đặt · Dự phòng
不想装扩展的话,可以手动把 cookie 串抠出来。关键是用
「网络」面板的请求标头,而不是 Console —— 请求头里的
cookie: 一行包含 httpOnly 的那几条,Console 读不到。
- 在你自己的浏览器里打开并登录
https://muse.ai/,停在聊天界面 - 按 F12 打开开发者工具,切到 网络 / Network 面板
- 按 F5 刷新页面,让请求列表出现内容
- 点列表里任意一条 muse.ai 的请求(第一个就行)
- 右侧找到 标头 / Headers → 往下滚到 请求标头 / Request Headers
- 找到以
cookie:开头的那一行,把冒号后面的整串复制 (从hatch_sess=开始,一直到行尾) - 粘到下面「方式三」的输入框里,点导入
注意:是请求标头里的
cookie:,不是「响应标头」。
响应标头里的 set-cookie 只有部分 cookie,会缺东西。
Cách 3: Dán trực tiếp / Dùng Script Python Nâng cao
已经拿到 cookie 串的话,直接粘在这里导入(方式二手动复制的串也粘这里)。
如果你习惯命令行、或者想用独立浏览器登录(不碰日常浏览器),也可以用这个脚本。
它只用 Python 标准库,不需要 pip 安装任何东西。
复制正在生成命令…
③ 在弹出的浏览器窗口里登录 muse.ai → 脚本自动抓取并上传 → 自动关窗。
Giải thích về thời hạn hiệu lực của Cookie Thực nghiệm
实测 muse.ai 各条 cookie 的有效期(不同账号可能略有差异):
| cookie | httpOnly | 实测有效期 | 作用 |
|---|---|---|---|
| hatch_sess | 是 | 约 30 天 | 主会话,决定能不能登录 |
| hatch_gw | 是 | 约 1 年 | 网关令牌 |
| hatch_vml | 是 | 约 2 天 | 短效校验令牌,决定账号寿命 |
| hatch_native_auth_device | 是 | 约 30 天 | 设备标识(匿名访客也有,不是登录凭证) |
账号实际能活多久?取决于最早过期的那条核心 cookie,也就是
注意:这个 2 天不会因为「用得多」而延长。 本服务每次生成完成后确实会把 muse.ai 新下发的 cookie 读回来写进账号池 (所以你会看到「有效期」列的数值有更新),但核心 cookie 的到期时间 不会被推后(已做生成前后对照实验确认)。
所以:大约每 2 天要重新导入一次。好在很快 —— 点一下扩展图标就行。
建议一次多导几个账号:账号池按「最久未用」轮转,多账号既更稳, 也能把重导摊开(每天导一个,而不是所有账号同时失效)。
什么时候要重导?账号列表里「有效期」变成 已过期、状态变成 异常,或出现「缺核心」标记时。
hatch_vml —— 大约 2 天。注意:这个 2 天不会因为「用得多」而延长。 本服务每次生成完成后确实会把 muse.ai 新下发的 cookie 读回来写进账号池 (所以你会看到「有效期」列的数值有更新),但核心 cookie 的到期时间 不会被推后(已做生成前后对照实验确认)。
所以:大约每 2 天要重新导入一次。好在很快 —— 点一下扩展图标就行。
建议一次多导几个账号:账号池按「最久未用」轮转,多账号既更稳, 也能把重导摊开(每天导一个,而不是所有账号同时失效)。
什么时候要重导?账号列表里「有效期」变成 已过期、状态变成 异常,或出现「缺核心」标记时。
Lịch sử tác vụ sinh nội dung 0
Sinh video là tác vụ bất đồng bộ, trạng thái chuyển từ queued → processing → completed / failed.
| Mã tác vụ | Loại | Câu lệnh (Prompt) | Trạng thái | Thời gian | Thời điểm tạo | Kết quả / Lỗi | Thao tác |
|---|---|---|---|---|---|---|---|
| Đang tải… | |||||||
Kho lưu trữ Media 0
Tất cả hình ảnh và video đã sinh và lưu trên đĩa, có thể tải về trực tiếp hoặc dùng link cho các ứng dụng khác.
Đang tải…
Thử nghiệm sinh ảnh trực tuyến POST /v1/images/generations
Gọi trực tiếp muse.ai để vẽ, ảnh trả về trong khoảng 10–30 giây.
Thử nghiệm sinh video trực tuyến POST /v1/videos
Tác vụ bất đồng bộ, thường mất 60–120 giây để hoàn thành, trang web sẽ tự động theo dõi tiến độ.
接入说明
接口与 OpenAI 风格对齐,下游项目只需改
BASE URL:
base_url 和 api_key。
BASE URL:
—
1. 可用模型
| 模型 ID | 用途 | 接口 |
|---|---|---|
| muse-spark | 文本 / 代码对话(支持流式) | POST /v1/chat/completions POST /v1/responses |
| muse-image | 文生图 / 图像编辑 | POST /v1/images/generations |
| muse-video | 文生视频 / 图生视频 | POST /v1/videos → GET /v1/videos/{id} |
这三个就是 Muse 系列的真实能力:Muse Spark(语言 / 代码)、Muse Image(生图)、
Muse Video(生视频)。muse.ai 网页是自动路由的 agent、界面没有模型选择器,
所以
model 字段只用于兼容下游 —— 传 gpt-4o、
claude-sonnet-4、dall-e-3 等常见名字会自动映射到对应能力。
2. 对话 / 写代码
复制# 非流式 curl -X POST "BASE/v1/chat/completions" \ -H "Authorization: Bearer $MUSE2API_KEY" \ -H "Content-Type: application/json" \ -d '{"model":"muse-spark","messages":[{"role":"user","content":"写一个 Python 快排"}]}' # 流式:加 "stream":true,返回标准 SSE(data: {...} / data: [DONE])
3. 生图(curl)
复制curl -X POST "BASE/v1/images/generations" \ -H "Authorization: Bearer $MUSE2API_KEY" \ -H "Content-Type: application/json" \ -d '{"prompt":"一只戴宇航头盔的柴犬","size":"1:1","response_format":"url"}' # 返回 {"created":1790148495,"data":[{ "revised_prompt":"一只戴宇航头盔的柴犬", "url":"http://your-server:18610/v1/media/xxxx.webp", "kind":"image","bytes":23860}]} # url 是完整绝对地址,可直接给下游渲染 / 下载;/v1/media/* 无需鉴权。 # 想要 base64 就传 "response_format":"b64_json"。
4. 生视频(curl,异步)
复制# ① 创建任务 curl -X POST "BASE/v1/videos" \ -H "Authorization: Bearer $MUSE2API_KEY" \ -H "Content-Type: application/json" \ -d '{"prompt":"一只小猫在草地上走动","duration":5,"size":"16:9"}' # → {"id":"task_xxx","status":"queued"} # ② 轮询结果 curl "BASE/v1/videos/task_xxx" -H "Authorization: Bearer $MUSE2API_KEY" # → {"status":"succeeded","result":{"url":"/v1/media/xxx.mp4"}}
5. Python(openai SDK 兼容)
复制from openai import OpenAI import time client = OpenAI(base_url="BASE/v1", api_key="m2a_...") # 生图 r = client.images.generate(model="muse-image", prompt="一只戴宇航头盔的柴犬") print(r.data[0].url) # 生视频(走原生接口,因为是异步任务) import requests t = requests.post("BASE/v1/videos", json={"prompt":"小猫走动","duration":5}, headers={"Authorization":"Bearer m2a_..."}).json() while True: s = requests.get(f"BASE/v1/videos/{t['id']}", headers={"Authorization":"Bearer m2a_..."}).json() if s["status"] in ("succeeded","failed"): break time.sleep(5) print(s)
6. 管理接口
| 方法 | 路径 | 说明 |
|---|---|---|
| GET | /admin/status | 服务总览 + 账号池 + 最近任务 |
| GET | /admin/accounts | 账号列表 |
| POST | /admin/accounts | 添加账号(单条 / batch 批量文本) |
| PATCH | /admin/accounts/{id} | 改标签 / 启用禁用 |
| DELETE | /admin/accounts/{id} | 删除账号 |
| POST | /admin/accounts/{id}/test | 真实校验会话有效性(顺带刷新额度) |
| POST | /admin/accounts/{id}/quota | 实时读取该账号剩余额度 |
| POST | /admin/accounts/{id}/cookies | 更新该账号 cookie |
| GET | /admin/tasks | 任务记录 |
| GET | /admin/media | 媒体库列表 |
7. 鉴权
除
/healthz、/readyz、/v1/media/* 外,其余接口均需
Authorization: Bearer <API Key>。API Key 在服务器
/opt/muse2api/.env 的 MUSE2API_KEY 中配置。
8. 接入各类客户端 / 智能体
凡是支持「自定义 OpenAI 兼容端点」的客户端,都只填三个值就能用:
| 配置项 | 填什么 |
|---|---|
| Base URL / API 地址 | http://<你的服务器IP或域名>:18610/v1 |
| API Key | m2a_...(本页顶部「接入信息」里那个) |
| 模型名 | muse-spark |
模型名随便填也能用:常见名字(
gpt-4o、gpt-5、
claude-sonnet-4、deepseek-chat、gemini-2.5-pro 等)
会自动映射到对应能力;完全没见过的名字会原样透传,muse.ai 那边本来就是自动路由,
不影响结果。
按客户端类型看能不能用
| 客户端类型 | 依赖能力 | 状态 |
|---|---|---|
| 对话 / 聊天类(桌面端、Web UI、浏览器插件) | POST /v1/chat/completions | ✅ 可用 |
| 流式输出(打字机效果) | stream:true(标准 SSE) | ✅ 可用 |
| 代码补全 / 内联补全插件 | POST /v1/chat/completions | ✅ 可用 |
| 翻译 / 总结 / 解释类工具 | POST /v1/chat/completions | ✅ 可用 |
| 画图类客户端 | POST /v1/images/generations | ✅ 可用 |
| 视频生成客户端 | POST /v1/videos(异步轮询) | ✅ 可用 |
| 需要「工具调用」的自主 Agent 模式 | tool_calls / function calling | ⚠️ 不可用 |
关于「工具调用」这条限制(重要,已实测):
muse.ai 的网页助手对「输出伪工具调用 JSON」有明确的对齐拒绝策略 —— 实测原话是 「我不会按这种 JSON 格式输出'伪工具调用'——我没有 get_weather 这个工具」。 用三种不同措辞、不同位置的提示词协议去适配,全部失败。
所以:依赖
客户端若强行带上
muse.ai 的网页助手对「输出伪工具调用 JSON」有明确的对齐拒绝策略 —— 实测原话是 「我不会按这种 JSON 格式输出'伪工具调用'——我没有 get_weather 这个工具」。 用三种不同措辞、不同位置的提示词协议去适配,全部失败。
所以:依赖
tool_calls 的自主 Agent 模式(自动读写文件、执行命令那一类)接不了;
但所有问答式用法 —— 对话、写代码、解释、翻译、总结、生图、生视频 —— 全部完全可用。客户端若强行带上
tools 字段,接口不会报错,会忽略工具声明、按普通对话正常回答。