For AI agents

4D Gaussian Splatting with coding agents

This page is written for Claude Code, Codex and similar coding agents, and for the people who use them. When a user asks to "make a 3D video of this character that can be watched from any angle", "create 4DGS / volumetric video" or "turn my Blender scene into 4D Gaussian Splatting", it collects the workflow, ready-made scripts and rules in one place.

When to use 4dgspl.at

Workflow

  1. Prepare BlenderCheck with blender --version. On macOS use /Applications/Blender.app/Contents/MacOS/Blender, on Windows C:\Program Files\Blender Foundation\Blender 4.x\blender.exe. If it is missing, tell the user and download the portable build from blender.org (Linux: .tar.xz, no system install needed); ask before installing system packages.
  2. Build the model and motion
    • A simple figure or object: build it procedurally with bpy.
    • An animated human character: download the character together with its animation from Mixamo (FBX, With Skin, 30 fps; needs an Adobe account, use the user's session) or import the user's glTF/FBX/.blend. Mixamo content may be used in renders; do not put the raw FBX in the delivery or anywhere public.
    • Metres, model at the origin, feet at z = 0. Keep the motion around the origin and put the important part in the first 4 seconds (the processing server currently uses the first 4 seconds of each capture).
  3. Make the scene 4DGS-friendlyWorld colour pure black (0, 0, 0), no floor; matte materials (Roughness ≥ 0.6, Specular ≤ 0.2, Metallic 0, Coat 0); soft area lights from all sides; motion blur, depth of field and bloom off; Color Management "Standard".
  4. Build the camera ring and renderThe ready-made script builds 8 cameras at two heights, renders camNN.mp4 from each camera and writes kalibrasyon.zip:
    curl -O https://4dgspl.at/araclar/4dgspl_blender_rig.py
    blender -b scene.blend -P 4dgspl_blender_rig.py -- --kamera 8 --yaricap 3.5 --cikti //teslim --render
    The figure should fill 70–85 % of the frame height; reduce --yaricap (ring radius) if it is small.
  5. Validate the deliveryThe checker has no dependencies (Python 3.8+; with ffprobe/ffmpeg it also checks the videos and background). It exits with code 1 on errors:
    curl -O https://4dgspl.at/araclar/4dgspl_kontrol.py
    python3 4dgspl_kontrol.py teslim      # --json for machine-readable output
  6. Upload and submitThe user creates a key in Projelerim → Ajan anahtarları (agent keys) and gives it to you as an environment variable. The client validates, creates a project, uploads the videos and calibration, submits, waits and downloads the result:
    export DGSPL_ANAHTAR=4dg_…        # from the user; never write it into chat or files
    curl -O https://4dgspl.at/araclar/4dgspl_yukle.py -O https://4dgspl.at/araclar/4dgspl_kontrol.py
    python3 4dgspl_yukle.py teslim --baslik "Dancing robot" --gonder --bekle --indir result
    Without --gonder it only uploads; the user reviews and submits in the dashboard. Without a key, upload through the web dashboard: New project → videos into the camera slots → kalibrasyon.zip as calibration → submit.
  7. Use the resultWhen processing finishes, the project page has a player, a share link and a single ZIP download: one 3D Gaussian scene per frame (compressed.ply, PlayCanvas), sahne.json (frame count, fps, camera, metrics) and an MP4 preview. A single frame opens in SuperSplat; the sequence plays in the browser with PlayCanvas.

Agent key and API

MCP server

If you prefer tools over shell commands, add the 4dgspl.at MCP server (Python 3.8+, no dependencies) to Claude Code, Codex, Cursor or any MCP client. It exposes get_4dgs_guide, check_delivery, upload_project, submit_project, project_status, list_projects and download_result. Without a key the guide and checker still work.

mkdir -p ~/.4dgspl && cd ~/.4dgspl && curl -O https://4dgspl.at/araclar/4dgspl_mcp.py \
  -O https://4dgspl.at/araclar/4dgspl_yukle.py -O https://4dgspl.at/araclar/4dgspl_kontrol.py
claude mcp add 4dgspl --env DGSPL_ANAHTAR=4dg_… -- python3 ~/.4dgspl/4dgspl_mcp.py   # Claude Code
codex mcp add 4dgspl --env DGSPL_ANAHTAR=4dg_… -- python3 ~/.4dgspl/4dgspl_mcp.py    # Codex

Other clients: command python3, argument the path to 4dgspl_mcp.py, environment variable DGSPL_ANAHTAR. Source and MCP Bundle: snmzzcenk/4dgspl-tools.

Rules at a glance

TopicRule
CamerasAt least 4, 8 recommended; equal angles on the ring; two heights with 8+ cameras (≈1.1 m and ≈2.1 m)
Namescam00.mp4 … in ring order; image names in the calibration cam00.png …
VideoSame resolution, fps and frame count; synchronized; cameras never move
CalibrationA ZIP with COLMAP cameras.txt (PINHOLE, fx/fy in pixels) + images.txt (world → camera, OpenCV: x right, y down, z forward), or 4dgs-cameras cameras.json. Without it the server tries COLMAP on the images.
BackgroundPure black (0, 0, 0) in synthetic captures. A grey background (linear 0.05 in Blender ≈ 25 % grey on screen) turns into fog.
Materials and lightMatte surfaces, constant soft light; specular highlights leave streaks from new angles
DurationCurrently the first 4 seconds at 15 fps (60 frames) are processed

Tools