Seedream 5.0 Pro đã ra mắt | Thử trong Trình tạo ảnh →

Z Image Turbo Image to Image LoRA

wavespeed-ai /

Z-Image-Turbo Image-to-Image LoRA transforms reference images with custom LoRA styles in sub-second time. Apply up to 3 LoRAs for personalized image transformation. Ready-to-use REST inference API, best performance, no cold starts, affordable pricing.

lora-support
Đầu vào

Chờ

A young African man stands tall and confident, captured in a natural outdoor setting with warm, golden-hour lighting that casts soft shadows across his skin. He wears traditional attire with intricate patterns, modest in design, reflecting cultural heritage. His expression is calm and thoughtful, eyes gazing slightly off-camera as if lost in thought. The background is softly blurred with shallow depth of field, emphasizing his presence while hinting at a rural landscape—trees, earthy tones, and distant hills. Shot in realistic, high-resolution photographic style with natural depth of field and cinematic lighting, evoking authenticity and emotional depth. Medium shot, eye-level perspective, capturing both his posture and the environment with photographic realism.

$0.01cho mỗi lần chạy·~100 / $1

Ví dụXem tất cả

A young African man stands tall and confident, captured in a natural outdoor setting with warm, golden-hour lighting that casts soft shadows across his skin. He wears traditional attire with intricate patterns, modest in design, reflecting cultural heritage. His expression is calm and thoughtful, eyes gazing slightly off-camera as if lost in thought. The background is softly blurred with shallow depth of field, emphasizing his presence while hinting at a rural landscape—trees, earthy tones, and distant hills. Shot in realistic, high-resolution photographic style with natural depth of field and cinematic lighting, evoking authenticity and emotional depth. Medium shot, eye-level perspective, capturing both his posture and the environment with photographic realism.

A young African man stands tall and confident, captured in a natural outdoor setting with warm, golden-hour lighting that casts soft shadows across his skin. He wears traditional attire with intricate patterns, modest in design, reflecting cultural heritage. His expression is calm and thoughtful, eyes gazing slightly off-camera as if lost in thought. The background is softly blurred with shallow depth of field, emphasizing his presence while hinting at a rural landscape—trees, earthy tones, and distant hills. Shot in realistic, high-resolution photographic style with natural depth of field and cinematic lighting, evoking authenticity and emotional depth. Medium shot, eye-level perspective, capturing both his posture and the environment with photographic realism.

With glasses

With glasses

Asian woman

Asian woman

Mô hình liên quan

README

Z-Image Turbo Image-to-Image LoRA

Z-Image Turbo Image-to-Image LoRA is a versatile image generation model with full LoRA support. Apply up to 3 custom LoRA adapters while controlling the transformation spectrum — from subtle enhancement to dramatic reimagination — all via the strength parameter.

This is not a simple editing tool — it's a generation engine that combines custom styles with flexible image modification.

Looking for the standard version? Try Z-Image Turbo Image-to-Image without LoRA support.

Why Choose This?

  • LoRA support Apply up to 3 custom LoRA adapters to personalize style, characters, or visual aesthetics.

  • Flexible transformation spectrum From near-lossless enhancement to complete style overhaul — all controlled by a single strength slider.

  • Quality enhancement mode At low strength, improve image quality and add detail while applying subtle LoRA styles.

  • Creative reimagination mode At high strength, combine LoRA styles with dramatic image transformation.

  • Prompt Enhancer Built-in tool to automatically improve your prompts for better results.

Understanding Strength

The strength parameter controls how much the output differs from your input image:

StrengthEffectUse Case
0.0 - 0.3Minimal change — enhances quality, applies subtle LoRA styleUpscaling with style hints, quality improvement
0.3 - 0.6Moderate change — preserves structure, blends LoRA styleStyle fusion, character consistency
0.6 - 0.8Significant change — keeps composition, strong LoRA influenceStyle transfer, artistic reinterpretation
0.8 - 1.0Maximum change — LoRA style dominates, image as referenceCreative reimagination, full style transformation

Parameters

ParameterRequiredDescription
promptYesText description guiding the transformation
imageYesSource image to transform (upload or URL)
lorasNoList of LoRA adapters to apply (up to 3)
widthNoOutput width in pixels (default: 1024)
heightNoOutput height in pixels (default: 1024)
strengthNoTransformation intensity 0-1 (default: 0.6)
seedNoRandom seed for reproducibility (-1 for random)

LoRA Format

Each LoRA in the loras array has:

  • path (required) — URL to the LoRA weights file
  • scale (optional) — Weight multiplier, default 1

How to Use

  1. Upload your image — drag and drop or paste a public URL.
  2. Write your prompt — describe the desired output or transformation.
  3. Add LoRAs — click "+ Add Item" to include custom LoRA adapters (up to 3).
  4. Set strength — low for enhancement, high for reimagination.
  5. Adjust output size — set width and height as needed.
  6. Run — submit and download the transformed image.

