# Professional Headshot > Create a professional headshot photo from any single image - **Provider**: replicate - **Model ID**: flux-kontext-apps/professional-headshot - **Category**: face_image_generation - **Credits**: 93 per request - **Pricing Type**: fixed ## API Endpoint Base URL: https://api.core.today/v1 ### Create Prediction POST /predictions ### Get Status GET /predictions/{job_id} ### Cancel DELETE /predictions/{job_id} ## Authentication Header: `X-API-Key: YOUR_API_KEY` ## Input Parameters - `gender` (string, optional): The gender of the person (Default: `none`; Options: `none`, `male`, `female`) - `input_image` (string, **required**): Image of the person to create a professional headshot for. Must be jpeg, png, gif, or webp. - `background` (string, optional): The background of the headshot (Default: `neutral`; Options: `white`, `black`, `neutral`, `gray`, `office`) - `aspect_ratio` (string, optional): Aspect ratio of the generated image. Use 'match_input_image' to match the aspect ratio of the input image. (Default: `match_input_image`; Options: `match_input_image`, `1:1`, `16:9`, `9:16`, `4:3`, `3:4`, `3:2`, `2:3`, `4:5`, `5:4`, `21:9`, `9:21`, `2:1`, `1:2`) - `output_format` (string, optional): Output format for the generated image (Default: `png`; Options: `jpg`, `png`) - `seed` (integer, optional): Random seed. Set for reproducible generation - `safety_tolerance` (integer, optional): Safety tolerance, 0 is most strict and 2 is most permissive. 2 is currently the maximum allowed. (Default: `2`; Range: min: 0, max: 2) ## Example Request ```json { "model": "flux-kontext-apps/professional-headshot", "input": { "input_image": "https://replicate.delivery/pbxt/N59WPITgSJ2OAsuLmW3FfKJJ47Y61BeCZJ7FXenJp4WdcfNN/tmpozgjnvve.png", "aspect_ratio": "1:1", "gender": "female", "background": "neutral" } } ``` ## Response Format ```json { "job_id": "abc123", "status": "pending", "provider": "replicate", "model": "black-forest-labs/flux-schnell", "created_at": "2026-01-01T00:00:00Z", "result": null, "error": null } ``` Status values: `pending`, `processing`, `completed`, `failed`, `cancelled` ## Usage Flow 1. POST /predictions with model and input → receive job_id 2. Poll GET /predictions/{job_id} until status is `completed` or `failed` 3. Result contains output URL(s) or data ## Output Type url ## Tags flux-kontext, headshot, profile-photo, face-generation, business ## Documentation https://replicate.com/flux-kontext-apps/professional-headshot