Skip to content

Asset Production Pipelines

End-to-end documentation for each grit-mcp asset pipeline, from generation through post-processing to S3 delivery.

Architecture Overview

All asset pipelines in The Smithy follow a common three-stage pattern:

flowchart LR
    subgraph Generate["1. Generate"]
        PROMPT[Prompt / Source Asset] --> AI[AI Service]
        AI --> RAW[Raw Output]
    end

    subgraph PostProcess["2. Post-Process"]
        RAW --> QA{Quality Gate}
        QA -->|Pass| CLEAN[Cleaned Asset]
        QA -->|Fail| RETRY[Adjust & Retry]
        RETRY --> AI
    end

    subgraph Deliver["3. Deliver"]
        CLEAN --> S3[S3 Upload + Metadata]
        S3 --> REVIEW[Slack Review]
        REVIEW -->|Approved| DONE[Game-Ready Asset]
    end

Each pipeline is implemented as a set of MCP tools exposed by the grit-mcp server. An operator (human or AI agent) orchestrates the tools in sequence, inspecting intermediate results and making creative decisions at each stage.

Pipelines

Pipeline Tools Status
Audio SFX grit_generate_sfx, grit_audio_trim, grit_audio_normalize, grit_audio_loop_check, grit_audio_post_process, grit_audio_inspect, grit_ingest_audio Active
Video (Wan2.2 I2V) grit_upload_image, grit_generate_video, grit_check_status, grit_ingest_video Active
3D Models (Meshy + Blender) grit_meshy_text_to_3d, grit_meshy_image_to_3d, grit_meshy_check, grit_meshy_remesh, mesh_inspect, mesh_decimate, mesh_retopo, mesh_export_fbx, grit_mesh_ingest Active
Storyboard Assembly grit_list_clips, grit_produce_clip, grit_assemble_premiere Active

Shared Infrastructure

All pipelines share the following infrastructure components:

S3 Asset Library

Assets are stored in a shared S3 bucket with a consistent path convention per pipeline:

Pipeline S3 Prefix Naming Pattern
Audio SFX grit/audio/sfx/{group}/{element}/ SFX_{GROUP}_{ELEMENT}_{PHASE}.wav
3D Models grit/3d_models/ Per-model directories
Video grit/video/ Per-generation directories

Every uploaded asset includes a provenance sidecar (.meta.json) containing license, generator, prompt text, and GitLab issue reference. The sidecar ensures traceability from final game asset back to the original creative brief.

S3 Asset Management Tools

Three cross-cutting MCP tools manage the asset library independent of any specific pipeline:

Tool Description
upload_asset Upload a local file to S3 (auto-detects MIME type)
list_assets List/filter assets by prefix and media type (image, video, audio)
download_asset Download an S3 object to a local path

See Grit Tooling — S3 Asset Management for full parameter details.

Slack Review Workflow

Before an asset is considered game-ready, it can be posted to Slack for team approval:

Tool Description
grit_post_for_review Post an asset to Slack for thumbs-up / thumbs-down review
grit_check_reviews Check the current review status of a posted asset

This provides a lightweight creative sign-off loop without leaving the MCP tool workflow.

External Service Dependencies

Dependency Used By Notes
ElevenLabs API Audio SFX Text-to-SFX generation
SoX (Homebrew) Audio SFX Trimming with fade-in/out
FFmpeg (Homebrew) Audio SFX EBU R128 LUFS normalization
Meshy AI 3D Models Text/image-to-3D generation
Blender (headless) 3D Models Inspect, decimate, retopo, FBX export
Tensor.art (Wan2.2) Video I2V Image-to-video generation
boto3 / S3 All pipelines Asset storage and retrieval

Common Workflow Pattern

While each pipeline has its own tools and creative decisions, the operator workflow follows a consistent pattern:

  1. Generate — Call the generation tool with a prompt or source asset.
  2. Inspect — Review the raw output (audio properties, mesh poly counts, video quality).
  3. Post-process — Apply pipeline-specific cleanup (trim, normalize, decimate, retopo).
  4. Ingest — Upload the final asset to S3 with provenance metadata.
  5. Review — Post to Slack for team approval.

See Also

See also

The portable technique in this document has been extracted into client-free patterns. This page keeps the implementation detail; the patterns carry the part that transfers.