Pricing

ItemCost
Per image$0.01

Simple flat-rate pricing regardless of image size, strength, or LoRA count.

Best Use Cases

  • Character Transformation — Apply character LoRAs while preserving pose and composition.
  • Style Transfer with Control — Use style LoRAs with adjustable strength for precise blending.
  • Brand Consistency — Transform images to match brand aesthetics via custom LoRAs.
  • Artistic Reinterpretation — Combine multiple art style LoRAs for unique hybrid looks.
  • Quality Enhancement — Improve image quality while subtly applying trained styles.

Pro Tips

  • Start with strength 0.5-0.6 to balance original image and LoRA influence.
  • LoRA effect is more visible at higher strength values.
  • Combine LoRAs carefully — multiple LoRAs can conflict; test combinations.
  • If your LoRA uses trigger words, include them in your prompt.
  • Use the same seed to compare different strength levels or LoRA combinations.

Notes

  • Up to 3 LoRAs can be applied simultaneously.
  • LoRA version pricing is 2× the standard version.
  • Output dimensions can differ from input — set width and height to your target size.
  • At low strength, the original image dominates; at high strength, LoRA styles dominate.

Related Models

Reference

Lưu ý:Trang web này sử dụng các mô hình AI do bên thứ ba cung cấp.

Z Image Turbo Image To Image Lora API — Quick start

Grab a WaveSpeedAI API key, then call POST https://api.wavespeed.ai/api/v3/wavespeed-ai/z-image-turbo/image-to-image-lora with your input as JSON. The endpoint returns a prediction id. Start polling the result endpoint around every 2 seconds, increase the interval for long-running tasks, and stop on any terminal status. On completed, read output values from data.outputs. Examples for Z Image Turbo Image To Image Lora below.

HTTP example
set -euo pipefail

: "${WAVESPEED_API_KEY:?Set WAVESPEED_API_KEY}"

REQUEST_BODY=$(cat <<'JSON'
{
    "prompt": "A cinematic shot of a city at sunset, soft golden light",
    "image": "https://interactive-examples.mdn.mozilla.net/media/cc0-images/painted-hand-298-332.jpg",
    "size": "1024*1024",
    "strength": 0.6,
    "seed": -1,
    "output_format": "jpeg"
}
JSON
)

# 1. Submit the prediction.
SUBMIT_RESPONSE=$(curl --silent --show-error --fail-with-body \
  -X POST "https://api.wavespeed.ai/api/v3/wavespeed-ai/z-image-turbo/image-to-image-lora" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $WAVESPEED_API_KEY" \
  -d "$REQUEST_BODY")

TASK=$(printf '%s' "$SUBMIT_RESPONSE" | jq 'if has("data") then .data else . end')
PREDICTION_ID=$(printf '%s' "$TASK" | jq -r '.id')
if [ -z "$PREDICTION_ID" ] || [ "$PREDICTION_ID" = "null" ]; then
  printf 'Submission response did not contain a prediction id
' >&2
  exit 1
fi
RESULT_URL=$(printf '%s' "$TASK" | jq -r '.urls.get // empty')
if [ -z "$RESULT_URL" ]; then
  RESULT_URL="https://api.wavespeed.ai/api/v3/predictions/$PREDICTION_ID/result"
fi

# 2. Poll until the prediction finishes.
while true; do
  RESPONSE=$(curl --silent --show-error --fail-with-body "$RESULT_URL" \
    -H "Authorization: Bearer $WAVESPEED_API_KEY")
  RESULT=$(printf '%s' "$RESPONSE" | jq 'if has("data") then .data else . end')
  STATUS=$(printf '%s' "$RESULT" | jq -r '.status')
  case "$STATUS" in
    completed) printf '%s\n' "$RESULT" | jq '.outputs'; break ;;
    failed|cancelled|timeout) printf '%s\n' "$RESULT" | jq . >&2; exit 1 ;;
    created|processing) sleep 2 ;;
    *) printf 'Unexpected status: %s
' "$STATUS" >&2; exit 1 ;;
  esac
done
Node.js example
const submitUrl = "https://api.wavespeed.ai/api/v3/wavespeed-ai/z-image-turbo/image-to-image-lora";
const apiKey = process.env.WAVESPEED_API_KEY;
if (!apiKey) throw new Error('Set WAVESPEED_API_KEY');

async function requestJson(url, options = {}) {
  const response = await fetch(url, options);
  if (!response.ok) throw new Error(await response.text());
  return response.json();
}

// 1. Submit the prediction.
const body = await requestJson(submitUrl, {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${apiKey}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
        "prompt": "A cinematic shot of a city at sunset, soft golden light",
        "image": "https://interactive-examples.mdn.mozilla.net/media/cc0-images/painted-hand-298-332.jpg",
        "size": "1024*1024",
        "strength": 0.6,
        "seed": -1,
        "output_format": "jpeg"
}),
});
const task = body.data ?? body;
if (!task.id) throw new Error("Submission response did not contain a prediction id");
const resultUrl = task.urls?.get ||
  `https://api.wavespeed.ai/api/v3/predictions/${task.id}/result`;

