Image Models (Instant)
Parel BYOM Instant image lane lets you import a public Hugging Face image generation model and call it through /v1/images/generations without provisioning a GPU. Pricing is per image (Parel applies its 1.8x margin on the upstream cost).
Supported Models
Section titled “Supported Models”| Model | HF ID | License | Notes |
|---|---|---|---|
| FLUX.1 schnell | black-forest-labs/FLUX.1-schnell | apache-2.0 | 4-step, fastest Flux variant |
| FLUX.1 dev | black-forest-labs/FLUX.1-dev | non-commercial | License acceptance required |
| FLUX.1 pro | black-forest-labs/FLUX.1-pro | commercial | Closed-weight |
| Stable Diffusion 3.5 large | stabilityai/stable-diffusion-3.5-large | community | Multi-component |
| SDXL base 1.0 | stabilityai/stable-diffusion-xl-base-1.0 | openrail++ | Lightweight |
| Qwen-Image | Qwen/Qwen-Image | apache-2.0 | Strong on multilingual prompts |
| PixArt-Sigma | PixArt-alpha/PixArt-Sigma-XL-2-1024-MS | openrail++ | Lightweight, fast |
Other Hugging Face models are validated dynamically: if inferenceProviderMapping lists a live text-to-image provider (Fal AI primary), import succeeds.
- Validate. Confirm the model is reachable and capture pricing.
- Import. Create a tenant-scoped
tm_*model ID. If the model carries a non-commercial license (e.g. FLUX.1-dev), passaccepted_license: true. - Generate. Call
/v1/images/generations. The endpoint returns202 Acceptedwith atask_idbecause image generation runs through the async queue. Poll/v1/tasks/{id}to read the result URL.
import timeimport httpx
API = "https://api.parel.cloud/v1"HEADERS = {"Authorization": "Bearer pk-dev-YOUR_KEY"}
# 1. Validateval = httpx.post( f"{API}/my-models/validate-hf", headers=HEADERS, json={"hf_model_id": "black-forest-labs/FLUX.1-schnell"},).json()assert val["supported"], val["errors"]
# 2. Importimported = httpx.post( f"{API}/my-models/import-hf", headers=HEADERS, json={ "validation_id": val["validation_id"], "execution_mode": "instant", "accepted_license": val.get("requires_license_acceptance", False), },).json()model_id = imported["parel_model_id"] # tm_flux_1_schnell_xxxx
# 3. Generate (async)queued = httpx.post( f"{API}/images/generations", headers=HEADERS, json={ "model": model_id, "prompt": "a serene mountain lake at sunset, photorealistic", "n": 1, "size": "1024x1024", },).json()task_id = queued["task_id"]
# 4. Pollfor _ in range(30): time.sleep(2) state = httpx.get(f"{API}/tasks/{task_id}", headers=HEADERS).json() if state["status"] == "completed": print(state["result"]["data"][0]["url"]) break if state["status"] == "failed": raise RuntimeError(state["error"])Endpoints
Section titled “Endpoints”| Endpoint | Description |
|---|---|
POST /v1/my-models/validate-hf | Returns pipeline tag, pricing, license flag |
POST /v1/my-models/import-hf | Registers tm_* model id |
POST /v1/images/generations | Async; returns task_id |
GET /v1/tasks/{id} | Poll for status=completed and result.data[].url |
Pricing
Section titled “Pricing”Pricing is per image. Parel applies a 1.8x margin on the upstream provider rate. Examples (USD):
| Family | Upstream | Parel |
|---|---|---|
| FLUX.1 schnell | $0.003 | $0.0054 |
| FLUX.1 dev / SD 3.5 | $0.025 | $0.045 |
| FLUX.1 pro | $0.04 | $0.072 |
| SDXL / PixArt | $0.005 | $0.009 |
| Qwen-Image | $0.018 | $0.0324 |
The actual rate is returned in the validate response under pricing.per_image.
License Acceptance
Section titled “License Acceptance”Some models (e.g. FLUX.1-dev) ship under a non-commercial license. The validator returns requires_license_acceptance: true and a warning. Pass accepted_license: true in the import body to confirm responsibility for commercial usage. Without acceptance the import returns 400 license_acceptance_required.
Cold Start and Latency
Section titled “Cold Start and Latency”Instant image generation is routed via Hugging Face Inference Providers (Fal AI by default). End-to-end latency depends on the provider:
- FLUX.1 schnell: 4-7 seconds warm
- FLUX.1 dev: 9-14 seconds warm
- SD 3.5 large: 6-9 seconds
- Qwen-Image: 5-8 seconds
There is no dedicated GPU and no idle charge. For deterministic latency or LoRA support, see Dedicated GPU (image dedicated path lands in BYOM Image Faz 2).
Out of Scope (Faz 2)
Section titled “Out of Scope (Faz 2)”- Video models (Wan2.2, HunyuanVideo)
- Image edit / inpaint endpoints
- LoRA upload
- ControlNet conditioning
These ship in BYOM Image Faz 2 (PAR-44).