# Send PrintPal 3D Generation to your agent
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
## Fast path
- Download the package from Yavira.
- Extract it into a folder your agent can access.
- Paste one of the prompts below and point your agent at the extracted folder.
## Suggested prompts
### New install

```text
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
```
### Upgrade existing

```text
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
```
## Machine-readable fields
```json
{
  "schemaVersion": "1.0",
  "item": {
    "slug": "printpal-3d",
    "name": "PrintPal 3D Generation",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/plebbyd/printpal-3d",
    "canonicalUrl": "https://clawhub.ai/plebbyd/printpal-3d",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadUrl": "/downloads/printpal-3d",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=printpal-3d",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "packageFormat": "ZIP package",
    "primaryDoc": "SKILL.md",
    "includedAssets": [
      "references/api-reference.md",
      "scripts/save_image.py",
      "scripts/seo_product_photos.py",
      "scripts/generate_3d.py",
      "scripts/serve_files.py",
      "SKILL.md"
    ],
    "downloadMode": "redirect",
    "sourceHealth": {
      "source": "tencent",
      "slug": "printpal-3d",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-07T09:59:52.809Z",
      "expiresAt": "2026-05-14T09:59:52.809Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=printpal-3d",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=printpal-3d",
        "contentDisposition": "attachment; filename=\"printpal-3d-1.0.4.zip\"",
        "redirectLocation": null,
        "bodySnippet": null,
        "slug": "printpal-3d"
      },
      "scope": "item",
      "summary": "Item download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this item.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/printpal-3d"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    }
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/printpal-3d",
    "downloadUrl": "https://openagent3.xyz/downloads/printpal-3d",
    "agentUrl": "https://openagent3.xyz/skills/printpal-3d/agent",
    "manifestUrl": "https://openagent3.xyz/skills/printpal-3d/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/printpal-3d/agent.md"
  }
}
```
## Documentation

### PrintPal 3D Model Generator

Generate 3D models from images or text prompts for 3D printing.

### Quick Start

From an image path or URL:

python3 {baseDir}/scripts/generate_3d.py --image /path/to/image.png

From text prompt:

python3 {baseDir}/scripts/generate_3d.py --prompt "a cute robot toy"

### Installation

Required Python packages:

pip install printpal requests

For text-to-image and SEO features:

pip install wavespeed

Configure API keys in your OpenClaw settings (~/.openclaw/openclaw.json under env):

PRINTPAL_API_KEY - required for 3D generation
WAVESPEED_API_KEY - for text-to-image and product photos
OPENROUTER_API_KEY - for SEO metadata generation

### Workflow

Get the image:

If user provides a file path → use it directly
If user provides a URL → download it
If user pastes an image → use it directly (it will be available as a file path or URL in context)
If user provides text → generate image via WaveSpeed first



Generate 3D model:

Use PrintPal API with super quality (768 cubed)
Default output format: STL
Save to printpal-output/ directory in workspace



Provide downloads:

Start file server if needed
Return clickable URLs

### Default Settings

SettingDefaultOptionsQualitysuperdefault, high, ultra, super, super_texture, superplus, superplus_textureFormatstlstl, glb, obj, ply, fbx

### generate_3d.py

Main script for generating 3D models.

python3 scripts/generate_3d.py [OPTIONS]

Options:
  -i, --image PATH      Input image file path or URL
  -p, --prompt TEXT     Text prompt (uses WaveSpeed to generate image first)
  -q, --quality TEXT    Quality level (default: super)
  -f, --format TEXT     Output format (default: stl)
  -o, --output-dir DIR  Output directory
  --json                Output results as JSON

### serve_files.py

Start HTTP server for file downloads.

python3 scripts/serve_files.py [OPTIONS]

Options:
  -d, --directory DIR   Directory to serve (default: printpal-output/)
  -p, --port PORT       Port number (default: 8765)
  --host HOST           Host to bind to (default: 127.0.0.1)
  --public              Bind to 0.0.0.0 to allow network access
  --url-only            Just print URL without starting server

### Quality Levels

QualityResolutionCreditsEst. Timedefault256³420 sechigh384³630 secultra512³860 secsuper768³203 minsuperplus1024³304 min

### Output Formats

FormatBest ForSTL3D printing (default)GLBWeb/gamesOBJUniversal compatibilityPLYPoint cloudsFBXAutodesk software

### API Keys

Required environment variables (configure in ~/.openclaw/openclaw.json under env):

