Every API here is available over the APIs.io API and to AI agents over MCP.
{
"info": {
"_postman_id": "d4367cb6-e0ed-466d-bd50-04f7ed032c36",
"name": "Muse API v1 by useapi.net",
"description": "## [Muse API v1](https://useapi.net/docs/api-muse-v1)\n\nMuse API by useapi.net: images and 10-second videos with sound from Meta's Muse agent (muse.ai) on your own Muse accounts. Text to image, image to image from up to 9 images, text / image / video to video with up to 9 images, 3 videos and 3 audio files as inputs. Uploads (raw file or from a URL), the whole Library (media, documents, web apps with public sharing, podcasts), downloads and deletes, jobs, a two-way chat with the Muse agent over SSE with reactions, a live view of the agent's own browser that you can take control of, accounts, account reset and the weekly allowance. Set the `api-token` collection variable (see https://useapi.net/docs/start-here/setup-useapi). POST bodies send JSON (the API accepts JSON or form-data). POST assets sends the file itself as the body. Ids contain `:` and `@`: URL-encode them when you put them in a path variable.\n\n---\n**Updated:** October 14, 2026",
"schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json",
"updated": "2026-10-12",
"_exporter_id": "29112081"
},
"item": [
{
"name": "POST accounts",
"protocolProfileBehavior": {
"disableBodyPruning": true
},
"request": {
"method": "POST",
"header": [],
"url": {
"raw": "https://api.useapi.net/v1/muse/accounts",
"protocol": "https",
"host": [
"api",
"useapi",
"net"
],
"path": [
"v1",
"muse",
"accounts"
]
},
"description": "## [Add or update an account](https://useapi.net/docs/api-muse-v1/post-muse-accounts)\n\n**Body (JSON).** `email` is required. With `password` the account is added or re-added (signed in once, 30-day session renewed by the API, Muse emails the account a login code on each sign-in). With `email` + `maxJobs` and no `password`, only maxJobs changes.\n\n- `maxJobs`: 1-50, default 10 for a new account.\n\n596 = Meta asks for a security check: sign in once at https://muse.ai in a browser, complete it, then post the same email and password again.",
"body": {
"mode": "raw",
"raw": "{\n \"email\": \"example@gmail.com\",\n \"password\": \"\",\n \"maxJobs\": 10\n}",
"options": {
"raw": {
"language": "json"
}
}
}
},
"response": []
},
{
"name": "GET accounts",
"protocolProfileBehavior": {
"disableBodyPruning": true
},
"request": {
"method": "GET",
"header": [],
"url": {
"raw": "https://api.useapi.net/v1/muse/accounts",
"protocol": "https",
"host": [
"api",
"useapi",
"net"
],
"path": [
"v1",
"muse",
"accounts"
]
},
"description": "## [List accounts](https://useapi.net/docs/api-muse-v1/get-muse-accounts)\n\nStored records, no call to Muse."
},
"response": []
},
{
"name": "GET accounts/{email}",
"protocolProfileBehavior": {
"disableBodyPruning": true
},
"request": {
"method": "GET",
"header": [],
"url": {
"raw": "https://api.useapi.net/v1/muse/accounts/{{email}}",
"protocol": "https",
"host": [
"api",
"useapi",
"net"
],
"path": [
"v1",
"muse",
"accounts",
"{{email}}"
]
},
"description": "## [Read one account live (plan + weekly usage)](https://useapi.net/docs/api-muse-v1/get-muse-accounts-email)"
},
"response": []
},
{
"name": "GET accounts/{email}/approvals",
"protocolProfileBehavior": {
"disableBodyPruning": true
},
"request": {
"method": "GET",
"header": [],
"url": {
"raw": "https://api.useapi.net/v1/muse/accounts/{{email}}/approvals",
"protocol": "https",
"host": [
"api",
"useapi",
"net"
],
"path": [
"v1",
"muse",
"accounts",
"{{email}}",
"approvals"
],
"query": [
{
"key": "status",
"value": "pending",
"description": "Optional: pending or all. Default: all.",
"disabled": true
},
{
"key": "limit",
"value": "50",
"description": "Optional, decided requests to read, 1 to 100. Default: 50.",
"disabled": true
}
]
},
"description": "## [List approvals](https://useapi.net/docs/api-muse-v1/get-muse-accounts-email-approvals)\n\nThe agent's permission requests on the account: `pending` (each with its `chatId` and `options`; answer with POST chats/{chatId}/approvals/{approvalId}) and `decided`."
},
"response": []
},
{
"name": "GET accounts/{email}/permissions",
"protocolProfileBehavior": {
"disableBodyPruning": true
},
"request": {
"method": "GET",
"header": [],
"url": {
"raw": "https://api.useapi.net/v1/muse/accounts/{{email}}/permissions",
"protocol": "https",
"host": [
"api",
"useapi",
"net"
],
"path": [
"v1",
"muse",
"accounts",
"{{email}}",
"permissions"
]
},
"description": "## [List permissions](https://useapi.net/docs/api-muse-v1/get-muse-accounts-email-permissions)\n\n`defaults` {web, connectors}: auto_allow or always_ask, plus the standing `rules` (allow or deny one website or app action; created by allow_always answers)."
},
"response": []
},
{
"name": "POST accounts/{email}/permissions",
"protocolProfileBehavior": {
"disableBodyPruning": true
},
"request": {
"method": "POST",
"header": [],
"url": {
"raw": "https://api.useapi.net/v1/muse/accounts/{{email}}/permissions",
"protocol": "https",
"host": [
"api",
"useapi",
"net"
],
"path": [
"v1",
"muse",
"accounts",
"{{email}}",
"permissions"
]
},
"description": "## [Change permission defaults](https://useapi.net/docs/api-muse-v1/post-muse-accounts-email-permissions)\n\n**Body (JSON).** `web` and/or `connectors`: `auto_allow` (Muse's \"Ask for some actions\": some actions, like sending an email from a connected Gmail, happen without asking) or `always_ask` (Muse asks first, as an approval in the chat).",
"body": {
"mode": "raw",
"raw": "{\n \"connectors\": \"always_ask\"\n}",
"options": {
"raw": {
"language": "json"
}
}
}
},
"response": []
},
{
"name": "POST accounts/{email}/permissions/{permissionId}",
"protocolProfileBehavior": {
"disableBodyPruning": true
},
"request": {
"method": "POST",
"header": [],
"url": {
"raw": "https://api.useapi.net/v1/muse/accounts/{{email}}/permissions/{{permissionId}}",
"protocol": "https",
"host": [
"api",
"useapi",
"net"
],
"path": [
"v1",
"muse",
"accounts",
"{{email}}",
"permissions",
"{{permissionId}}"
]
},
"description": "## [Change a permission rule](https://useapi.net/docs/api-muse-v1/post-muse-accounts-email-permissions-permissionId)\n\n**Body (JSON).** `mode`: one of the rule's `modes` (allow, ask, deny). `ask` removes the rule (asking is the default) and answers `removed: true`. URL-encode the permissionId.",
"body": {
"mode": "raw",
"raw": "{\n \"mode\": \"deny\"\n}",
"options": {
"raw": {
"language": "json"
}
}
}
},
"response": []
},
{
"name": "DELETE accounts/{email}/permissions/{permissionId}",
"protocolProfileBehavior": {
"disableBodyPruning": true
},
"request": {
"method": "DELETE",
"header": [],
"url": {
"raw": "https://api.useapi.net/v1/muse/accounts/{{email}}/permissions/{{permissionId}}",
"protocol": "https",
"host": [
"api",
"useapi",
"net"
],
"path": [
"v1",
"muse",
"accounts",
"{{email}}",
"permissions",
"{{permissionId}}"
]
},
"description": "## [Delete a permission rule](https://useapi.net/docs/api-muse-v1/delete-muse-accounts-email-permissions-permissionId)\n\nRemoves the rule. 404 when it is not there. URL-encode the permissionId."
},
"response": []
},
{
"name": "POST accounts/{email}/reset",
"protocolProfileBehavior": {
"disableBodyPruning": true
},
"request": {
"method": "POST",
"header": [],
"url": {
"raw": "https://api.useapi.net/v1/muse/accounts/{{email}}/reset",
"protocol": "https",
"host": [
"api",
"useapi",
"net"
],
"path": [
"v1",
"muse",
"accounts",
"{{email}}",
"reset"
]
},
"description": "## [Reset a Muse account](https://useapi.net/docs/api-muse-v1/post-muse-accounts-email-reset)\n\n**Permanently deletes everything on the account**: every chat, file, document, web app and podcast, the agent's memory and its name. The account gets a fresh agent computer and stays added. **Body (JSON).** `confirm` is required: the account email again. Answers 200 `{email, reset: true, ready: true}`, or 202 with `ready: false` while the new computer starts: do not call it again then. 409 while jobs or chat answers run on the account.",
"body": {
"mode": "raw",
"raw": "{\n \"confirm\": \"{{email}}\"\n}",
"options": {
"raw": {
"language": "json"
}
}
}
},
"response": []
},
{
"name": "DELETE accounts/{email}",
"protocolProfileBehavior": {
"disableBodyPruning": true
},
"request": {
"method": "DELETE",
"header": [],
"url": {
"raw": "https://api.useapi.net/v1/muse/accounts/{{email}}",
"protocol": "https",
"host": [
"api",
"useapi",
"net"
],
"path": [
"v1",
"muse",
"accounts",
"{{email}}"
]
},
"description": "## [Remove an account](https://useapi.net/docs/api-muse-v1/delete-muse-accounts-email)"
},
"response": []
},
{
"name": "POST assets",
"protocolProfileBehavior": {
"disableBodyPruning": true
},
"request": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"value": "image/jpeg",
"description": "The file's MIME type: image/jpeg, image/png, image/webp, video/mp4, video/quicktime, video/webm, audio/mpeg, audio/wav, audio/x-wav, audio/mp4, audio/x-m4a or audio/ogg."
}
],
"url": {
"raw": "https://api.useapi.net/v1/muse/assets",
"protocol": "https",
"host": [
"api",
"useapi",
"net"
],
"path": [
"v1",
"muse",
"assets"
],
"query": [
{
"key": "email",
"value": "{{email}}",
"description": "Optional. The account to upload to. Default: a random healthy account with allowance left.",
"disabled": true
}
]
},
"description": "## [Upload an asset](https://useapi.net/docs/api-muse-v1/post-muse-assets)\n\nThe file is the raw request body (no multipart), 1 to 52,428,800 bytes (50 MB), with Content-Length. To upload from a link instead, see POST assets (url). Returns the assetId used as image_N / video_N / audio_N of a job. The file is written into the account's Muse workspace.",
"body": {
"mode": "file",
"file": {
"src": "/path/to/image.jpg"
}
}
},
"response": []
},
{
"name": "GET assets/{assetId}",
"protocolProfileBehavior": {
"disableBodyPruning": true
},
"request": {
"method": "GET",
"header": [],
"url": {
"raw": "https://api.useapi.net/v1/muse/assets/{{assetId}}",
"protocol": "https",
"host": [
"api",
"useapi",
"net"
],
"path": [
"v1",
"muse",
"assets",
"{{assetId}}"
],
"query": [
{
"key": "part",
"value": "cover",
"description": "Optional, podcasts only: cover = the episode's cover image.",
"disabled": true
},
{
"key": "format",
"value": "pdf",
"description": "Optional, md, txt and html documents only: pdf = the document as a PDF.",
"disabled": true
}
]
},
"description": "## [Download an asset](https://useapi.net/docs/api-muse-v1/get-muse-assets-assetId)\n\nStreams any Library item from the account's Muse workspace: an image, video or audio file, a document (with `format=pdf` an md, txt or html document as PDF), a web app as one HTML file, or a podcast as MP3 (with `part=cover` its cover). URL-encode the assetId."
},
"response": []
},
{
"name": "POST assets (url)",
"protocolProfileBehavior": {
"disableBodyPruning": true
},
"request": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"url": {
"raw": "https://api.useapi.net/v1/muse/assets",
"protocol": "https",
"host": [
"api",
"useapi",
"net"
],
"path": [
"v1",
"muse",
"assets"
],
"query": [
{
"key": "email",
"value": "{{email}}",
"description": "Optional. The account to upload to. Default: a random healthy account with allowance left.",
"disabled": true
}
]
},
"description": "## [Upload an asset from a URL](https://useapi.net/docs/api-muse-v1/post-muse-assets#upload-from-a-url)\n\nJSON body `{\"url\": \"https://…\"}`: a public https URL of the file (up to 2048 chars). The API downloads it and uploads it to the account's Muse workspace. Same supported types and 50 MB limit as a raw upload. Returns the assetId.",
"body": {
"mode": "raw",
"raw": "{\n \"url\": \"https://your-domain.com/photos/rider.jpg\"\n}",
"options": {
"raw": {
"language": "json"
}
}
}
},
"response": []
},
{
"name": "GET assets",
"protocolProfileBehavior": {
"disableBodyPruning": true
},
"request": {
"method": "GET",
"header": [],
"url": {
"raw": "https://api.useapi.net/v1/muse/assets",
"protocol": "https",
"host": [
"api",
"useapi",
"net"
],
"path": [
"v1",
"muse",
"assets"
],
"query": [
{
"key": "email",
"value": "{{email}}",
"description": "Required when the token has more than one Muse account.",
"disabled": true
},
{
"key": "type",
"value": "image",
"description": "Optional: image, video, audio, document, web, podcast, or any other type the list shows.",
"disabled": true
},
{
"key": "origin",
"value": "generated",
"description": "Optional, media only: uploaded, generated or made.",
"disabled": true
},
{
"key": "limit",
"value": "50",
"description": "Optional, 1 to 100. Default: 50.",
"disabled": true
},
{
"key": "cursor",
"value": "",
"description": "Optional, the cursor from the previous page.",
"disabled": true
}
]
},
"description": "## [List assets](https://useapi.net/docs/api-muse-v1/get-muse-assets)\n\nThe account's whole Muse Library as asset ids, newest first: images, videos and audio, documents, web apps (with `shareUrl` while published) and podcasts, each with its `type`. `origin` (media only): `uploaded`, `generated` or `made` (by the agent's own tools). Read on with `cursor` until it is null. `partial: true` means a part of the Library could not be read."
},
"response": []
},
{
"name": "DELETE assets/{assetId}",
"protocolProfileBehavior": {
"disableBodyPruning": true
},
"request": {
"method": "DELETE",
"header": [],
"url": {
"raw": "https://api.useapi.net/v1/muse/assets/{{assetId}}",
"protocol": "https",
"host": [
"api",
"useapi",
"net"
],
"path": [
"v1",
"muse",
"assets",
"{{assetId}}"
]
},
"description": "## [Delete an asset](https://useapi.net/docs/api-muse-v1/delete-muse-assets-assetId)\n\nDeletes a Library item: a media file, a document, a web app or a podcast episode. 404 when it is not there. URL-encode the assetId."
},
"response": []
},
{
"name": "POST assets/{assetId}/share",
"protocolProfileBehavior": {
"disableBodyPruning": true
},
"request": {
"method": "POST",
"header": [],
"url": {
"raw": "https://api.useapi.net/v1/muse/assets/{{assetId}}/share",
"protocol": "https",
"host": [
"api",
"useapi",
"net"
],
"path": [
"v1",
"muse",
"assets",
"{{assetId}}",
"share"
]
},
"description": "## [Publish a web app](https://useapi.net/docs/api-muse-v1/post-muse-assets-assetId-share)\n\nPublishes a web app the agent built (an asset of type `web`) on a public link that anyone can open. Muse reviews the app first (about 15 s) and can refuse with 422 and the issues in `errorDetails`. Answers 200 `{assetId, shareUrl}`. Publishing again republishes the current version."
},
"response": []
},
{
"name": "DELETE assets/{assetId}/share",
"protocolProfileBehavior": {
"disableBodyPruning": true
},
"request": {
"method": "DELETE",
"header": [],
"url": {
"raw": "https://api.useapi.net/v1/muse/assets/{{assetId}}/share",
"protocol": "https",
"host": [
"api",
"useapi",
"net"
],
"path": [
"v1",
"muse",
"assets",
"{{assetId}}",
"share"
]
},
"description": "## [Stop sharing a web app](https://useapi.net/docs/api-muse-v1/delete-muse-assets-assetId-share)\n\nThe public link stops working. The app stays in the Library. Answers 200 `{assetId, shareUrl: null}`."
},
"response": []
},
{
"name": "GET files",
"protocolProfileBehavior": {
"disableBodyPruning": true
},
"request": {
"method": "GET",
"header": [],
"url": {
"raw": "https://api.useapi.net/v1/muse/files",
"protocol": "https",
"host": [
"api",
"useapi",
"net"
],
"path": [
"v1",
"muse",
"files"
],
"query": [
{
"key": "email",
"value": "{{email}}",
"description": "Required when the token has more than one Muse account.",
"disabled": true
},
{
"key": "path",
"value": "workspace",
"description": "Optional. Default: workspace.",
"disabled": true
}
]
},
"description": "## [List workspace files](https://useapi.net/docs/api-muse-v1/get-muse-files)\n\nA folder's files and folders (default `workspace`), or one file's entry for a file path. Media files carry their assetId."
},
"response": []
},
{
"name": "GET files/content",
"protocolProfileBehavior": {
"disableBodyPruning": true
},
"request": {
"method": "GET",
"header": [],
"url": {
"raw": "https://api.useapi.net/v1/muse/files/content?path=workspace/your_files/report.pdf",
"protocol": "https",
"host": [
"api",
"useapi",
"net"
],
"path": [
"v1",
"muse",
"files",
"content"
],
"query": [
{
"key": "email",
"value": "{{email}}",
"description": "Required when the token has more than one Muse account.",
"disabled": true
},
{
"key": "path",
"value": "workspace/your_files/report.pdf",
"description": "Required. A path in the workspace, e.g. workspace/your_files/report.pdf.",
"disabled": false
}
]
},
"description": "## [Download a workspace file](https://useapi.net/docs/api-muse-v1/get-muse-files-content)\n\nThe file itself (code, PDF, CSV, text, media), streamed with its Content-Type."
},
"response": []
},
{
"name": "GET files/search",
"protocolProfileBehavior": {
"disableBodyPruning": true
},
"request": {
"method": "GET",
"header": [],
"url": {
"raw": "https://api.useapi.net/v1/muse/files/search?name=report",
"protocol": "https",
"host": [
"api",
"useapi",
"net"
],
"path": [
"v1",
"muse",
"files",
"search"
],
"query": [
{
"key": "email",
"value": "{{email}}",
"description": "Required when the token has more than one Muse account.",
"disabled": true
},
{
"key": "path",
"value": "workspace",
"description": "Optional. Default: workspace.",
"disabled": true
},
{
"key": "name",
"value": "report",
"description": "Optional, part of the file name.",
"disabled": false
},
{
"key": "extensions",
"value": "pdf,csv",
"description": "Optional, comma-separated.",
"disabled": true
},
{
"key": "limit",
"value": "50",
"description": "Optional, 1 to 200. Default: 50.",
"disabled": true
},
{
"key": "offset",
"value": "0",
"description": "Optional. Default: 0.",
"disabled": true
}
]
},
"description": "## [Search workspace files](https://useapi.net/docs/api-muse-v1/get-muse-files-search)\n\nBy part of the name and/or extensions (comma list) under a folder, at least one of the two. Answers entries, total, hasMore."
},
"response": []
},
{
"name": "POST files",
"protocolProfileBehavior": {
"disableBodyPruning": true
},
"request": {
"method": "POST",
"header": [],
"url": {
"raw": "https://api.useapi.net/v1/muse/files?path=workspace/your_files/report.pdf",
"protocol": "https",
"host": [
"api",
"useapi",
"net"
],
"path": [
"v1",
"muse",
"files"
],
"query": [
{
"key": "email",
"value": "{{email}}",
"description": "Required when the token has more than one Muse account.",
"disabled": true
},
{
"key": "path",
"value": "workspace/your_files/report.pdf",
"description": "Required. A path in the workspace, e.g. workspace/your_files/report.pdf.",
"disabled": false
}
]
},
"description": "## [Write a workspace file](https://useapi.net/docs/api-muse-v1/post-muse-files)\n\nThe raw request body (any type, up to 50 MB, with Content-Length) is written at `path`, replacing a file already there. Pass the path in a chat's `files` to have the agent work on it (file_1, file_2…).",
"body": {
"mode": "file",
"file": {
"src": "/path/to/report.pdf"
}
}
},
"response": []
},
{
"name": "DELETE files",
"protocolProfileBehavior": {
"disableBodyPruning": true
},
"request": {
"method": "DELETE",
"header": [],
"url": {
"raw": "https://api.useapi.net/v1/muse/files?path=workspace/your_files/report.pdf",
"protocol": "https",
"host": [
"api",
"useapi",
"net"
],
"path": [
"v1",
"muse",
"files"
],
"query": [
{
"key": "email",
"value": "{{email}}",
"description": "Required when the token has more than one Muse account.",
"disabled": true
},
{
"key": "path",
"value": "workspace/your_files/report.pdf",
"description": "Required. A path in the workspace, e.g. workspace/your_files/report.pdf.",
"disabled": false
}
]
},
"description": "## [Delete a workspace file](https://useapi.net/docs/api-muse-v1/delete-muse-files)\n\nFiles only, not folders. 404 when it is not there."
},
"response": []
},
{
"name": "POST jobs/image",
"protocolProfileBehavior": {
"disableBodyPruning": true
},
"request": {
"method": "POST",
"header": [],
"url": {
"raw": "https://api.useapi.net/v1/muse/jobs/image",
"protocol": "https",
"host": [
"api",
"useapi",
"net"
],
"path": [
"v1",
"muse",
"jobs",
"image"
]
},
"description": "## [Generate an image](https://useapi.net/docs/api-muse-v1/post-muse-jobs-image)\n\n**Body (JSON).** `prompt` is required (up to 5000 chars). Optional inputs `image_1`..`image_9`: asset ids, all from the same account; name them in the prompt.\n\n- `email`: account to run on. Default: the account that holds the inputs, else a load-balanced one.\n- `async`: `true` answers 201 at once (default `false`: waits up to 100 s for the finished job, then answers 202 with the job still running). `replyUrl`: public https webhook URL, receives one POST of the job record when the job ends, sync or async. `replyRef`: up to 1024 chars.\n\nNo model, aspect ratio, resolution or duration parameters: say the aspect ratio in the prompt (\"in exactly 16:9 aspect ratio\").",
"body": {
"mode": "raw",
"raw": "{\n \"prompt\": \"In exactly 16:9 aspect ratio (landscape), a cinematic photo of a vintage 1920s black BMW motorcycle parked on wet cobblestones at night in San Francisco, the Golden Gate Bridge glowing through fog in the distance\",\n \"async\": false\n}",
"options": {
"raw": {
"language": "json"
}
}
}
},
"response": []
},
{
"name": "POST jobs/video",
"protocolProfileBehavior": {
"disableBodyPruning": true
},
"request": {
"method": "POST",
"header": [],
"url": {
"raw": "https://api.useapi.net/v1/muse/jobs/video",
"protocol": "https",
"host": [
"api",
"useapi",
"net"
],
"path": [
"v1",
"muse",
"jobs",
"video"
]
},
"description": "## [Generate a video](https://useapi.net/docs/api-muse-v1/post-muse-jobs-video)\n\n**Body (JSON).** `prompt` is required (up to 5000 chars). About 10 s at about 720p with sound, quoted lines are spoken. Optional inputs: `image_1`..`image_9`, `video_1`..`video_3`, `audio_1`..`audio_3`, asset ids all from the same account; name them in the prompt.\n\n- `email`: account to run on. Default: the account that holds the inputs, else a load-balanced one.\n- `async`: `true` answers 201 at once (default `false`: waits up to 100 s for the finished job, then answers 202 with the job still running). `replyUrl`: public https webhook URL, receives one POST of the job record when the job ends, sync or async. `replyRef`: up to 1024 chars.\n\nNo model, aspect ratio, resolution or duration parameters: say the aspect ratio in the prompt (\"in exactly 16:9 aspect ratio\").",
"body": {
"mode": "raw",
"raw": "{\n \"prompt\": \"Animate image_1: she turns to the camera and says: \\\"Best seat in San Francisco.\\\" Keep her face exactly as in image_1.\",\n \"image_1\": \"{{assetId}}\",\n \"async\": true\n}",
"options": {
"raw": {
"language": "json"
}
}
}
},
"response": []
},
{
"name": "GET jobs",
"protocolProfileBehavior": {
"disableBodyPruning": true
},
"request": {
"method": "GET",
"header": [],
"url": {
"raw": "https://api.useapi.net/v1/muse/jobs",
"protocol": "https",
"host": [
"api",
"useapi",
"net"
],
"path": [
"v1",
"muse",
"jobs"
]
},
"description": "## [List running jobs](https://useapi.net/docs/api-muse-v1/get-muse-jobs)\n\n`running` (image and video jobs) and `accounts` {email: {running, maxJobs}}. Chats take no maxJobs slot."
},
"response": []
},
{
"name": "GET jobs/{jobid}",
"protocolProfileBehavior": {
"disableBodyPruning": true
},
"request": {
"method": "GET",
"header": [],
"url": {
"raw": "https://api.useapi.net/v1/muse/jobs/{{jobid}}",
"protocol": "https",
"host": [
"api",
"useapi",
"net"
],
"path": [
"v1",
"muse",
"jobs",
"{{jobid}}"
],
"query": [
{
"key": "history",
"value": "true",
"description": "Optional. Adds the job's chat turn from Muse.",
"disabled": true
}
]
},
"description": "## [Retrieve a job](https://useapi.net/docs/api-muse-v1/get-muse-jobs-jobid)\n\nURL-encode the jobid. `history=true` adds the job's Muse chat turn, read live, for troubleshooting."
},
"response": []
},
{
"name": "POST chats",
"protocolProfileBehavior": {
"disableBodyPruning": true
},
"request": {
"method": "POST",
"header": [],
"url": {
"raw": "https://api.useapi.net/v1/muse/chats",
"protocol": "https",
"host": [
"api",
"useapi",
"net"
],
"path": [
"v1",
"muse",
"chats"
]
},
"description": "## [Start a chat](https://useapi.net/docs/api-muse-v1/post-muse-chats)\n\n**Body (JSON).** `message` is required (up to 5000 chars). Optional `files`: asset ids (up to 9 images, 3 videos, 3 audio files) and workspace paths of other files from POST files (up to 10), all on one account, named image_1, video_1, audio_1, file_1… in order. Optional `email`: the account to chat on, default the account of the files or a load-balanced one (required with only workspace paths when the token has more than one account).\n\nAnswers 201 `{chatId, email, messageId}`. Read the answer with GET chats/{chatId}/stream. Chat does not use maxJobs (jobs only).",
"body": {
"mode": "raw",
"raw": "{\n \"message\": \"Write a 300-word story about the sea, then make one image for it.\"\n}",
"options": {
"raw": {
"language": "json"
}
}
}
},
"response": []
},
{
"name": "GET chats/{chatId}/stream",
"protocolProfileBehavior": {
"disableBodyPruning": true
},
"request": {
"method": "GET",
"header": [],
"url": {
"raw": "https://api.useapi.net/v1/muse/chats/{{chatId}}/stream",
"protocol": "https",
"host": [
"api",
"useapi",
"net"
],
"path": [
"v1",
"muse",
"chats",
"{{chatId}}",
"stream"
],
"query": [
{
"key": "after",
"value": "0",
"description": "Optional, resume after this event id (same as the Last-Event-ID header).",
"disabled": true
}
]
},
"description": "## [Stream a chat](https://useapi.net/docs/api-muse-v1/get-muse-chats-chatId-stream)\n\nServer-Sent Events for the whole chat: `data:` lines with JSON events (initialized, message, activity, text, message.done, widget, file, status, approval, approval.resolved, turn.done, error, keepalive, idle, reconnect). Resume with the `Last-Event-ID` header or `after`. About 50 open streams per account (approximate: a closed connection is noticed within about a minute), more answer 429 with Retry-After 60. After `idle` or `reconnect`, reconnect with Last-Event-ID to resume exactly where it left off. See the [Chat Streaming Guide](https://useapi.net/docs/api-muse-v1/chat-streaming-guide)."
},
"response": []
},
{
"name": "GET chats/streams",
"protocolProfileBehavior": {
"disableBodyPruning": true
},
"request": {
"method": "GET",
"header": [],
"url": {
"raw": "https://api.useapi.net/v1/muse/chats/streams",
"protocol": "https",
"host": [
"api",
"useapi",
"net"
],
"path": [
"v1",
"muse",
"chats",
"streams"
],
"query": [
{
"key": "email",
"value": "{{email}}",
"description": "Required when the token has more than one Muse account.",
"disabled": true
}
]
},
"description": "## [List open streams](https://useapi.net/docs/api-muse-v1/get-muse-chats-streams)\n\nThe account's open chat streams, approximate: `count`, `limit` (about 50), and per stream `chatId`, `opened`, `seen` (when the connection last reported in, about every 5 minutes)."
},
"response": []
},
{
"name": "POST chats/{chatId}/messages",
"protocolProfileBehavior": {
"disableBodyPruning": true
},
"request": {
"method": "POST",
"header": [],
"url": {
"raw": "https://api.useapi.net/v1/muse/chats/{{chatId}}/messages",
"protocol": "https",
"host": [
"api",
"useapi",
"net"
],
"path": [
"v1",
"muse",
"chats",
"{{chatId}}",
"messages"
]
},
"description": "## [Send a message](https://useapi.net/docs/api-muse-v1/post-muse-chats-chatId-messages)\n\n**
# --- truncated at 32 KB (46 KB total) ---
# Full source: https://artifacts.apis.io/useapi/postman/useapi-muse-v1.json