Thursday, July 4, 2024

Amazon Titan Picture Generator and watermark detection API at the moment are out there in Amazon Bedrock

Voiced by Polly

Throughout AWS re:Invent 2023, we introduced the preview of Amazon Titan Picture Generator, a generative synthetic intelligence (generative AI) basis mannequin (FM) that you need to use to rapidly create and refine life like, studio-quality pictures utilizing English pure language prompts.

I’m joyful to share that Amazon Titan Picture Generator is now typically out there in Amazon Bedrock, providing you with a simple strategy to construct and scale generative AI functions with new picture era and picture modifying capabilities, together with prompt customization of pictures.

In my earlier publish, I additionally talked about that each one pictures generated by Titan Picture Generator comprise an invisible watermark, by default, which is designed to assist scale back the unfold of misinformation by offering a mechanism to establish AI-generated pictures.

I’m excited to announce that watermark detection for Titan Picture Generator is now typically out there within the Amazon Bedrock console. Right now, we’re additionally introducing a brand new DetectGeneratedContent API (preview) in Amazon Bedrock that checks for the existence of this watermark and helps you verify whether or not a picture was generated by Titan Picture Generator.

Let me present you tips on how to get began with these new capabilities.

Instantaneous picture customization utilizing Amazon Titan Picture Generator
Now you can generate new pictures of a topic by offering as much as 5 reference pictures. You may create the topic in numerous scenes whereas preserving its key options, switch the type from the reference pictures to new pictures, or combine kinds from a number of reference pictures. All this may be performed with out further immediate engineering or fine-tuning of the mannequin.

For this demo, I immediate Titan Picture Generator to create a picture of a “parrot consuming a banana.” Within the first try, I take advantage of Titan Picture Generator to create this new picture with out offering a reference picture.

Word: Within the following code examples, I’ll use the AWS SDK for Python (Boto3) to work together with Amazon Bedrock. Yow will discover further code examples for C#/.NET, Go, Java, and PHP within the Bedrock Person Information.

import boto3
import json

bedrock_runtime = boto3.shopper(service_name="bedrock-runtime")

physique = json.dumps(
    {
        "taskType": "TEXT_IMAGE",
        "textToImageParams": {
            "textual content": "parrot consuming a banana",   
        },
        "imageGenerationConfig": {
            "numberOfImages": 1,   
            "high quality": "premium", 
            "top": 768,
            "width": 1280,
            "cfgScale": 10, 
            "seed": 42
        }
    }
)
response = bedrock_runtime.invoke_model(
    physique=physique, 
    modelId="amazon.titan-image-generator-v1",
    settle for="software/json", 
    contentType="software/json"
)

You may show the generated picture utilizing the next code.

import io
import base64
from PIL import Picture

response_body = json.masses(response.get("physique").learn())

pictures = [
    Image.open(io.BytesIO(base64.b64decode(base64_image)))
    for base64_image in response_body.get("images")
]

for img in pictures:
    show(img)

Right here’s the generated picture:

Image of a parrot eating a banana generated by Amazon Titan Image Generator

Then, I take advantage of the brand new prompt picture customization functionality with the identical immediate, however now additionally offering the next two reference pictures. For simpler comparability, I’ve resized the photographs, added a caption, and plotted them aspect by aspect.

Reference images for Amazon Titan Image Generator

Right here’s the code. The brand new prompt customization is accessible by means of the IMAGE_VARIATION job:

# Import reference pictures
image_path_1 = "parrot-cartoon.png"
image_path_2 = "bird-sketch.png"

with open(image_path_1, "rb") as image_file:
    input_image_1 = base64.b64encode(image_file.learn()).decode("utf8")

with open(image_path_2, "rb") as image_file:
    input_image_2 = base64.b64encode(image_file.learn()).decode("utf8")

# ImageVariationParams choices:
#   textual content: Immediate to information the mannequin on tips on how to generate variations
#   pictures: Base64 string illustration of a reference picture, as much as 5 pictures are supported
#   similarityStrength: Parameter you may tune to regulate similarity with reference picture(s)

physique = json.dumps(
    {
        "taskType": "IMAGE_VARIATION",
        "imageVariationParams": {
            "textual content": "parrot consuming a banana",  # Required
            "pictures": [input_image_1, input_image_2],  # Required 1 to five pictures
            "similarityStrength": 0.7,  # Vary: 0.2 to 1.0
        },
        "imageGenerationConfig": {
            "numberOfImages": 1,
            "high quality": "premium",
            "top": 768,
            "width": 1280,
            "cfgScale": 10,
            "seed": 42
        }
    }
)

response = bedrock_runtime.invoke_model(
    physique=physique, 
    modelId="amazon.titan-image-generator-v1",
    settle for="software/json", 
    contentType="software/json"
)

As soon as once more, I’ve resized the generated picture, added a caption, and plotted it aspect by aspect with the initially generated picture. Amazon Titan Image Generator instance customization results

You may see how the parrot within the second picture that has been generated utilizing the moment picture customization functionality resembles in type the mix of the offered reference pictures.

