remix-upload-asset
Upload images, audio, or 3D models as hosted game assets
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
Upload images, audio, or 3D models as hosted game assets
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
Generate and add images to a Remix game
Generate and add sprites to a Remix game
Build and publish Remix games with the current Remix toolchain. Use when work touches the official Remix CLI, MCP server, REST publishing APIs, or the @remix-gg/sdk game runtime.
OpenAPI-first endpoint reference for Remix game publishing REST routes
Use the official Remix CLI for authentication, config inspection, game creation, uploads, and analytics. Trigger this skill when a task involves `remix login`, `remix whoami`, `.remix-cli.json`, `REMIX_API_KEY`, or terminal-based game management on Remix.
Quickstart for the official Remix MCP server. Use when configuring or operating `@remix-gg/mcp`, wiring MCP auth, or choosing the right Remix MCP tools and skill resources.
| name | remix-upload-asset |
| description | Upload images, audio, or 3D models as hosted game assets |
Upload arbitrary files (images, audio, 3D models) as hosted game assets via the REST API. Returns a permanent URL you can reference in your game HTML.
REMIX_API_KEY environment variable must be set.IMPORTANT: Do NOT create a new game without checking first.
Use gameId from task context or prior tool results when available.
Otherwise, read the nearest .remix-cli.json. Older projects may still use
.remix-mcp.json. If either contains a gameId, reuse it.
Only if none of those sources contain a gameId should you follow the
upload-game workflow to create one.
Send the file as multipart form data:
POST https://api.remix.gg/v1/games/{gameId}/assets
Authorization: Bearer $REMIX_API_KEY
Content-Type: multipart/form-data
Form fields:
file (required) — the binary file to upload
assetName (optional) — custom display name; defaults to the filename
Allowed extensions: .jpg, .jpeg, .png, .webp, .mp3, .wav,
.hdr, .glb, .gltf
Max file size: 5 MB
Response:
{
"success": true,
"data": {
"gameId": "...",
"asset": {
"url": "https://..."
}
}
}
Use data.asset.url as the hosted URL for the asset.
Reference the returned URL in your game code. Examples:
<img src="https://returned-asset-url.png" width="64" height="64" />
const img = new Image();
img.src = "https://returned-asset-url.png";
img.onload = () => ctx.drawImage(img, x, y, w, h);
const audio = new Audio("https://returned-asset-url.mp3");
audio.play();
Retrieve all uploaded assets for a game:
GET https://api.remix.gg/v1/games/{gameId}/assets
Authorization: Bearer $REMIX_API_KEY
player-idle.png or
jump-sfx.mp3 -- the filename becomes the default asset name.onload / canplaythrough
events before starting the game loop to avoid missing assets..webp for images and .mp3 for audio when possible.