Sideload Avatar Generator
by @directivecreator
Generate 3D avatars (VRM/GLB/MML) from text or images via Sideload.gg, paying $2 USDC per generation using any x402 wallet on Base.
clawhub install sideload-avatar-generatorπ About This Skill
name: sideload-avatar-generator description: Generate 3D avatars (VRM/GLB/MML) from text prompts or images via Sideload.gg. Pay-per-use with any x402 wallet (USDC on Base). metadata: {"openclaw":{"emoji":"π","requires":{"bins":["node"]}}}
Sideload Avatar Generator
Generate 3D avatars from text prompts or reference images using Sideload.gg. Pay-per-use via the x402 protocol β $2 USDC per generation on Base.
Works with any x402 wallet. Bring your own wallet and private key β no proprietary wallet required.
What You Get
Each generation produces four formats:
| Format | File | Use Case |
|--------|------|----------|
| GLB | .glb | Universal 3D β Three.js, Unity, Unreal, web viewers |
| VRM | .vrm | Avatar standard β VRChat, VTubing, social apps |
| MML | URL | Metaverse Markup Language β for MML-compatible worlds |
| PNG | .png | Processed reference image used for generation |
π Rendering Avatars with @pixiv/three-vrm
The VRM output is designed to work with @pixiv/three-vrm β the standard Three.js library for loading, displaying, and animating VRM avatars. If you're already building with Three.js, generated avatars plug right in with full skeleton support:
import * as THREE from 'three';
import { GLTFLoader } from 'three/examples/jsm/loaders/GLTFLoader';
import { VRMLoaderPlugin } from '@pixiv/three-vrm';const loader = new GLTFLoader();
loader.register((parser) => new VRMLoaderPlugin(parser));
loader.load('https://aiml.sideload.gg/models/avt-xxx.vrm', (gltf) => {
const vrm = gltf.userData.vrm;
scene.add(vrm.scene);
// Animate bone transforms, look-at, etc.
});
This makes it easy to generate an avatar with Sideload and immediately use it in any Three.js scene β games, social apps, virtual worlds, VTubing, and more.
For more on building interactive 3D experiences in the metaverse, see awesome-mml β a curated list of MML (Metaverse Markup Language) resources.
Prerequisites
--x402-token. This skill never handles private keys.
# Check the cost first
node scripts/generate.js --probe # Generate with your x402 token
node scripts/generate.js --prompt "..." --x402-token
Use any x402-compatible client to obtain a payment token: Coinbase x402 SDK, Thirdweb x402, or your own signing flow.
Setup
npm install
Usage
Generate from Text Prompt
node scripts/generate.js --prompt "A cyberpunk samurai with glowing red armor" --x402-token
Generate from Image URL
node scripts/generate.js --image https://example.com/character.png --x402-token
Generate from Local Image
node scripts/generate.js --image /path/to/photo.jpg --x402-token
Check Cost (No Payment)
node scripts/generate.js --probe
Check Job Status
node scripts/status.js avt-a1b2c3d4
Options
| Flag | Description |
|------|-------------|
| --prompt "text" | Text description of the avatar |
| --image | Reference image (URL or local file path) |
| --x402-token | x402 payment token (required for generation) |
| --probe | Check cost without generating |
| --output | Custom filename for downloaded files |
| --no-download | Skip downloading result files |
API Reference
See SIDELOAD-API.md for the full API documentation, or visit sideload.gg/agents/raw.
Quick Reference
Generate:
POST https://sideload.gg/api/agent/generate
Headers: Content-Type: application/json, x-payment:
Text: { "type": "text", "prompt": "description" }
Image: { "type": "image", "imageUrl": "https://..." }
Poll: GET https://sideload.gg/api/agent/generate/{jobId}/status (no auth needed)
Prompt Tips
Be specific about:
Good prompts:
"A steampunk engineer with leather tool belt, copper mechanical arm, weathered pilot hat""An anime-style sorceress with long silver hair, glowing purple eyes, ornate golden staff""A futuristic soldier in white and blue power armor with glowing energy shield"Image Tips
Rate Limits & Cost
Retry-After header on 429 responsesLinks
π‘ Examples
Generate from Text Prompt
node scripts/generate.js --prompt "A cyberpunk samurai with glowing red armor" --x402-token
Generate from Image URL
node scripts/generate.js --image https://example.com/character.png --x402-token
Generate from Local Image
node scripts/generate.js --image /path/to/photo.jpg --x402-token
Check Cost (No Payment)
node scripts/generate.js --probe
Check Job Status
node scripts/status.js avt-a1b2c3d4
Options
| Flag | Description |
|------|-------------|
| --prompt "text" | Text description of the avatar |
| --image | Reference image (URL or local file path) |
| --x402-token | x402 payment token (required for generation) |
| --probe | Check cost without generating |
| --output | Custom filename for downloaded files |
| --no-download | Skip downloading result files |
βοΈ Configuration
| Flag | Description |
|------|-------------|
| --prompt "text" | Text description of the avatar |
| --image | Reference image (URL or local file path) |
| --x402-token | x402 payment token (required for generation) |
| --probe | Check cost without generating |
| --output | Custom filename for downloaded files |
| --no-download | Skip downloading result files |