Skip to main content
POST
/
v1
/
ai
/
image-change-camera
curl --request POST \
  --url https://api.freepik.com/v1/ai/image-change-camera \
  --header 'Content-Type: application/json' \
  --header 'x-freepik-api-key: <api-key>' \
  --data '
{
  "image": "https://example.com/product-photo.jpg"
}
'
{
  "data": {
    "generated": [],
    "task_id": "046b6c7f-0b8a-43b9-b35d-6489e6daee91",
    "status": "CREATED"
  }
}

Authorizations

x-freepik-api-key
string
header
required

Your Freepik API key. Required for authentication. Learn how to obtain an API key

Body

application/json
image
string
required

Input image to transform. Provide as a publicly accessible HTTPS URL. Supported formats: JPG, PNG, WebP.

Example:

"https://example.com/input-image.jpg"

horizontal_angle
integer
default:0

Horizontal rotation angle in degrees. Controls the left-right rotation of the camera around the subject.

  • 0: Front view (no rotation)
  • 90: Right side view
  • 180: Back view
  • 270: Left side view
  • 360: Full rotation (equivalent to 0)

Valid values: 0 to 360. Default: 0.

Required range: 0 <= x <= 360
Example:

45

vertical_angle
integer
default:0

Vertical tilt angle in degrees. Controls the up-down tilt of the camera relative to the subject.

  • -30: Looking up at the subject from below
  • 0: Eye-level view (no tilt)
  • 45: Moderate downward angle
  • 90: Bird's eye view (directly above)

Valid values: -30 to 90. Default: 0.

Required range: -30 <= x <= 90
Example:

15

zoom
integer
default:5

Zoom level controlling how close the camera appears to the subject.

  • 0: Wide shot (far away, full scene visible)
  • 5: Medium shot (standard framing)
  • 10: Close-up (very close to the subject)

Valid values: 0 to 10. Default: 5.

Required range: 0 <= x <= 10
Example:

5

seed
integer

Seed for the random number generator. Using the same seed with identical parameters produces the same output, enabling reproducible results across multiple requests.

Required range: x >= 1
Example:

42

output_format
enum<string>
default:png

Output image format.

  • png: Lossless compression, best for high-quality results
  • jpeg: Lossy compression, smaller file size suitable for web use
Available options:
png,
jpeg
webhook_url
string<uri>

Optional callback URL that will receive asynchronous notifications whenever the task changes status. The payload sent to this URL is the same as the corresponding GET endpoint response, but without the data field.

Example:

"https://www.example.com/webhook"

Response

OK - The task exists and the status is returned

data
object
required
Example:
{
"task_id": "046b6c7f-0b8a-43b9-b35d-6489e6daee91",
"status": "CREATED",
"generated": [
"https://openapi-generator.tech",
"https://openapi-generator.tech"
]
}