Updates

v3.2.0

This release adds Topaz Upscale for images and videos, a Video Compare node, and multi-select asset picking for workflows that need many inputs. You can now see detailed progress for multi-stage jobs and automatically load more assets as you scroll.

Topaz Upscale for images and videos

Add Topaz Upscale nodes from the Image Tools or Video Tools sections under their respective modality categories. The image upscaler works on a flat rate, while video upscaling cost scales with the duration of your input clip. Video outputs default to H.264 for broad compatibility, with H.265 available as an option for smaller file sizes.

Video Compare node

Compare two videos side-by-side with a draggable split slider. This standalone utility node uses the same comparison component as the SwitchX preview mode, now with improved synchronization that keeps both videos aligned during playback and seeking.

Multi-select asset picker

When adding images to a multi-input handle—like those on Gaussian Splat nodes—you can now select multiple assets at once. Use shift-click or the select-all checkbox to pick many images, then attach them all in a single action. Each image becomes its own Import node connected to the handle.

Inline status timeline for multi-stage jobs

Jobs that report progress through distinct stages—such as Gaussian Splat’s booting, COLMAP, training, rendering, and uploading—now show an inline timeline below the node. Completed stages display with their duration, while the active stage shows a live elapsed time. Single-stage jobs continue to show the standard status text.

Quality of life

  • Asset library: Pages now load automatically as you scroll near the bottom, in addition to the existing Load More button.
  • On the canvas: When “Show connected inputs” is enabled, selected nodes also display a read-only preview of their primary prompt.
  • Large assets: Signed URLs for 3D outputs and other large files are now cached, preventing re-downloads when panning through the output carousel.
  • Image tools, video tools, and 3D utility nodes have moved from the Utility section to their respective modality categories (Image, Video, 3D) for quicker access.

Decart Lucy 2 and 3 now available in Realtime nodes

We’ve added support for Decart Lucy 2 and Lucy 3 in OTOY Studio’s Realtime nodes. Both models are available today across all Studio plans.

What’s new

Realtime nodes let you stream live generation output directly into your canvas — prompts resolve as you type, reference inputs update on the fly, and changes propagate through downstream nodes without a manual trigger. The workflow is less about discrete generation steps and more about continuous refinement.

Decart’s Lucy models were built for exactly this kind of tight feedback loop. Lucy 2 offers low-latency responses with strong prompt adherence, making it well-suited for iterative exploration where you’re adjusting composition or style on the fly. Lucy 3 extends that with higher output fidelity and better handling of complex scenes — useful once you’ve locked a direction and want to push the detail.

How to use them

Open any canvas workflow and add a Realtime node. In the model selector, you’ll now see Lucy 2 and Lucy 3 listed alongside existing real-time options. Connect your prompt, reference image, or control inputs as usual — the node will stream output using whichever Lucy model you’ve selected.

Both models support the same input types as other Realtime nodes: text prompts, image references, depth maps, and mask inputs. Existing workflows that use Realtime nodes don’t require any changes; you can swap the model in place and the rest of the graph stays intact.

When to use each

Lucy 2 is the right default for early-stage exploration — the latency is low enough that you can scrub through prompt variations in real time and get a clear read on what the model responds to.

Lucy 3 is better suited to the refinement pass: once the composition and style are locked, it produces output detailed enough to use as a strong base for any downstream upscaling or post-processing nodes downstream.

Both are available now. Open Studio and give them a try.

v3.1.0

This release introduces durable server-side orchestration for multi-node runs, a new empty-canvas preset picker, and Alt+drag duplication for faster canvas workflows.

Durable server-side graph runs

Multi-node runs now optionally execute server-side, making them resilient to browser tab closure or navigation. When enabled via the server-graph-runs feature flag, the server orchestrates the entire run sequence—dispatching each node job and advancing the workflow automatically as jobs complete. This ensures long-running processes continue even if you close the window or navigate away from the canvas. Runs appear in the same interface with real-time status updates, and can be canceled at any point.

Empty-canvas preset picker

New users now see a curated selection of starter presets when opening a blank canvas. Choose from single-click defaults for each modality: Generate Image, Generate Video, Generate 3D, or Generate Audio. Each preset drops the recommended model for that modality directly onto the canvas, providing an immediate starting point without needing to browse the full node library. The picker automatically dismisses when you add any node or press Escape.

