# Qwen Image Trainer

> Qwen Image LoRA training


## Overview

- **Endpoint**: `https://fal.run/fal-ai/qwen-image-trainer`
- **Model ID**: `fal-ai/qwen-image-trainer`
- **Category**: training
- **Kind**: training
**Tags**: lora, personalization



## Pricing

Your request will cost **$0.002 per step** (minimum of 250 steps is charged). For **$2** you can fine-tune a LoRA for **1000 steps**.

For more details, see [fal.ai pricing](https://fal.ai/pricing).

## API Information

This model can be used via our HTTP API or more conveniently via our client libraries.
See the input and output schema below, as well as the usage examples.


### Input Schema

The API accepts the following input parameters:


- **`image_data_url`** (`string`, _required_):
  URL to zip archive with images for training. The archive should contain images and corresponding text files with captions.
  Each text file should have the same name as the image file it corresponds to (e.g., image1.jpg and image1.txt).
  If text files are missing for some images, you can provide a trigger_phrase to automatically create them.
  Supported image formats: PNG, JPG, JPEG, WEBP.
  Try to use at least 10 images, although more is better.

- **`steps`** (`integer`, _optional_):
  Total number of training steps to perform. Default is 4000. Default value: `1000`
  - Default: `1000`
  - Range: `1` to `8000`

- **`learning_rate`** (`float`, _optional_):
  Learning rate for training. Default is 5e-4 Default value: `0.0005`
  - Default: `0.0005`
  - Range: `0.000001` to `0.01`

- **`trigger_phrase`** (`string`, _optional_):
  Default caption to use for images that don't have corresponding text files. If provided, missing .txt files will be created automatically. Default value: `""`
  - Default: `""`



**Required Parameters Example**:

```json
{
  "image_data_url": ""
}
```

**Full Example**:

```json
{
  "image_data_url": "",
  "steps": 1000,
  "learning_rate": 0.0005
}
```


### Output Schema

The API returns the following output format:

- **`lora_file`** (`File`, _required_):
  URL to the trained LoRA weights file.

- **`config_file`** (`File`, _required_):
  URL to the training configuration file.



**Example Response**:

```json
{
  "lora_file": {
    "url": "",
    "content_type": "image/png",
    "file_name": "z9RV14K95DvU.png",
    "file_size": 4404019
  },
  "config_file": {
    "url": "",
    "content_type": "image/png",
    "file_name": "z9RV14K95DvU.png",
    "file_size": 4404019
  }
}
```


## Usage Examples

### cURL

```bash
curl --request POST \
  --url https://fal.run/fal-ai/qwen-image-trainer \
  --header "Authorization: Key $FAL_KEY" \
  --header "Content-Type: application/json" \
  --data '{
     "image_data_url": ""
   }'
```

### Python

Ensure you have the Python client installed:

```bash
pip install fal-client
```

Then use the API client to make requests:

```python
import fal_client

def on_queue_update(update):
    if isinstance(update, fal_client.InProgress):
        for log in update.logs:
           print(log["message"])

result = fal_client.subscribe(
    "fal-ai/qwen-image-trainer",
    arguments={
        "image_data_url": ""
    },
    with_logs=True,
    on_queue_update=on_queue_update,
)
print(result)
```

### JavaScript

Ensure you have the JavaScript client installed:

```bash
npm install --save @fal-ai/client
```

Then use the API client to make requests:

```javascript
import { fal } from "@fal-ai/client";

const result = await fal.subscribe("fal-ai/qwen-image-trainer", {
  input: {
    image_data_url: ""
  },
  logs: true,
  onQueueUpdate: (update) => {
    if (update.status === "IN_PROGRESS") {
      update.logs.map((log) => log.message).forEach(console.log);
    }
  },
});
console.log(result.data);
console.log(result.requestId);
```


## Additional Resources

### Documentation

- [Model Playground](https://fal.ai/models/fal-ai/qwen-image-trainer)
- [API Documentation](https://fal.ai/models/fal-ai/qwen-image-trainer/api)
- [OpenAPI Schema](https://fal.ai/api/openapi/queue/openapi.json?endpoint_id=fal-ai/qwen-image-trainer)

### fal.ai Platform

- [Platform Documentation](https://docs.fal.ai)
- [Python Client](https://docs.fal.ai/clients/python)
- [JavaScript Client](https://docs.fal.ai/clients/javascript)
