Index of every page on this site: llms.txt
All skills
rehan-remade avatar

/animated-asset

@ca70351
Run it yourself

Create a fully rigged, animated voxel creature from a one-line idea — fal text-to-image → Hunyuan-3D → C++ voxelizer → headless Blender rig + 13 animation clips → glTF. Use when asked to add, generate or create a new creature, animal, animated asset or voxel model (e.g. "add a corgi", "make a wolf", "generate a new animal").

Use this Skill: https://skilld.dev/gh/rehan-remade/animated-asset-skill/animated-asset

Nothing lands on disk. Nothing to clean up.

Fork this Skill

Edit a local copy. It keeps the author and licence.

referencesfal-generation.md

≈897 tokens on demand. Your agent reads this file only when SKILL.md points to it.

fal generation reference (stages 1–2)

Access

Preferred: the fal-ai MCP server (user-scope, https://mcp.fal.ai/mcp) — tools search_models, get_model_schema, run_model, submit_job, check_job, upload_file, get_pricing.

HTTP fallback (MCP not connected): tools/pipeline/fal_client.py wraps the queue API. The key comes from FAL_KEY, ~/.fal/key, or the key = "..." line of ~/.fal/config.toml. Never print it. Auth header: Authorization: Key <key>.

# submit
curl -s -X POST "https://queue.fal.run/<endpoint>" -H "Authorization: Key $FAL_KEY" \
  -H "Content-Type: application/json" -d '<json input>'
# poll + fetch: use the status_url / response_url from the submit response VERBATIM —
# they drop endpoint sub-paths (e.g. bytedance/seedream/requests/<id>); hand-built URLs 404.

Or just use the CLI: python tools/pipeline/concept.py <Name> --idea "..." --len-m 0.9.

Schema discovery for any endpoint: https://fal.ai/api/openapi/queue/openapi.json?endpoint_id=<endpoint> (no auth).

Text-to-image — bytedance/seedream/v5/pro/text-to-image

Input: prompt (required); image_size {"width":1024,"height":1024}; num_images 4 for a candidate round (max 6); output_format "png". Output: images[], one .url (fal CDN) per candidate — keep the URLs, stage 2 consumes the picked one directly. Wall time ~2 min for one image — poll every 5 s, budget 6 min for a 4-image round. Alternates: openai/gpt-image-2, fal-ai/nano-banana-2 (check schema first).

Prompt template (proven)

A 3D render of a voxel art game asset: a {adjective} {creature} {pose, e.g. "standing"}, viewed from a side three-quarter angle. Built from large chunky visible cubes on a strict grid, roughly {L} cubes long and {H} cubes tall, MagicaVoxel style, crisp axis-aligned blocky edges, no smooth curves. {2–3 sentences of anatomy as BLOCKY shapes: "extremely short thick legs one cube tall", "oversized head", "fluff rendered as solid stepped cube layers, not strands"; suppress thin parts: "no tail" or "tail a thick plume slab lying flat against its side"}. Flat colors in clean regions: {color regions}. Centered, entire model in frame, plain solid light-gray background, soft even studio lighting, no shadows on background.

Rules of thumb: state cube counts matching the intended in-game size (voxels = meters x 10) — they control style; the voxelizer enforces exact dims. Thin appendages (tails, whiskers, thin antler tines) must be thickened, slabbed against the body, or omitted — they shred at low voxel resolutions. Legs must be separated from each other and the ground plane.

Image-to-3D — fal-ai/hunyuan-3d/v3.1/pro/image-to-3d

Input: input_image_url (required; 128–5000 px, <8 MB — pass the stage-1 CDN URL directly); generate_type "Normal" (textured); enable_pbr true; face_count 40000–1500000 (default 500k ≈ 45 MB GLB; 100k is plenty); optional multi-view conditioning: back_image_url, left/right/top/.... Output: model_glb.url, model_urls.{glb,obj,mtl,texture}, thumbnail.url. Wall time ~2.5 min — poll every 10–15 s, budget 10 min.

Known behavior: unseen views are hallucinated (a rear-facing "nose" blob appeared on a corgi generated from a single 3/4 view). Usually 1–2 stray voxels after voxelization — ignore, or supply back_image_url for a clean rear.

Cost sanity

Both models bill per run (concept ~cents, Hunyuan pro ~tens of cents). get_pricing via MCP if the user asks; don't loop generations without a passing QA gate in between.

Source: SKILL.md on GitHub

No rule matched.

skilld matched fixed text patterns in SKILL.md and file names. Patterns miss obfuscated code.

skilld run checks every file with the same patterns. It asks for approval before it loads a Skill with a behavior marked Needs approval.

2 warnings1mo3 checks · Risk MEDIUM
  • Gen Agent Trust Hub1mo

    The skill implements an automated 3D asset generation pipeline that requires access to local API credentials and executes various scripts and binaries. It uses dynamic code execution for rigging and is susceptible to indirect prompt injection through user-provided ideas.

  • Socket1mo

    No alerts

  • Snyk1mo

    Risk: MEDIUM · 1 issue

Signed by skilld at ca70351. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub 2 weeks ago.

Steadyupdated last month

README badge

README badge for rehan-remade/animated-asset-skill