# VFXReview — Blender Submit A Blender add-on that queues the open `.blend` on the studio render farm instead of rendering it locally. Ctrl+F12, but on the farm. --- ## What a Blender job is (and is not) Deliberately the simplest thing in the pipeline: **a queue entry and nothing more**. It has no Export, takes no shot version, and is never validated, QC'd or delivered. The `.blend` is expected to be ready to render — output path, format and frame range already set — and the farm just runs it. That is the whole difference from an After Effects export, which is a shot submission and carries the full lifecycle behind it. --- ## Install 1. **Edit → Preferences → Add-ons → Install…** and pick `vfxreview_submit.py`. 2. Enable **Render: VFXReview — Submit Render**. 3. Expand its preferences and set: | Setting | Value | |---|---| | **Server URL** | `https://review.twotalesvfx.com` | | **API Key** | matches `API_SECRET_KEY` on the server (same key the AE panel uses) | | **Artist Email** | recorded against the job so the queue shows who submitted it | The panel appears under **Properties → Output → VFXReview**. --- ## Submitting 1. **Refresh Projects** (the circular arrow) and pick the project. 2. Optionally set a **Label** — defaults to the `.blend` filename, and is what the render queue shows, since there is no shot code. 3. **Urgent** makes the job claimable outside the render window, ahead of normal work. 4. **Submit to Render Farm**. The panel shows the frame range, engine and output path it will send, read from the file as saved. Nothing is changed on submission. **The file must be saved first.** The farm opens the `.blend` from disk, so unsaved changes would render the previous state without warning — the add-on refuses to submit a dirty file rather than let that happen. Track the job on the web app under **Pipeline → Blender renders**: live progress, current frame, ETA and the machine running it, with cancel and requeue. --- ## Which machines can render it Only workers with `blenderPath` set in their `config.json` and the executable present. The worker reports Blender at registration and the server hands `BLENDER_RENDER` jobs only to machines that have it — a machine without Blender can never claim work it could only fail. Verify on a worker with: ```powershell .\VFXReviewWorker.exe --check ``` Blender is listed as optional there: a machine without it stays perfectly valid for After Effects work. --- ## Notes **Paths must resolve on the render machine.** The `.blend` path and its output path are submitted as the artist sees them; the worker applies its own `pathMappings` before opening the file. A path on a drive letter the render account cannot see is the most common reason a job fails immediately. **Renders as saved.** The add-on sends the scene's own settings. The manifest supports overrides (samples, resolution %, device, engine) for future use, but nothing in the UI sets them today — one place for render settings is the point. **Exit code 0 with no frames is treated as a failure.** Blender exits cleanly when a frame range is empty or an output path is unwritable, so the worker checks that frames were actually saved before reporting success. **The add-on sends its own User-Agent** (`VFXReviewBlender/`). Python's `urllib` otherwise identifies itself as `Python-urllib/3.x`, which Cloudflare blocks outright as a scripted signature — a 403 with error 1010 before the request ever reaches the server. Verified against the live zone: `Python-urllib` gets 403, the add-on's own agent gets 200. If a future Cloudflare rule blocks it anyway, the add-on says so in plain language rather than showing the raw JSON, and the fix is a WAF allow rule on the agent or on `/api/ext/*`.