Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
PICOBERRY_API_KEYYesYour PicoBerry API key (pb_live_...). Required. Get one at https://picoberry.ai
PICOBERRY_API_BASENoBase URL for the PicoBerry API. Default is https://saas-api.umodeler.comhttps://saas-api.umodeler.com

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
list_modelsA

List available generation engines/models and their credit cost for a category. Call this before generating instead of hardcoding engine names. Returns [{ name, label, cost, paidOnly, supportsMultiView, supportsUltraMode, ultraCost, ... }] — use name as the engine/model value. NOTE: the two 3D surfaces are SEPARATE catalogs — 3d is text-to-3D, image-to-3d is image-to-3D. An unrecognized category silently falls back to 3d, so a guessed value returns a plausible list that is missing image-only engines.

list_animation_presetsA

List animation preset ids for the animate tool. Presets are engine-specific (Tripo ~97 / Meshy ~675) — pick one from the SAME engine you animate with. Optionally filter with a case-insensitive substring.

get_creditsA

Get the current PicoBerry credit balance for the authenticated key.

generate_imageA

Generate a 2D image from a text prompt (async). Returns an asset { id }; then call wait_for_asset (or poll get_asset) until taskStatus=2 and read files.image (PNG URL). Costs credits — see list_models(category='image'). Omit model for the default. Up to 4 reference image URLs can guide the result (best with nano-banana). Set count (1–4) for several images from one call: the top-level fields stay the first image and assets[] lists every image (same batchId) — wait_for_asset on each id. Each image is billed separately; if the balance can't cover all of them nothing is charged. A count above the plan's image slots fails with 400 (don't retry); a busy queue fails with 429 (retry later).

generate_3d_from_textA

Generate a game-ready 3D model (GLB) from a text prompt (async). Returns an asset { id }; call wait_for_asset (or poll get_asset) until taskStatus=2 and read files.model (GLB URL). Costs credits — see list_models(category='3d'). Omit engine for the default.

generate_3d_from_imageA

Generate a 3D model (GLB) from one image, or from 2–4 views of the same subject (multi-view → higher-fidelity geometry), async. Single: image_url (any public http/https image, or a prior generation's files.image) OR image_path (a local file, uploaded directly — no hosting needed). Multi-view: image_urls OR image_paths, ordered [front, left, back, right] (2–4 views). Not every engine takes multi-view — check supportsMultiView from list_models(category='image-to-3d'); unsupported engines return 400. Local files win over URLs. Then wait_for_asset and read files.model. Costs credits — see list_models(category='image-to-3d') (NOT category='3d', which is the text-to-3D catalog and omits image-only engines).

parts_boardA

Decompose one reference image into an exploded "parts board" image (async) — the subject laid out as separated components on one canvas. Input: asset_id (an existing IMAGE asset you own), image_url (a public http/https image), OR image_path (a local file, uploaded directly). Engine/resolution/prompt are server-fixed — no params. Returns an asset { id }; call wait_for_asset (or poll get_asset) until taskStatus=2 and read files.image (the board PNG). Feed that image to generate_3d_from_image for a parts-separated mesh. Costs 80 credits — see list_models(category='parts-board'). Precedence when several are set: image_path > asset_id > image_url.

remeshA

Retopologize an existing 3D asset into a NEW asset (async). Costs credits — see list_models(category='remesh') (pb-remesh is cheapest). wait_for_asset → files.model.

textureA

Re-texture an existing 3D asset (PBR) into a NEW asset (async). Describe the desired look in prompt. Costs credits — see list_models(category='texture'). wait_for_asset → files.model.

animateA

Auto-rig an existing 3D character asset and apply an animation, producing a NEW asset (async). Pick preset from list_animation_presets for the SAME engine. Costs credits — see list_models(category='animate'). wait_for_asset → files.model.

get_assetA

Get a generation's status + result. taskStatus: 0=pending 1=processing 2=succeeded 3=failed. When succeeded, files.{model,image,thumbnail,textures} hold signed result URLs (short TTL — download promptly). On failure, read errorDetail.

wait_for_assetA

Poll an asset until it finishes (taskStatus 2 or 3) or the timeout elapses, then return the final asset. Use right after generate_* / remesh / texture / animate. 3D generations can take several minutes.

list_my_assetsA

List your generated assets (newest first, owner-scoped) for browsing/sync. Filter by category (3d/image/…) or keyword.

download_assetA

Export a completed 3D asset and get a short-lived signed download URL. glb = a single self-contained file. fbx/obj download as a .zip bundle (model + textures; + Unity .meta files when texture_preset='unity') — unzip before importing. For Unity use fbx (there is no built-in glb importer).

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4.1/5.0

Scored across 14 tools

Disambiguation4/5

Each generation tool targets a distinct input modality (text→image, text→3D, image→3D) and the post-processing tools (remesh, texture, animate, parts_board) each transform an existing asset in a clearly different way. The only real overlaps are get_asset vs wait_for_asset (polling wrapper) and get_asset vs download_asset (result URLs vs export/conversion), but the descriptions explicitly clarify the difference.

Naming Consistency3/5

Most tools follow a clean verb_noun pattern (get_credits, generate_image, list_models, wait_for_asset), but the set mixes in bare verbs (remesh, texture, animate) and a bare noun (parts_board), where `texture` also ambiguously reads as a noun. It remains readable and semantically apt, but the convention is not uniform.

Tool Count5/5

Fourteen tools map cleanly onto the platform's lifecycles: generation (3), post-processing (4), asset retrieval/inspection (3), catalog discovery (3), and billing (1). No tool feels like filler and none of the workflows require an excessive number of calls beyond the inherent async wait.

Completeness4/5

The surface covers generation, transformation, polling, export, listing, credit balance, and model/preset discovery — a full end-to-end workflow. Minor gaps exist: no asset deletion or cancellation of an in-flight task, and no way to inspect/top up credits beyond a balance read.

Maintenance

ActivityMaintained
ResponsivenessLimited data