# Image python snippets

## Simple snippet to colorize one image with defaults

```python
import requests
# 1. X_RapidAPI_Host
# 2. X_RapidAPI_Key

X_RapidAPI_Key = '4116843d07msh704be0dfa337826p108b3fjsn72323' 
X_RapidAPI_Host = 'colorize-photo1.p.rapidapi.com'

headers = {
        "X-RapidAPI-Key": X_RapidAPI_Key,
        "X-RapidAPI-Host": X_RapidAPI_Host
}

url = "https://" + X_RapidAPI_Host + /colorize_image_with_auto_prompt"
files = {'image': ('black_and_white.jpg', open(' ./black_and_white.jpg', 'rb'), 'image/jpeg' )}

response = requests.post(url, files=files, headers=headers)
f = open( 'colorized_image.jpg', 'wb' )
f.write(response.content)
f.close()
```

## Same snippet with the defaults explained and shown

```python
import requests

X_RapidAPI_Key = '4116843d07msh704be0dfa337826p108b3fjsn72323' 
X_RapidAPI_Host = 'colorize-photo1.p.rapidapi.com'

headers = {
        "X-RapidAPI-Key": X_RapidAPI_Key,
        "X-RapidAPI-Host": X_RapidAPI_Host
}

url = "https://" + X_RapidAPI_Host +/colorize_image_with_auto_prompt"
files = {
    'image': ('black_and_white.jpg', open(' ./black_and_white.jpg', 'rb'), 'image/jpeg' )
}
data = {
    "resolution": "watermarked-sd", # watermarked-sd, sd, full-hd, or 4k
    "prompt": "", # replace with custom prompt
    "standard_filter_id": "1", # 1-20 default filters
    "artistic_filter_id": "O", # 1-100 more creative filters
    "raw_captions": "false", # true or false, remove post and prefix from promot
    "pre_fix": "", # create your own pre_fix, e.g. A photo of
    "post_fix": "", # create your own pre_fix, e.g. HDR and colorful.
    "auto_color": "true", # true or false, color balancing
    "white_balance": "false", # white balancing
    "temperature": "-0.1", # 0.0 - 1.0, cold or warm filter
    "saturation": "1.1" # 0.0 - 2.0, adjust saturation
}

response = requests.post(url, files=files, data=data, headers=headers)
f = open( 'colorized_image.jpg', 'wb' )
f.write(response.content)
f.close()
```

## Automatically colorize one image and return it in a Base64 string and print the caption

```python
import requests
import base64

X_RapidAPI_Key = '4116843d07msh704be0dfa337826p108b3fjsn72323' 
X_RapidAPI_Host = 'colorize-photo1.p.rapidapi.com'

headers = {
        "X-RapidAPI-Key": X_RapidAPI_Key,
        "X-RapidAPI-Host": X_RapidAPI_Host
}

url = "https://" + X_RapidAPI_Host + "/colorize_image_with_auto_prompt_base64"
files = {
    'image': ('black_and_white.jpg', open(' ./black_and_white.jpg', 'rb'), 'image/jpeg' )
}
data = {
    "resolution": "watermarked-sd", # watermarked-sd, sd, full-hd, or 4k
    "prompt": "", # replace with custom prompt
    "standard_filter_id": "1", # 1-20 default filters
    "artistic_filter_id": "O", # 1-100 more creative filters
    "raw_captions": "false", # true or false, remove post and prefix from promot
    "pre_fix": "", # create your own pre_fix, e.g. A photo of
    "post fix": "", # create your own pre_fix, e.g. HDR and colorful.
    "auto_color": "true", # true or false, color balancing
    "white_balance": "false", # white balancing
    "temperature": "-0.1", # 0.0 - 1.0, cold or warm filter
    "saturation": "1.1" # 0.0 - 2.0, adjust saturation
}

response = requests .post(url, files=files, data=data, headers=headers)
# Check if the request was successful
if response.status_code == 200:
    # Get the response content in JSON format
    response_json = response.json()

    # Extract the image and caption values
    image_base64 = response_json["image"]
    caption = response_json["caption"]

    # Save the image into a file
    with open("colorized_image.jpg", "wb") as f:
        f.write(base64.b64decode(image_base64))

    # Print the caption
    print(caption)
else:
    print(f"Request failed with status code: {response.status_code}")
```

## Use a folder of reference images to colorize one image

