Skip to content
LLM-friendly formats:

Type Reference

Complete TypeScript type definitions for the Weyl API.

Core Types

type Modality = 'image' | 'video';
type Family = 'flux' | 'zimage' | 'wan';
type Task = 't2i' | 'i2i' | 't2v' | 'i2v' | 'edit';
type ImageFormat =
| '1024' | '512'
| 'portrait' | 'portrait-wide'
| 'landscape' | 'landscape-wide';
type VideoFormat =
| '720p' | '720p-portrait'
| '480p' | '480p-portrait'
| 'square';
type Backend = 'nunchaku' | 'torch' | 'tensorrt';
type Sampler = 'euler' | 'euler_a' | 'dpmpp_2m' | 'heun';
type Scheduler = 'simple' | 'normal' | 'sgm';
type Priority = 'low' | 'normal' | 'high';
type JobStatus = 'queued' | 'running' | 'complete' | 'failed' | 'cancelled';

Request Types

interface BaseGenerationRequest {
prompt: string;
negative_prompt?: string;
steps?: number;
guidance?: number;
seed?: number;
}
interface ImageGenerationRequest extends BaseGenerationRequest {
sampler?: Sampler;
scheduler?: Scheduler;
loras?: LoRAConfig[];
upscale?: 1.5 | 2 | 4;
detail_enhance?: boolean;
detail_strength?: number;
}
interface I2IRequest extends ImageGenerationRequest {
image: string;
strength?: number;
}
interface VideoGenerationRequest extends BaseGenerationRequest {
image: string;
duration?: number;
cfg?: number;
}
interface LoRAConfig {
url: string;
weight: number;
}

Response Types

interface Job {
id: string;
status: JobStatus;
created_at: string;
started_at?: string;
completed_at?: string;
failed_at?: string;
}
interface QueuedJob extends Job {
status: 'queued';
position: number;
eta_seconds: number;
}
interface RunningJob extends Job {
status: 'running';
progress: number;
step: number;
total_steps: number;
eta_seconds: number;
}
interface CompleteJob extends Job {
status: 'complete';
output: string;
duration_ms: number;
}
interface FailedJob extends Job {
status: 'failed';
error: {
code: string;
message: string;
};
}

WebSocket Types

interface WSMessage {
type: string;
[key: string]: unknown;
}
interface WSAuthMessage extends WSMessage {
type: 'auth';
token: string;
}
interface WSGenerateMessage extends WSMessage {
type: 'generate';
modality: Modality;
family: Family;
model: string;
task: Task;
format: string;
stream_frames?: boolean;
}
interface WSFrameMessage extends WSMessage {
type: 'frame';
step: number;
total_steps: number;
data: string;
}
interface WSCompleteMessage extends WSMessage {
type: 'complete';
output: string;
latency_ms?: number;
}