Alt+drag to duplicate nodes

Hold Alt (or Option) while dragging selected nodes to create duplicates Figma-style. The original nodes move with your cursor while copies remain in their starting positions. This uses the same duplication logic as Ctrl+D, preserving all connections, widget states, and styling. The entire duplicate-and-move operation is batched as a single history step for easy undo.

Quality of life

  • Asset sidebar now mirrors the library modal layout at wider widths, with folder tree and two-row toolbar
  • Hunyuan3D 3.1 node picker labels now distinguish between image-to-3D and text-to-3D endpoints
  • Long child node titles in group parameter panels now properly truncate with ellipsis
  • OTP code fields are now visible in dark mode
  • Asset cards show “Source unavailable” for expired signed URLs instead of endless loading
  • Plans tab CTA buttons now share consistent vertical alignment across all tiers

v3.0.0

This release introduces hierarchical job lineage tracking, multi-node graph execution, and the ability to pipe any job output as input for new jobs. You can now run selected canvas nodes sequentially and explore job history with per-version diffs.

Hierarchical job lineage

Jobs are now grouped by lineage in a new List view on the jobs page. Each lineage collapses to a single row showing the latest version, which expands to reveal a nested tree of ancestor jobs with per-version diffs and thumbnails. The lightbox navigates through the visible expanded set, making it easy to track iterations and compare changes across versions.

Use any output as input

Right-click any image, video, audio, 3D model, or text output on a job card and select “Use as input” to pipe it directly into your next run. If your current model doesn’t accept the output type, the model picker will automatically open with compatible options filtered and ready. The system preserves lineage when piping outputs, treating the source job as the parent of the new submission.

Sequential multi-node runs

Select multiple connected nodes on the canvas to run them sequentially in dependency order. A new selection-run panel shows the execution plan with per-task costs and a total estimate. Connected chains run upstream to downstream with fresh inputs resolved from the graph store, while independent components run concurrently. Failed nodes skip their dependents, and you can run the entire selection multiple times with regenerated random seeds.

Output history (beta)

Behind an opt-in flag in Preferences → Canvas, nodes can now browse their output history across past runs. This experimental feature lets you cycle through previous outputs while maintaining downstream connections, though it’s currently dark until several UX questions are resolved.

Quality of life

  • Auto-generated titles now apply to nodes run via the multi-node selection panel
  • Batch-reconnect ghost links render correctly even when endpoints are scrolled out of view
  • Video model families are reordered with Kling O3 and 3.0 separated into distinct groups
  • The navigation rail includes quick-launch shortcuts for Image, Video, 3D, and Audio modalities
  • Page titles now follow the format “Page Name | OTOY Studio”

v2.69.1

This release focuses on media playback reliability for older jobs and fixes a display issue for custom models.

Quality of life

  • Media from older jobs with legacy URLs now loads correctly in the feed.
  • Custom model jobs are now clearly marked with a badge in the jobs list.

v2.69.0

This release introduces a redesigned model picker with favorites and modality filtering, plus a new default for dimming unselected edges on the canvas.

Model picker with favorites and modality filtering

The model picker has been redesigned from a scrolling popover into a full modal dialog with improved organization. You can now filter models by modality using the left rail, which includes categories for All, Favorites, Video, Image, Audio, 3D, Text, and Utility. Each model row includes a star icon that lets you mark favorites, which persist across sessions and appear in the dedicated Favorites filter category. The search functionality now displays results as a flat list with breadcrumbs showing the modality and model family.

Dim unselected edges enabled by default

The canvas now dims unselected edges to 25% opacity by default, helping you focus on the currently selected nodes while maintaining context of your overall workflow. This setting has been promoted from experimental to stable status in Preferences, where you can toggle it on or off based on your preference. Existing user settings remain unchanged—only new users and those who hadn’t adjusted the setting will see the new default behavior.

Quality of life

  • Straight edges between aligned nodes now render correctly with their gradient styling
  • Unselected edges maintain consistent visibility when dimmed, making complex workflows easier to navigate

Runs Page Now Live

Not every generation needs a full canvas workflow. The Runs page gives you direct access to model generations outside of a node graph — a focused space for quick re-generations, one-off tests, and iteration without the overhead of building a pipeline.

What Runs is for