PRINTPAL_API_KEY - Get from https://printpal.io/api-keys (required for 3D generation)
WAVESPEED_API_KEY - Get from https://wavespeed.ai/accesskey (optional, for text-to-image)
OPENROUTER_API_KEY - Get from https://openrouter.ai/keys (optional, for SEO generation)

### Output Directory

Default output is printpal-output/ in the skill's workspace. Override with:

Environment variable: PRINTPAL_OUTPUT_DIR=/path/to/output
Command option: --output-dir /path/to/output

### Security Notes

File server: The serve_files.py script defaults to localhost (127.0.0.1) for security. Use --public flag to expose to network.
Third-party packages: Scripts import printpal, wavespeed, and requests packages. Review these packages before installing.
Downloaded content: The skill downloads images from user-supplied URLs. Treat as untrusted input.

### Error Handling

ErrorSolutionWAVESPEED_API_KEY not setProvide image directly or configure API keyPRINTPAL_API_KEY not setConfigure in OpenClaw settingsInsufficient creditsPurchase at printpal.io/buy-creditsPackage not installedRun pip install printpal wavespeed

### SEO Product Listing Generator

Generate SEO-optimized metadata and product photos for selling 3D models/prints on marketplaces like Etsy, TikTok Shop, etc.

### Quick Start

python3 scripts/seo_product_photos.py \\
  --image /path/to/model_photo.jpg \\
  --description "A cute dragon figurine" \\
  --purpose "Collectible toy for fantasy fans" \\
  --audience "Fantasy enthusiasts, collectors, parents buying for kids"

### Workflow

Input: User provides an image of their 3D model/print + description, purpose, and target audience
SEO Generation: OpenRouter MiniMax generates optimized title, description, tags
Photo Generation: WaveSpeed nano-banana/edit creates 5 polished product photos
Output: ZIP file with metadata + photos, served via local HTTP server

### Required Environment Variables

# OpenRouter (for SEO generation)
OPENROUTER_API_KEY=your_openrouter_key

# WaveSpeed (for product photos)
WAVESPEED_API_KEY=your_wavespeed_key

Get OpenRouter key: https://openrouter.ai/keys
Get WaveSpeed key: https://wavespeed.ai/accesskey

### Options

OptionShortDescriptionDefault--image-iPath or URL to input image(required)--description-dDescription of the 3D model/print(required)--purpose-pWhat the item is for/its use(required)--audience-aTarget audience/customers(required)--num-photos-nNumber of photos to generate5--port-Download server port8766--json-Output results as JSONfalse

### Output

The script generates:

seo_metadata.txt - Full metadata (title, description, tags, features, etc.)
product_photo_01.png through product_photo_05.png - Generated product photos
seo_product_listing.zip - All files packaged for download

Download URL is provided at the end (e.g., http://hostname:8766/seo_product_listing.zip)

### SEO Metadata Fields

The generated metadata includes:

title: Full SEO title (max 140 chars, keywords included)
short_title: Catchy thumbnail title (max 40 chars)
description: Detailed listing description (500-1000 words)
tags: 15 optimized tags for search
category: Primary marketplace category
search_terms: 5 high-value search terms
key_features: 4 key product features
target_marketplace: Recommended platform

### Example

python3 scripts/seo_product_photos.py \\
  --image /workspace/my_mug_holder.jpg \\
  --description "A custom 3D printed mug holder with dragon design" \\
  --purpose "Keeps mugs organized on desk or kitchen, great gift" \\
  --audience "Office workers, coffee lovers, home office enthusiasts"

### Troubleshooting

ErrorSolutionOPENROUTER_API_KEY not setConfigure in OpenClaw settingsPhoto generation failsCheck WAVESPEED_API_KEY and creditsPort in useUse --port to specify different port

### Reference

For detailed API documentation, see api-reference.md.
## Trust
- Source: tencent
- Verification: Indexed source record
- Publisher: plebbyd
- Version: 1.0.2
## Source health
- Status: healthy
- Item download looks usable.
- Yavira can redirect you to the upstream package for this item.
- Health scope: item
- Reason: direct_download_ok
- Checked at: 2026-05-07T09:59:52.809Z
- Expires at: 2026-05-14T09:59:52.809Z
- Recommended action: Download for OpenClaw
## Links
- [Detail page](https://openagent3.xyz/skills/printpal-3d)
- [Send to Agent page](https://openagent3.xyz/skills/printpal-3d/agent)
- [JSON manifest](https://openagent3.xyz/skills/printpal-3d/agent.json)
- [Markdown brief](https://openagent3.xyz/skills/printpal-3d/agent.md)
- [Download page](https://openagent3.xyz/downloads/printpal-3d)