Latest News from the Abyssale team
API
Improvement

The API Console Now Lets You Switch Between Sync and Async Generation

Guillaume avatar
Shared by Guillaume • September 02, 2026

Hi there,

The in-app API console has always been the fastest way to see what a generation request for a given design looks like: open it, and it hands you a ready-to-run JSON payload built from that design's configuration. Until now, though, that payload was always a synchronous request, which meant the console couldn't show you, or let you test the parts of the API that only exist in asynchronous generation.

That's changed. A new Query mode selector in the console lets you switch between Sync and Async, and the payload, the available options, and the result behavior all update to match.


Two modes, two payloads

The two modes correspond to the two generation paths in the API, and the console now generates the correct payload for whichever one you pick:

  • Sync : Return one static image directly. A single format, a single result, returned in the response. The payload uses template_format_name (a single string).
  • Async : Queue generation and return an ID. One or many formats in a single call, processed in the background. The payload uses template_format_names (an array), and the API returns a generation request ID immediately.

Switching modes isn't just a cosmetic toggle: it changes which AI parameters the console includes, because the two paths don't support the same set.


Why some AI parameters only appear in async

If you've enabled Remove Background or Text-to-Image on a design and wondered why the console's sync payload didn't reflect it, this is the reason. Those actions are only supported on asynchronous generation. Background removal can take longer than the synchronous path's 10-second limit, so it's deprecated in sync and not recommended there; Text-to-Image behaves similarly. Surfacing those parameters in a sync payload would produce a request that looks correct but fails at runtime — so the console deliberately filters them out.

Concretely, when the console builds a payload for a design:

  • Sync includes Auto Focus (auto_focus and auto_focus_properties)
  • Async includes Auto Focus, Remove Background (remove_bg and remove_bg_properties), and Text-to-Image

Before, the only way to test a Remove Background request from the console was to add those fields by hand. Now you switch to Async and they're generated from the design's configuration, the same way Auto Focus always has been.

A helper block below the console in sync mode explains this and links straight to the asynchronous generation docs, so anyone landing on the console for the first time understands why a design's AI settings don't all show up in the sync payload.

File type is now available in both modes

The File type selector (Auto, PNG, JPEG, WEBP, AVIF) previously only appeared in some contexts. It's now available in both modes, sitting right next to the Query mode selector, so a static design gets the same output-format control the other design types already had, and it's a visible reminder that the API supports several export types, not just one.


Testing async without leaving the console

Async generation in production means receiving results via webhook or polling the request ID. In the console, you don't have to do either: run an async query and the result still appears below, exactly as it does for animated, print, and multi-page designs, which were already async-only. The console handles the polling for you, so you can iterate on an async payload with the same fast feedback loop you're used to from sync.

What this fixes in practice

  • No more hand-editing payloads to test Remove Background or Text-to-Image from the console
  • No more confusion about why a design's AI settings don't all appear in the generated request
  • A clear on-ramp to async generation for anyone whose integration needs multi-format output or the async-only AI actions