Canvas is the right tool when you’re building a structured workflow: chaining models, wiring up control inputs, and repeating a process across many assets. But a lot of the actual work happens before that — trying a prompt variation, checking how a model handles a reference, regenerating a single output with different settings.

Runs handles that part. You pick a model, set your inputs, and generate. No graph required.

How it works

Open the Runs page from the Studio sidebar. Select a model from the available list, configure your prompt and any input parameters, and run. Each generation is logged with its inputs, outputs, and cost so you can refer back to it or replay it later.

Runs aren’t isolated from your canvas work — outputs generated here are available in your asset library and can be pulled into any canvas workflow as a reference or starting point.

When to use it

Use Runs when you want to test a model’s behavior quickly, compare outputs across a few prompt variations, or re-run a previous generation with adjusted parameters. It’s also useful for validating that a model handles a specific input type before wiring it into a larger pipeline.

The page is available on all Studio plans. Open Studio to try it.

Refer Friends, Get Credits

When someone you refer subscribes to a paid OTOY Studio plan, you get $15 in credits added to your account — no caps, no expiry on earning.

How to refer

Your referral link is in your account settings under Referrals. Share it however you’d like — directly, in a message, or on social. When someone signs up through your link and upgrades to a paid plan, the $15 credit is applied to your account automatically.

Credits go to your account balance and apply to any usage in Studio: generations, compute, and model access.

What counts as a referral

Credits are issued when the person you referred subscribes to a paid plan — not on signup alone. Free accounts don’t trigger a payout. There’s no limit to how many people you can refer.

Using your credits

Credits are applied automatically to your next billing cycle. You’ll see the balance in your account dashboard and a line item in your invoice showing the applied amount.

Open Studio to find your referral link and start sharing.

v2.67.0

This release brings new canvas customization options for managing visual clutter on complex graphs, plus a handy way to navigate between connected nodes.

Connected inputs strip

When you select a node, a new strip appears below it showing tiles for each connected input. Each tile acts as a locate button—clicking it pans and zooms the canvas to the upstream source node and selects it. This works for all input types, not just images and videos.

The feature is off by default and can be enabled in Preferences under “Show connected inputs below selected nodes.” The strip automatically hides when zoomed out beyond 60% to maintain clickable targets.

Customizable edge visibility

Two new canvas edge enhancements give you more control over visual clutter. Edges are now slightly wider by default for better visibility across all states.

A new experimental setting lets you dim unselected edges to 25% opacity instead of hiding them completely. This reduces clutter on dense graphs while keeping the wiring visible. When enabled, edges connected to selected nodes remain fully opaque. Find this as “Dim edges unless a connected node is selected” in Preferences.

Quality of life

  • Toggle settings no longer show a reset button, eliminating layout shifts when flipping switches
  • Number and select settings now show their reset button to the left of the control, keeping the input stable when it appears
  • Group containers now correctly render behind links when no nodes are selected
  • The GPT Image 2 announcement banner has been removed from the canvas

v2.65.0

This release brings powerful filtering and sorting to the jobs page, lets you open input images in a lightbox, and adds support for element inputs when running jobs directly from the feed.

Multi-select filters and sorting for jobs

You can now filter your job history by multiple statuses, models, output media types, and folders simultaneously. Tag-based filtering is also available for including or excluding specific tags. A new sort menu lets you order jobs by newest, oldest, shortest duration, or longest duration. All filter and sort selections are saved in the URL, so your view persists across page reloads.

View input images at full size

Clicking on an input image thumbnail within a job card now opens a full-size lightbox directly on the page, allowing you to inspect the source material without navigating away. You can cycle through all media inputs for that job using the previous and next buttons.

Run element-based nodes from the jobs page

Nodes that require an element input, such as Kling reference or video generation, can now be configured and run directly from the jobs feed. A new element picker lets you select from your existing library or create a new element inline.

Quality of life

  • Group node background colors are now more distinct for easier visual identification.
  • The Expand button on job output media is consistently positioned in the top-right corner.
  • 3D model and Gaussian splat outputs now display as thumbnail cards in the jobs feed.
  • Nodes created near a reference node that is inside a group are now placed at the correct absolute position.
  • Copy and paste operations now preserve a node’s output preview, matching the behavior of duplication.
  • Group node titles now scale with zoom level consistently with other node titles.