Model catalog
Every generation lane, the models in it, their tunable parameters, and whether they run today. Settings are the quality-tuned values from the platform's R&D whitepapers, not library defaults.
The /v1/models endpoint LIVE
The whole catalog below is also served as a live, machine-readable API, so your code can discover models, their capabilities, and their cost at runtime instead of hard-coding a list. It is public - no API key required.
GET https://flopco.in/v1/models
Query parameters
All optional. Absent means the whole catalog as JSON.
| Param | Values | Description |
|---|---|---|
type | text | image | video | audio | Filter to one generation lane. Unknown type returns 400. |
tag | vision, edit, pixel, photoreal, painterly, code, reasoning, transparent, music, sfx, api, ollama, ... | Filter to a capability facet. Combine with type. |
family | generator | pixel | edit | vector | Filter the image lane to one KIND of model (see family below). Unknown family returns 400. |
format | json (default) | xml | php | Response encoding. php returns a PHP serialize() string (also accepts serialize/serialized). Absent means JSON. Unknown format returns 400. |
Response envelope
{
"ok": true,
"count": 55,
"types": ["text", "image", "video", "audio"],
"families": ["edit", "pixel", "vector", "generator"],
"formats": ["json", "xml", "php"],
"models": [ ...model objects... ]
}
A model object
| Field | Type | Description |
|---|---|---|
id | string | Pass this as model on /v1/generate. Canonical - the ids here are authoritative. |
name | string | Human label. |
type | string | The lane: text | image | video | audio. This is the API contract used by the type filter and by /v1/generate. |
family | string | The KIND of model within the image lane: generator (full-res text-to-image), pixel (low-res retro sprites by design), edit (image-to-image, needs init_image), vector (returns SVG). Derived from tags; for non-image lanes it is generator. Group your picker on this so users do not pick a pixel model for a product shot or send a text-only prompt to an editor. |
familyLabel / familyNote | string | Human label and a one-line caveat for the family (e.g. the pixel note warns it is low-res by design; the edit note warns a text-only prompt cannot produce an image). |
capabilities | string[] | What it does, e.g. text-to-image, instruction-edit, image-understanding, reasoning, transparent-output. |
acceptsInitImage | bool | Whether it meaningfully consumes an init_image (edit models, video, vision). |
provider | string | Who made the weights. |
license | string | Model license, so you know what is commercial-safe. |
cost / costUnit | number / string | Nominal price per generation, in FLOP. |
spec | string | Resolution / duration / context hint. |
status | string | live = routable through /v1/generate today; preview = proven, worker-wiring pending. Do not assume a preview model renders yet. |
tags | string[] | Facets used by the tag filter. |
docs | string | Model card / homepage URL. |
{
"id": "flux-kontext",
"name": "FLUX.1 Kontext dev",
"type": "image",
"family": "edit",
"familyLabel": "Instruction edit",
"familyNote": "Edits an image you supply. Requires init_image; a text-only prompt cannot produce an image.",
"capabilities": ["instruction-edit", "image-to-image"],
"acceptsInitImage": true,
"provider": "Black Forest Labs",
"license": "FLUX.1 Non-Commercial",
"cost": 9,
"costUnit": "FLOP",
"spec": "instruction edit, needs init_image",
"status": "preview",
"tags": ["edit", "gated"],
"docs": "https://huggingface.co/black-forest-labs/FLUX.1-Kontext-dev"
}
Examples
# the whole catalog (JSON)
curl https://flopco.in/v1/models
# just the video models
curl "https://flopco.in/v1/models?type=video"
# text models that can see images
curl "https://flopco.in/v1/models?type=text&tag=vision"
# the audio lane as XML
curl "https://flopco.in/v1/models?type=audio&format=xml"
# PHP-serialized (unserialize() straight into an array)
curl "https://flopco.in/v1/models?format=php"
XML shape
<?xml version="1.0" encoding="UTF-8"?>
<response>
<ok>true</ok>
<count>2</count>
<models>
<item>
<id>wan-2.2-i2v</id>
<type>video</type>
<capabilities><item>image-to-video</item></capabilities>
...
</item>
</models>
</response>
GET /v1/models?type=image&tag=edit to find an instruction-editor, read its id and acceptsInitImage, then POST to /v1/generate with that model plus your init_image.
Text lane LIVE
Prompt to text through an ollama-compatible endpoint. Fulfilled inline by the worker. One config value (gen_text_endpoint) points it at the local VPS ollama or a RunPod serverless ollama with no code change.
ollama (default llama3.2:3b) LIVE
| Parameter | Type | Range | Default | Quality | Description |
|---|---|---|---|---|---|
model | string | any pulled model | llama3.2:3b | a larger local model | The ollama model tag to run. |
num_ctx | int | 512..model max | 4096 | 4096+ | Context window in tokens. |
num_predict | int | 1..4096 | 1024 | 1024 | Max tokens generated. |
stream | bool | true/false | false | false | Non-streaming; the worker reads the full response. |
timeout | int (s) | 30..600 | 180 | 180 | Transport timeout for the inference call. |
vision: true/false flag; attaching an image forces a vision-capable model and the API rejects an image sent to a text-only model. Premium proprietary options (Claude, Fable) are planned via a separate key. None of this ships yet.
Image lane PLANNED
Prompt to image. The image lane holds four very different KINDS of model, and the /v1/models response tags each one with a family so a picker can group and warn instead of lumping them together. Pick the right family for the job:
init_image, so a text-only prompt to it cannot produce an image and just fails. For ordinary "text to a full-resolution picture", use a generator.
family | What it does | init_image | Filter |
|---|---|---|---|
generator | Full-resolution text-to-image from a prompt alone. The default lane. | no | ?type=image&family=generator |
pixel | Low-resolution retro sprite art by design. Not for photoreal / high-res. | no | ?type=image&family=pixel |
edit | Instruction edit of an image you supply (image-to-image). A text-only prompt cannot produce an image. | required | ?type=image&family=edit |
vector | Returns a scalable SVG, not a raster bitmap. | no | ?type=image&family=vector |
All image models below are currently preview in the catalog (proven, worker wiring pending); none serve end-to-end through /v1/generate yet. Ids are authoritative - they match GET /v1/models?type=image exactly.
Generator - full-resolution text-to-image PLANNED
Real text-to-image. Self-hosted diffusion on RunPod GPUs plus a couple of hosted-API options. This is the lane for product shots, photoreal, painterly, and fantasy work at 1024px+.
| id | Name | Provider | License | FLOP | Spec | Tags |
|---|---|---|---|---|---|---|
sdxl | Stable Diffusion XL | Stability AI | CreativeML OpenRAIL++ | 5 | 1024x1024 | painterly |
juggernaut-xl | Juggernaut XL | RunDiffusion | CreativeML OpenRAIL++ | 5 | 1024x1536 | photoreal, painterly |
dreamshaper-xl | DreamShaper XL | Lykon | CreativeML OpenRAIL++ | 5 | 1024x1536 | painterly, fantasy |
realvis-xl | RealVisXL V5 | SG161222 | CreativeML OpenRAIL++ | 5 | 1024x1536 | photoreal |
zavychroma-xl | ZavyChroma XL | Zavy | CreativeML OpenRAIL++ | 5 | 1024x1536 | painterly, fantasy |
epicrealism-xl | EpicRealism XL | epinikion | CreativeML OpenRAIL++ | 5 | 1024x1536 | photoreal |
playground-v2.5 | Playground v2.5 | Playground AI | Playground v2.5 Community | 5 | 1024x1024 | painterly, aesthetic |
kolors | Kolors | Kuaishou | Apache-2.0 | 5 | 1024x1024 | painterly |
flux-dev | FLUX.1 dev | Black Forest Labs | FLUX.1-dev Non-Commercial | 8 | 1024x1536 | painterly, gated |
qwen-image | Qwen-Image | Alibaba Qwen | Apache-2.0 | 6 | 1024x1536 | painterly |
sana | SANA 1.6B | NVIDIA | NSCLv2 | 4 | 1024x1024 (fast) | fast |
pixart-sigma | PixArt-Sigma | PixArt-alpha | OpenRAIL++ | 4 | 1024x1024 | painterly |
absolutereality | AbsoluteReality (SD1.5) | Lykon | CreativeML OpenRAIL-M | 3 | 512x768 | photoreal, sd15 |
realisticvision | Realistic Vision V6 (SD1.5) | SG161222 | CreativeML OpenRAIL-M | 3 | 512x768 | photoreal, sd15 |
dreamshaper8 | DreamShaper 8 (SD1.5) | Lykon | CreativeML OpenRAIL-M | 3 | 512x768 | painterly, sd15 |
sd35-large | Stable Diffusion 3.5 Large | Stability AI | Stability AI Community | 6 | 1024x1024, gated | painterly, gated |
stable-image-ultra | Stable Image Ultra | Stability AI | Proprietary (Stability API) | 14 | hosted API, 1MP+ | painterly, api |
hidream-i1 | HiDream-I1 Full | HiDream AI | MIT | 6 | 1024x1024 | painterly, gated |
hunyuanimage-3 | HunyuanImage 3.0 | Tencent | Tencent Hunyuan Community | 7 | 1024x1024+ | painterly |
z-image | Z-Image | Tongyi Lab (Alibaba) | Apache-2.0 | 4 | 6B, 1024x1024 | painterly |
z-image-turbo | Z-Image Turbo | Tongyi Lab (Alibaba) | Apache-2.0 | 3 | few-step, fast 1024 | fast |
imagen-4 | Imagen 4 | Proprietary (Vertex API) | 10 | high-fidelity t2i | api |
Diffusion tuning (the RunPod generators), tuned values from the platform whitepapers:
| Parameter | Type | Range | Default | Quality | Description |
|---|---|---|---|---|---|
steps | int | 8..50 | 28 | 28-30 | Sampler steps (SDXL). LCM speed lane uses 8. |
cfg_scale | float | 1..12 | 6.5 | 6-7 | Prompt adherence. LCM lane uses ~1.5. |
width / height | int | 512..4096 | 1024 | 1024 (native) | SDXL native 1024; Sana / PixArt-Sigma go higher. |
sampler | string | Euler a, DPM++ 2M Karras, LCM | Euler a | DPM++ 2M Karras | Sampler. LCM only with an LCM LoRA. |
seed | int | -1 = random | -1 | -1 | Fixed seed for reproducibility. |
Pixel art - low-res retro sprites (by design) PLANNED
| id | Name | Provider | License | FLOP | Spec | Tags |
|---|---|---|---|---|---|---|
retro-diffusion | Retro Diffusion (RD Pro) | Retro Diffusion | Commercial (RD API) | 4 | true pixel art, up to 256px | pixel, premium |
pixel-art-xl | Pixel Art XL (SDXL LoRA) | nerijs | CreativeML OpenRAIL++ | 5 | 1024 + kCentroid downscale | pixel |
pixel-redmond | Pixel Art Redmond (SDXL) | ArtificialGuyBr | CreativeML OpenRAIL++ | 5 | 1024x1024 | pixel |
Instruction edit - image-to-image (needs init_image) PLANNED
init_image. A text-only prompt to one of these cannot produce an image and is rejected. To generate from a prompt alone, use a generator instead.
| id | Name | Provider | License | FLOP | Spec | Tags |
|---|---|---|---|---|---|---|
nano-banana | Nano Banana (Gemini 2.5 Flash Image) | Proprietary (Vertex / Gemini API) | 10 | instruction edit + gen; needs init_image for edits | edit, api | |
gpt-image-2 | GPT Image 2 | OpenAI | Proprietary (OpenAI API) | 12 | top-tier gen + instruction edit, up to 2K | edit, api |
qwen-image-edit | Qwen-Image-Edit | Alibaba Qwen | Apache-2.0 | 7 | instruction edit, needs init_image | edit |
flux-kontext | FLUX.1 Kontext dev | Black Forest Labs | FLUX.1 Non-Commercial | 9 | instruction edit, needs init_image | edit, gated |
step1x-edit | Step1X-Edit | StepFun | Apache-2.0 | 6 | instruction edit, needs init_image | edit |
instruct-pix2pix | InstructPix2Pix | Tim Brooks et al. | MIT | 3 | instruction edit, needs init_image | edit |
Vector / SVG - text-to-vector PLANNED
Prompt to a scalable SVG rather than a raster bitmap. First-party pipeline: prompt goes to a catalog image model, then a tracer (vtracer / potrace / pngtosvg) converts the raster to vector.
| id | Name | Provider | License | FLOP | Spec | Tags |
|---|---|---|---|---|---|---|
flop-svg | FlopSVG (text-to-vector) | FlopCoin (self-hosted) | MIT (first-party) | 6 | prompt -> image model -> vector tracer -> SVG | vector, svg |
Transparent (RGBA) image output is a self-hosted target on a torch>=2.6 ComfyUI base; proprietary transparent generation runs via Azure gpt-image (never OpenAI direct). See the gpt-image provider page and the open models page.
Video lane PLANNED
Async GPU renders (submit to a serverless provider, store external_job_id, poll to adopt). No provider is configured in production yet, so video jobs stay queued. Model ids: wan-alpha, wan22-i2v.
| Model | Type | Output | Notes |
|---|---|---|---|
wan-alpha | text-to-video | 832x480, transparent (alpha) | Alpha channel only on the T2V path. The self-hostable transparent video generator. |
wan22-i2v | image-to-video | 720p | Drives an init image into motion. First+last-frame (FLF2V) is a further variant. |
Premium proprietary video (Runway, Veo) is a separate provider lane; see Runway.
Audio - TTS & voice clone PLANNED
Chatterbox Multilingual (ship pick, MIT) PLANNED
Commercial-safe zero-shot voice clone from a short user sample. Prototype flows are proven on F5; weights swap to Chatterbox before charging.
F5-TTS (prototype only, non-commercial weights) PLANNED
| Parameter | Type | Range | Default | Quality | Description |
|---|---|---|---|---|---|
nfe_step | int | 16..64 | 32 | 32 (48-64 hard voices) | ODE solver steps. Never below 16. |
cfg_strength | float | 1..3 | 2.0 | 2.0-2.5 | Guidance toward the reference timbre. Too high gets robotic. |
sway_sampling_coef | float | ~ -1 | -1.0 | -1.0 | Sway Sampling schedule - the quality lever; keep negative. |
ode_method | string | euler | midpoint | euler | euler | Solver. midpoint is higher-order but slower. |
cross_fade_duration | float (s) | 0.1..0.3 | 0.15 | 0.2 | Crossfade between long-text chunks (hides seams). |
target_rms | float | 0..1 | 0.1 | 0.1 | Output loudness normalization. |
speed | float | 0.5..2 | 1.0 | 1.0 | Speaking rate. |
XTTS-v2 (benchmark only, non-commercial weights) PLANNED
| Parameter | Type | Range | Default | Quality | Description |
|---|---|---|---|---|---|
temperature | float | 0.6..0.85 | 0.75 | 0.7 | Lower = more faithful timbre. |
repetition_penalty | float | 2.0..5.0 | 2.0 | 2.5 | Kills filler / long silences. |
top_k | int | - | 50 | 50 | Top-k sampling. |
top_p | float | 0..1 | 0.85 | 0.85 | Nucleus sampling. |
gpt_cond_len | int | 12..30 | 12 | 20 | How much of the reference informs the latents. |
sound_norm_refs | bool | true/false | false | true | Normalize loudness of user uploads. |
enable_text_splitting | bool | true/false | false | true | Handles the 400-token cap on long transcripts. |
Reference-sample spec (record.flopco.in, planned): 10-15 s of clean speech (sweet spot ~12 s) reading a fixed sentence, 44.1 / 48 kHz mono WAV; server normalizes, trims to <=12 s.
Audio - music & song-from-lyrics PLANNED
ACE-Step 1.5 (default engine) PLANNED
One engine: instrumental if no lyrics, sung if lyrics. Do NOT use the turbo checkpoints (quality-lossy); use base or sft.
| Parameter | Type | Range | Default | Quality | Description |
|---|---|---|---|---|---|
infer_step | int | 50..60 | 60 | 60 | Diffusion steps. >60 gives diminishing returns. |
guidance_scale | float | 3..15 | 15.0 | 15.0 | CFG. Exactly 0 or 1 disables CFG (footgun). |
omega_scale | float | - | 10.0 | 10.0 | APG omega scale. |
scheduler_type | string | euler | heun | euler | heun | heun = 2nd-order, cleaner transients (top tier). |
cfg_type | string | apg | apg | apg | Guidance type. |
guidance_interval | float | 0..1 | 0.5 | 0.5 | Fraction of the trajectory guidance is applied. |
min_guidance_scale | float | - | 3.0 | 3.0 | Floor for interval guidance. |
duration | int (s) | 1..240 | 120 | up to 240 | Song length. |
sample_rate | int | 44100 | 44100 | 44100 | Output rate. Precision bf16. |
YuE (premium A100 lyrics-to-song) PLANNED
| Parameter | Type | Default | Description |
|---|---|---|---|
top_p | float | 0.93 | Nucleus sampling (leave as tuned). |
temperature | float | 1.0 | Sampling temperature. |
repetition_penalty | float | 1.1 | Do not drop below 1.1 (looping). |
guidance_scale | float | 1.5 / 1.2 | 1.5 for the first two segments, else 1.2. |
run_n_segments | int | 2 (4-6 typical) | Number of lyric sections rendered. |
max_new_tokens | int | 3000 | ~30 s of audio per segment. |
Minutes-per-song, A100 80GB target. Premium/batch tier, not an interactive default.
Audio - text-to-audio / SFX PLANNED
Stable Audio Open 1.0 PLANNED
Stability Community License (free under $1M rev; must display "Powered by Stability AI" and register commercial use). A "Small" variant serves a fast SFX lane.
| Parameter | Type | Range | Default | Quality | Description |
|---|---|---|---|---|---|
prompt | string | - | required | - | The sound to generate. |
duration | float (s) | 1..47 | 8 | true length | Generate the 47 s canvas and trim to duration. Do not exceed 47. |
steps | int | 60..250 | 100 | 150 | Tiers: 60 fast / 100 standard / 150 quality. |
cfg_scale | float | 1..9 | 7.0 | 7.0 | 6 ambience, 7 general, 8 tight adherence. Never >9. |
sampler_type | string | dpmpp-3m-sde | dpmpp-3m-sde | dpmpp-3m-sde | Best sampler for SAO 1.0. sigma_min 0.3 / sigma_max 500. |
negative_prompt | string | - | "low quality, noise, distortion, artifacts" | same | Measurably cleans SFX. |
batch_size | int | 1..8 | 1 | 4 | Best-of-N: generate N, CLAP-rank, keep best. |
seed | int | -1 = random | -1 | -1 | Reproducibility. |
Output: 44.1 kHz stereo WAV, base64 in the provider payload. bf16 on A40/A100.
Sprite / pixel-art PLANNED
SDXL + nerijs/pixel-art-xl LoRA, then a kCentroid downscale + palette lock (the crisp-pixel secret). Sprite SHEETS keep one shared locked palette + grid across all frames for consistency.
| Parameter | Type | Range | Default | Quality | Description |
|---|---|---|---|---|---|
lora_weight | float | 0.9..1.2 | 1.1 | 1.1-1.2 | pixel-art-xl strength (drop to 0.9 for more subject fidelity). |
steps | int | 8..30 | 28 | 28-30 | Quality mode. LCM speed lane = 8 steps. |
cfg | float | 1.5..7 | 6.5 | 6-7 | LCM lane uses ~1.5. |
size | int | 1024 | 1024 | 1024 | Generate big, downscale to the target grid. |
grid | int | 16..64 | - | per asset | Target pixel grid (16 icon / 32 item / 64 character). |
palette | string | auto | locked | auto | locked (sheets) | Lock one palette across a sheet; dithering off for clean sprites. |
Sheet/animation pipeline: one anchor sprite -> WAN 2.2 i2v -> BiRefNet bg-strip per frame -> kCentroid to the shared grid -> shared-palette quantize -> stitch to a horizontal strip + atlas JSON.
Talking-head / lip-sync PLANNED
Pipeline (all commercial-safe): SadTalker (512) -> MuseTalk v1.5 lip-resync -> GFPGAN v1.4 -> Real-ESRGAN x2 -> mp4. If a face VIDEO exists, MuseTalk direct is highest fidelity. Wav2Lip weights are non-commercial - do not ship.
| Stage | Parameter | Quality value | Description |
|---|---|---|---|
| SadTalker | size | 512 | Base render; always run an enhancer. |
| SadTalker | enhancer | gfpgan | Face enhancer (mandatory for a shippable result). |
| SadTalker | expression_scale | 1.0-1.15 | Expressiveness. --still tames head jitter. |
| SadTalker | preprocess | crop | full | crop for a tight head; full + still for full-body paste-back. |
| MuseTalk | version | v15 | v1.5 (sharper mouth, fixed bbox_shift). |
| MuseTalk | batch_size | 16-32 | Throughput on A40/A100. |
| MuseTalk | extra_margin | 10 | Blend margin. parsing_mode jaw, cheek widths 90. |
| Post | upscale | Real-ESRGAN x2 | To ~1080p after GFPGAN. |
LivePortrait (MIT) is an optional premium re-driver for smoother head motion; it needs a driving video (no native audio input).
Tool ops PLANNED
Non-model utilities exposed as API-callable jobs with the same media-in / media-out contract. Mostly ffmpeg + a couple of vision models.
| Op | Input | Output | Parameters | Description |
|---|---|---|---|---|
border-strip | video | video | edge color, tolerance | Strip a solid-color border / continuous edge fill (ffmpeg, no AI). The strip_video_border stage of the transparency pipeline. |
bg-remove | image | transparent PNG | model (BiRefNet | rembg) | Self-hosted background removal to an RGBA PNG. |
image-split | image | ZIP of pieces | mode (grid | sheet | N), rows, cols | Split an image (grid / sprite-sheet / N tiles) into a ZIP of pieces. |
Related video tools (chained i2v "video-long", ffmpeg chroma-key "video-chroma", alpha / solid-color stripping) follow the same media-in / media-out job contract.