```python
import os
import time
import requests
from PIL import Image

X_RapidAPI_Key = '4116843d07msh704be0dfa337826p108b3fjsn72323' 
X_RapidAPI_Host = 'colorize-photo1.p.rapidapi.com'

HEADERS = {
        "X-RapidAPI-Key": X_RapidAPI_Key,
        "X-RapidAPI-Host": X_RapidAPI_Host
}

FOLDER_PATH = "test_images"  # Replace with the path to your folder
URL = "https://" + X_RapidAPI_Host + "/colorize_image_with_reference_image"


def main():
    i = 0
    for filename in os.listdir(FOLDER_PATH):
        if filename.endswith((".jpg", ".jpeg", ".png")):
            process_image(filename)
            i += 1
            time.sleep(0.5)

def process_image(filename):
    image_path = os.path.join(FOLDER_PATH, filename)
    files = {
        'image': ('black_and_white.jpeg', open('./black_and_white.jpeg', 'rb'), 'image/jpeg'),
        'image_ref': (filename, open(image_path, 'rb'), 'image/jpeg')
    }
    data = {
        "resolution": "4k",
        "auto_color": "false",
        "white_balance": "false",
        "temperature": "0.0",
        "saturation": "1.2"
    }
    response = requests.post(URL, files=files, data=data, headers=HEADERS)
    save_response_content(response, 'colorized_' + filename)

def save_response_content(response, output_filename):
    with open(output_filename, 'wb') as f:
        f.write(response.content)

if __name__ == "__main__":
    main()
```

## Colorize several BW frames with one reference image

```python
import os
import time
import requests
from PIL import Image

X_RapidAPI_Key = '4116843d07msh704be0dfa337826p108b3fjsn72323' 
X_RapidAPI_Host = 'colorize-photo1.p.rapidapi.com'

HEADERS = {
        "X-RapidAPI-Key": X_RapidAPI_Key,
        "X-RapidAPI-Host": X_RapidAPI_Host
}

# Folder Paths
REFERENCE_IMAGE_FOLDER = "reference_image_folder"
BW_IMAGES_FOLDER = "bw_images_folder"
OUTPUT_FOLDER = "output_folder"

URL = "https://" + X_RapidAPI_Host + "/colorize_image_with_reference_image"


def main():
    i = 0
    reference_image_path = get_reference_image_path()
    
    for filename in os.listdir(BW_IMAGES_FOLDER):
        if filename.endswith((".jpg", ".jpeg", ".png")):
            process_image(filename, reference_image_path)
            i += 1
            time.sleep(0.5)

def get_reference_image_path():
    for filename in os.listdir(REFERENCE_IMAGE_FOLDER):
        if filename.endswith((".jpg", ".jpeg", ".png")):
            return os.path.join(REFERENCE_IMAGE_FOLDER, filename)
    return None

def process_image(filename, reference_image_path):
    bw_image_path = os.path.join(BW_IMAGES_FOLDER, filename)
    output_image_path = os.path.join(OUTPUT_FOLDER, 'colorized_' + filename)

    files = {
        'image': (filename, open(bw_image_path, 'rb'), 'image/jpeg'),
        'image_ref': ('reference.jpg', open(reference_image_path, 'rb'), 'image/jpeg')
    }
    
    data = {
        "resolution": "4k",
        "auto_color": "false",
        "white_balance": "false",
        "temperature": "0.0",
        "saturation": "1.2"
    }

    response = requests.post(URL, files=files, data=data, headers=HEADERS)
    save_response_content(response, output_image_path)

def save_response_content(response, output_filename):
    with open(output_filename, 'wb') as f:
        f.write(response.content)

if __name__ == "__main__":
    main()
```

## Generate 20 Prompts

```python
import requests
import json

X_RapidAPI_Key = '4116843d07msh704be0dfa337826p108b3fjsn72323' 
X_RapidAPI_Host = 'colorize-photo1.p.rapidapi.com'

headers = = {
        "X-RapidAPI-Key": X_RapidAPI_Key,
        "X-RapidAPI-Host": X_RapidAPI_Host
}

url = "https://" + X_RapidAPI_Host + "/generate_image_prompt"

files = {
    'image': ('test.jpg', open('./test.jpg', 'rb'), 'image/jpeg')   
}

data = {
  "standard_filter_id": "0", # 1-20, 0 is disabled 
  "artistic_filter_id": "0", # 1-100, 0 is disabled
  "all_standard_filters": "true", # return all 20 prompts
  "all_artistic_filters": "false", # return all 100 prompts
  "raw_captions": "false" # remove pre and post fix to the caption
}

response = requests.post(url, files=files, data=data, headers=headers)
prompts = data = json.loads(response.text)
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.palette.fm/image-processing/image-python-snippets.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