Watermark detection for Amazon Titan Picture Generator
All Amazon Titan FMs are constructed with accountable AI in thoughts. They detect and take away dangerous content material from information, reject inappropriate person inputs, and filter mannequin outputs. As content material creators create realistic-looking pictures with AI, it’s necessary to advertise accountable growth of this know-how and scale back the unfold of misinformation. That’s why all pictures generated by Titan Picture Generator comprise an invisible watermark, by default. Watermark detection is an progressive know-how, and Amazon Net Providers (AWS) is among the many first main cloud suppliers to extensively launch built-in watermarks for AI picture outputs.

Titan Picture Generator’s new watermark detection function is a mechanism that means that you can establish pictures generated by Amazon Titan. These watermarks are designed to be tamper-resistant, serving to improve transparency round AI-generated content material as these capabilities proceed to advance.

Watermark detection utilizing the console
Watermark detection is mostly out there within the Amazon Bedrock console. You may add a picture to detect watermarks embedded in pictures created by Titan Picture Generator, together with these generated by the bottom mannequin and any personalized variations. In the event you add a picture that was not created by Titan Picture Generator, then the mannequin will point out {that a} watermark has not been detected.

The watermark detection function additionally comes with a confidence rating. The boldness rating represents the arrogance degree in watermark detection. In some circumstances, the detection confidence could also be low if the unique picture has been modified. This new functionality permits content material creators, information organizations, threat analysts, fraud detection groups, and others to raised establish and mitigate deceptive AI-generated content material, selling transparency and accountable AI deployment throughout organizations.

Watermark detection utilizing the API (preview)
Along with watermark detection utilizing the console, we’re introducing a brand new DetectGeneratedContent API (preview) in Amazon Bedrock that checks for the existence of this watermark and helps you verify whether or not a picture was generated by Titan Picture Generator. Let’s see how this works.

For this demo, let’s verify if the picture of the inexperienced iguana I confirmed within the Titan Picture Generator preview publish was certainly generated by the mannequin.

Green iguana generated by Amazon Titan Image Generator

I outline the imports, arrange the Amazon Bedrock boto3 runtime shopper, and base64-encode the picture. Then, I name the DetectGeneratedContent API by specifying the muse mannequin and offering the encoded picture.

import boto3
import json
import base64

bedrock_runtime = boto3.shopper(service_name="bedrock-runtime")

image_path = "green-iguana.png"

with open(image_path, "rb") as image_file:
    input_image_iguana = image_file.learn()

response = bedrock_runtime.detect_generated_content(
    foundationModelId = "amazon.titan-image-generator-v1",
    content material = {
        "imageContent": { "bytes": input_image_iguana }
    }
)

Let’s verify the response.

response.get("detectionResult")
'GENERATED'
response.get("confidenceLevel")
'HIGH'

The response GENERATED with the arrogance degree HIGH confirms that Amazon Bedrock detected a watermark generated by Titan Picture Generator.

Now, let’s verify one other picture I generated utilizing Secure Diffusion XL 1.0 on Amazon Bedrock. On this case, a “meerkat dealing with the sundown.”

Meerkat facing the sunset

I name the API once more, this time with the picture of the meerkat.

image_path = "meerkat.png"

with open(image_path, "rb") as image_file:
    input_image_meerkat = image_file.learn()

response = bedrock_runtime.detect_generated_content(
    foundationModelId = "amazon.titan-image-generator-v1",
    content material = {
        "imageContent": { "bytes": input_image_meerkat }
    }
)

response.get("detectionResult")
'NOT_GENERATED'

And certainly, the response NOT_GENERATED tells me that there was no watermark by Titan Picture Generator detected, and subsequently, the picture probably wasn’t generated by the mannequin.

Utilizing Amazon Titan Picture Generator and watermark detection within the console
Right here’s a brief demo of tips on how to get began with Titan Picture Generator and the brand new watermark detection function within the Amazon Bedrock console, put collectively by my colleague Nirbhay Agarwal.

Availability
Amazon Titan Picture Generator, the brand new prompt customization capabilities, and watermark detection within the Amazon Bedrock console can be found at this time within the AWS Areas US East (N. Virginia) and US West (Oregon). Test the full Area checklist for future updates. The brand new DetectGeneratedContent API in Amazon Bedrock is accessible at this time in public preview within the AWS Areas US East (N. Virginia) and US West (Oregon).

Amazon Titan Picture Generator, now additionally out there in PartyRock
Titan Picture Generator is now additionally out there in PartyRock, an Amazon Bedrock playground. PartyRock provides you a no-code, AI-powered app-building expertise that doesn’t require a bank card. You need to use PartyRock to create apps that generate pictures in seconds by choosing out of your selection of picture era fashions from Stability AI and Amazon.

Extra sources
To be taught extra in regards to the Amazon Titan household of fashions, go to the Amazon Titan product web page. For pricing particulars, verify Amazon Bedrock Pricing.

Give Amazon Titan Picture Generator a attempt in PartyRock or discover the mannequin’s superior picture era and modifying capabilities within the Amazon Bedrock console. Ship suggestions to AWS re:Put up for Amazon Bedrock or by means of your normal AWS contacts.

For extra deep-dive technical content material and to interact with the generative AI Builder group, go to our generative AI house at group.aws.

— Antje

Related Articles

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Latest Articles