Scheduler
The Scheduler in SD.Next is a background job queue for generation requests.
It lets you submit a generation request, continue working, and let SD.Next process the task when the system is ready or at a later preferred time.
What it does
The Scheduler is useful when you want to:
- keep working while a large generation is running in the background
- queue multiple requests and process them one after another
- run a job later or keep it ready for a preferred order
- revisit or adjust a queued task before it starts
It supports the same core generation workflows you already use in SD.Next: Image (includes txt2img, img2img and control) and Video
Important
Scheduler is not available in legacy UI or legacy txt2img/img2img tabs
How to use it
- Open an image or video generation tab and configure your prompt, model, and settings.
- Click Schedule instead of Generate.
- SD.Next stores the request in the Scheduler queue.
- You can keep working or open the queue to check status, delay, pause, or reorder tasks.
Each task keeps the prompt, model, and media inputs with it so it can be processed later without losing context.
Scheduler state
Scheduler itself can be in one of the following states: - Active: the worker processes queued tasks regardless of the active-time window. - Paused: task processing is paused, but the worker, database, and task API remain available. Tasks can still be listed and managed. - Auto: the worker processes tasks only during the configured start/end active-time window. - Stopped: the worker is stopped and task APIs and new scheduled submissions are unavailable. If the server starts in this state, it does not initialize the scheduler database. Status and state controls remain available; choosing Active, Paused, or Auto enables the scheduler again.
Scheduler controls
The Control and Video panels provide a Schedule button that adds the current request to the queue instead of starting generation immediately. Video requests from the Video, FramePack, LTX Video, and MiniMax panels use the same queue.
The Scheduler toolbar buttons control the worker:
- Active: process queued tasks without a time restriction.
- Paused: pause processing while keeping task management available.
- Auto: process tasks only within the configured active-time window.
- Stop scheduler: stop the worker and disable task operations until another mode is selected.
- Refresh: reload task rows and scheduler status.
- Load more tasks: fetch the next page of task history when more rows are available.
- Prune tasks: delete tasks older than the selected date and compact the database.
Each task row provides Execute, Pause, Resume, and Delete actions when applicable. Task details also provide Save task parameters and a Run at field for rescheduling.
Scheduler execution
Each task can be Queued or Scheduled
- Queue
This is the default state when task is added to scheduler
Queued tasks will be processed in the order they were added to the queue: FIFO (First In, First Out). You can re-order tasks in the queue view to change their execution order. - Scheduled
Each scheduled task has a specific time set for execution.
Task editing
You can edit a task before it starts processing. This includes changing the prompt, model, and other generation settings. Editing is only available for tasks that are still in the Queued or Scheduled state.
Task actions
The Scheduler lets you manage queued work without restarting or re-entering all settings:
- Run now: start a queued job immediately
- Pause: stop a queued job temporarily
- Resume: continue a paused task later
- Reorder: move tasks up or down in the queue
- Delete: remove a task that is no longer needed
Task status
A task can be in one of these states:
- Scheduled: waiting in the queue
- Running: currently being processed
- Paused: temporarily held
- Completed: generation finished
- Failed: the task did not complete successfully
From the queue view, you can review the job history and see whether a task is waiting, active, or already finished.
Database
Scheduler uses SQLite as its underlying database to store queued tasks and their states. This allows the scheduler to persist tasks even if the application is restarted
You can configure the database location in Settings -> System Paths,
default is models/scheduler/scheduler.db
Database includes: - Task parameters: all parameters related to the task, including prompt, model, and generation settings - Input media: all media files associated with the task (e.g. image used for img2img workflow) - Task result: generation infotext and processing timers
Note
Output media is NOT stored in the database and is saved as-usual in the designated output directory
API
Scheduler is implemented and available through a RESTful API in /sdapi/v1/scheduler namespace
See runtime generated API documentation at /docs for details