# Skin Fix > Cleanup pass for portrait photography. Smoothes skin texture, fixes blemishes, preserves natural detail. ## Overview - **Endpoint**: `https://api.runflow.io/v1/run/runflow/skin-fix` - **Model ID**: `runflow/skin-fix` - **Provider**: Runflow - **License**: commercial - **Last Updated**: 2026-04-28 ## Pricing - **Base price**: $0.12/request - **Note**: Per image — skin retouch ## Input Schema ### `image_url` (image, required) URL of the image to process. HTTPS required. ### `file_input` (string, required) Filename inside `image_url` (e.g. `photo.png` if the zip contains `photo.png`). Frontend should set this to match the inner filename when composing the zip. ## Usage Examples ### cURL ```bash curl -X POST https://api.runflow.io/v1/run/runflow/skin-fix \ -H "Authorization: Bearer $RUNFLOW_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "image_url": "https://example.com/input.jpg" }' ``` ### Python ```python import requests response = requests.post( "https://api.runflow.io/v1/run/runflow/skin-fix", headers={"Authorization": "Bearer RUNFLOW_API_KEY"}, json={ "image_url": "https://example.com/input.jpg", }, ) data = response.json() print(data["images"][0]["url"]) ``` ### JavaScript ```javascript const response = await fetch( "https://api.runflow.io/v1/run/runflow/skin-fix", { method: "POST", headers: { "Authorization": "Bearer RUNFLOW_API_KEY", "Content-Type": "application/json", }, body: JSON.stringify({ image_url: "https://example.com/input.jpg", }), } ); const data = await response.json(); console.log(data.images[0].url); ``` ## Additional Resources - [Playground](https://www.runflow.io/models/runflow/skin-fix) - [API Reference](https://www.runflow.io/models/runflow/skin-fix/api) - [Documentation](https://docs.runflow.io) - [OpenAPI](https://api.runflow.io/v1/openapi.json)