// 2. Poll until the prediction finishes.
while (true) {
  const resultBody = await requestJson(resultUrl, {
    headers: { "Authorization": `Bearer ${apiKey}` },
  });
  const result = resultBody.data ?? resultBody;
  if (result.status === "completed") {
    console.log(result.outputs);
    break;
  }
  if (["failed", "cancelled", "timeout"].includes(result.status)) throw new Error(JSON.stringify(result));
  if (!["created", "processing"].includes(result.status)) throw new Error("Unexpected status: " + result.status);
  await new Promise(resolve => setTimeout(resolve, 2000));
}
Python example
import json
import os
import time
from urllib.request import Request, urlopen

api_key = os.environ["WAVESPEED_API_KEY"]
headers = {"Authorization": f"Bearer {api_key}", "Content-Type": "application/json"}
payload = {
    "prompt": "A cinematic shot of a city at sunset, soft golden light",
    "image": "https://interactive-examples.mdn.mozilla.net/media/cc0-images/painted-hand-298-332.jpg",
    "size": "1024*1024",
    "strength": 0.6,
    "seed": -1,
    "output_format": "jpeg"
}

def request_json(url, data=None):
    request = Request(url, data=data, headers=headers, method="POST" if data else "GET")
    with urlopen(request) as response:
        return json.load(response)

# 1. Submit the prediction.
body = request_json("https://api.wavespeed.ai/api/v3/wavespeed-ai/z-image-turbo/image-to-image-lora", json.dumps(payload).encode())
task = body.get("data", body)
if not task.get("id"):
    raise RuntimeError("Submission response did not contain a prediction id")
result_url = task.get("urls", {}).get("get") or f"https://api.wavespeed.ai/api/v3/predictions/{task['id']}/result"

# 2. Poll until the prediction finishes.
while True:
    result_body = request_json(result_url)
    result = result_body.get("data", result_body)
    status = result.get("status")
    if status == "completed":
        print(result.get("outputs", []))
        break
    if status in {"failed", "cancelled", "timeout"}:
        raise RuntimeError(result)
    if status not in {"created", "processing"}:
        raise RuntimeError(f"Unexpected status: {status}")
    time.sleep(2)

Z Image Turbo Image To Image Lora API — Frequently asked questions

What is the Z Image Turbo Image To Image Lora API?

Z Image Turbo Image To Image Lora is a WaveSpeedAI model for AI inference, exposed as a REST API on WaveSpeedAI. Z-Image-Turbo Image-to-Image LoRA transforms reference images with custom LoRA styles in sub-second time. Apply up to 3 LoRAs for personalized image transformation. Ready-to-use REST inference API, best performance, no cold starts, affordable pricing. You can call it programmatically or try it from the playground above.

How do I call the Z Image Turbo Image To Image Lora API?

POST your input parameters to the model's REST endpoint (shown in the API tab of this playground) with your WaveSpeedAI API key in the Authorization header. Submission returns a prediction ID. Poll the result endpoint starting around every 2 seconds, increase the interval for long-running tasks, and stop on any terminal status. The playground generates production-oriented Python, JavaScript, and cURL examples with timeouts, transient-error handling, and safe GET retries. Full request/response shape is documented at https://wavespeed.ai/docs/docs-api/wavespeed-ai/z-image-turbo-image-to-image-lora.

How much does Z Image Turbo Image To Image Lora cost per run?

Z Image Turbo Image To Image Lora starts at $0.010 per run. That figure is the base price — the final charge scales with the parameters you set in the form (output size, length, count, references, or whatever knobs this model exposes), so a higher-quality or larger output costs more than a minimal one. The exact cost for your current input is shown live next to the Generate button before you submit, and the actual per-call charge is recorded on the prediction afterwards.

What inputs does Z Image Turbo Image To Image Lora accept?

Key inputs: `prompt`, `image`, `size`, `seed`, `enable_base64_output`, `enable_sync_mode`. The full JSON schema (types, defaults, allowed values) is rendered above the Generate button and mirrored in the API reference at https://wavespeed.ai/docs/docs-api/wavespeed-ai/z-image-turbo-image-to-image-lora.

How long does Z Image Turbo Image To Image Lora take to generate?

Median end-to-end generation time on WaveSpeedAI is around 7 seconds per request, based on recent successful runs. Queue time varies with global demand; live status is visible in the prediction record.

Can I use Z Image Turbo Image To Image Lora outputs commercially?

Commercial usage rights depend on the model's license, set by its provider (WaveSpeedAI). The license summary appears on the model card above; see WaveSpeedAI's Terms of Service for platform-level conditions.

Z Image Turbo Image to Image LoRA | Custom LoRA Image API | WaveSpeedAI