> For the complete documentation index, see [llms.txt](https://docs.perception.cx/perception/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.perception.cx/perception/enma-ai/assets.md).

# Assets

Every generated asset lands in your project's `assets/` folder, named the way you asked (`laser-shoot` becomes `assets/laser-shoot.mp3`), and is logged to `assets/assets.json` with its prompt, tool and model so agents reuse instead of regenerating.

## 2D

* Prompt to image, image-to-image to keep a whole asset set in one style.
* **Engine-ready sprites** with no extra key: background removal, trim, sheet slicing, normalization, atlas packing with a Phaser, Godot or Unity manifest and pivots. `tile_check` proves a texture wraps seamlessly.
* **Animated characters from one prompt**: motion video, local frame extraction, packed animation cycle.

## 3D (Meshy key)

* Text or image to 3D, re-texture by text or reference style, rig humanoids (walk and run included), apply 500+ library animations, convert and remesh (glb, fbx, obj, usdz, stl, 3mf, blend).
* Engine-ready output: FBX alongside glb, separate PBR texture maps, `inspect_model` (triangles, rig and bone names, clips, real dimensions) before you import, PNG previews.
* A Model panel to browse every `.glb`, orbit, play clips and read stats.

## Audio and video (fal key)

Sound effects, music and speech with a model per audio kind, short videos, and 360 skybox panoramas for Unity, three.js or Unreal. One fal key covers image, video and audio.

## Vision

* Generated images are auto-reviewed against your request before being handed over (toggle in Settings).
* The vision agent captures the preview, screen or a window, headless, and can drive the local preview like a player: click, type, scroll, held keys, waits. It reports console errors with every capture.

{% hint style="info" %}
A media agent missing its provider key warns right on its Settings row instead of failing mid-task.
{% endhint %}
