Skip to main content
ArtEmotion
Image

Flux 2 Virtual Try-On

Credit-based pricing. Supports reference images.

Flux 2 Virtual Try-On preview
Output
image

Inputs

  • Reference image (required)

Example prompt

Upload a garment photo and a person photo to see the outfit virtually worn
Try this prompt →
LLM-ready

API & LLM schema

Exact request contract for this model. Agents can fetch it from /api/v1/models?id=fal-ai/flux-2-lora-gallery/virtual-tryon.

POST/api/v1/generate15 fields · 3 required
FieldTypeRequirementContract
model_idconstantRequiredArtEmotion model identifier.
extraobjectOptionalModel-specific settings may also be nested here.
max_creditsnumberOptionalReject before submission if the estimated list price exceeds this cap. · Range: 1–…
webhook_urlstringOptionalFormat: uri
webhook_secretstringOptionalOptional model input.
folder_idstringOptionalOptional model input.
promptstringRequiredOptional model input.
accelerationstringOptionalAcceleration level for image generation. 'regular' balances speed and quality. · Allowed: none, regular · Default: regular
num_inference_stepsnumberOptionalThe number of inference steps to perform. · Default: 40 · Range: 4–50
lora_scalenumberOptionalThe strength of the virtual try-on effect. · Default: 1 · Range: 0–2
enable_safety_checkerbooleanOptionalIf set to true, the safety checker will be enabled. · Default: true
output_formatstringOptionalThe format of the output image · Allowed: png, jpeg, webp · Default: png
seedintegerOptionalRandom seed for reproducibility. Same seed with same prompt will produce same result.
guidance_scalenumberOptionalThe CFG (Classifier Free Guidance) scale. Controls how closely the model follows the prompt. · Default: 2.5 · Range: 0–20
reference_image_urlsarray<string>RequiredItems: 0–2
Minimal request example
{
  "model_id": "fal-ai/flux-2-lora-gallery/virtual-tryon",
  "prompt": "Upload a garment photo and a person photo to see the outfit virtually worn",
  "reference_image_urls": []
}
Raw JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://www.artemotion.ai/api/v1/models?id=fal-ai%2Fflux-2-lora-gallery%2Fvirtual-tryon",
  "title": "Flux 2 Virtual Try-On generation request",
  "description": "Request body accepted by POST /api/v1/generate for fal-ai/flux-2-lora-gallery/virtual-tryon.",
  "type": "object",
  "properties": {
    "model_id": {
      "type": "string",
      "const": "fal-ai/flux-2-lora-gallery/virtual-tryon",
      "description": "ArtEmotion model identifier."
    },
    "extra": {
      "type": "object",
      "additionalProperties": true,
      "description": "Model-specific settings may also be nested here."
    },
    "max_credits": {
      "type": "number",
      "minimum": 1,
      "description": "Reject before submission if the estimated list price exceeds this cap."
    },
    "webhook_url": {
      "type": "string",
      "format": "uri",
      "maxLength": 2048
    },
    "webhook_secret": {
      "type": "string",
      "maxLength": 512
    },
    "folder_id": {
      "type": "string"
    },
    "prompt": {
      "type": "string"
    },
    "acceleration": {
      "title": "Acceleration",
      "description": "Acceleration level for image generation. 'regular' balances speed and quality.",
      "default": "regular",
      "type": "string",
      "enum": [
        "none",
        "regular"
      ]
    },
    "num_inference_steps": {
      "title": "Num Inference Steps",
      "description": "The number of inference steps to perform.",
      "default": 40,
      "type": "number",
      "minimum": 4,
      "maximum": 50,
      "multipleOf": 1
    },
    "lora_scale": {
      "title": "Lora Scale",
      "description": "The strength of the virtual try-on effect.",
      "default": 1,
      "type": "number",
      "minimum": 0,
      "maximum": 2
    },
    "enable_safety_checker": {
      "title": "Enable Safety Checker",
      "description": "If set to true, the safety checker will be enabled.",
      "default": true,
      "type": "boolean"
    },
    "output_format": {
      "title": "Output Format",
      "description": "The format of the output image",
      "default": "png",
      "type": "string",
      "enum": [
        "png",
        "jpeg",
        "webp"
      ]
    },
    "seed": {
      "title": "Seed",
      "description": "Random seed for reproducibility. Same seed with same prompt will produce same result.",
      "type": "integer"
    },
    "guidance_scale": {
      "title": "Guidance Scale",
      "description": "The CFG (Classifier Free Guidance) scale. Controls how closely the model follows the prompt.",
      "default": 2.5,
      "type": "number",
      "minimum": 0,
      "maximum": 20
    },
    "reference_image_urls": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uri"
      },
      "maxItems": 2
    }
  },
  "required": [
    "model_id",
    "prompt",
    "reference_image_urls"
  ],
  "additionalProperties": false
}

FAQ

How much does Flux 2 Virtual Try-On cost on ArtEmotion?

Credit-based pricing. You pay in ArtEmotion credits — every plan and top-up converts USD to credits at a fixed rate.

Do I get my credits back if Flux 2 Virtual Try-On fails?

Yes — failed generations are never charged. The credits are released back to your balance automatically.

Can I call Flux 2 Virtual Try-On from the API?

Yes. Use POST /api/v1/generate with model_id: "fal-ai/flux-2-lora-gallery/virtual-tryon". See the API reference for the full schema.

Where are my generations stored?

Every output is saved to your personal Library. You can export or delete everything any time from Privacy & deletion.

Ready to generate with Flux 2 Virtual Try-On?

Start now →

No commitment. New accounts get 50 free credits on signup. See pricing.