Post deleted, because of censorship

{
  "n": 1,
  "size": "1792x1024",
  "referenced_image_ids": ["gBbLqfGBAFyGcBm3"],
  "prompt": "Redraw the cartoon image with ID gBbLqfGBAFyGcBm3 in the 'Ligne claire' style, featuring Tintin and Snowy. The scene shows them exploring an ancient temple in a dense jungle, with the temple adorned with intricate carvings and overgrown with vines. The 'Ligne claire' style is characterized by clear, strong lines and bright, uniform coloring, reminiscent of Hergé's classic Tintin comics. The composition should be vibrant, with rich details to maintain the adventurous atmosphere of the original scene."
}

Above : original image / prompt. Below : new image / added “Tintin is walking away”.

{
  "n": 1,
  "size": "1792x1024",
  "referenced_image_ids": ["gBbLqfGBAFyGcBm3"],
  "prompt": "Redraw the cartoon image with ID gBbLqfGBAFyGcBm3 in the 'Ligne claire' style, featuring Tintin and Snowy. The scene shows them exploring an ancient temple in a dense jungle, with the temple adorned with intricate carvings and overgrown with vines. The 'Ligne claire' style is characterized by clear, strong lines and bright, uniform coloring, reminiscent of Hergé's classic Tintin comics. The composition should be vibrant, with rich details to maintain the adventurous atmosphere of the original scene. Tintin is walking away."
}

Both reference the same image (gBbLqfGBAFyGcBm3) and share the same seed (3665348303).

OK. It didn’t do a terrible job but it only latched onto the walking part of the additional prompt language rather than walking away. That’s likely just needing to specify more directly what iterative change we expect from the follow up image.

I ran a bunch of tests and found some very interesting results. There is a ton of information and pictures and we cannot share chats with photos, so I am not sure of the best method to share, but I am intrigued to get the bottom of this with you. I will attempt to share some truncated findings below and we can go from there.

Original image:

Same prompt, ID and seed:

Same prompt, ID w/ no specified seed:

Same prompt, ID with modified seed:

3 Likes

From there, I specified tests to run with only noise creation. N1 - 8 characters; N2 - 16 characters; N3 - 32 characters.

N1:

N2:

N3:

Finally, I modified the prompt to include him holding a banana and began to tweak only the gen_ID. The images that were produced generated new gen_ids but I was able to duplicate those images referencing the original prompt seed and the new gen_id. Ultimately, I found that I could reference more than 1 gen_id and duplicate the below image multiple times using different ids.

After previous tests, I was at a loss for why that actually worked. So, I asked GPT. Here is the response:

Art Mystic

Indeed, the similarity between these two images despite different Gen_IDs is intriguing. It seems the key factor in achieving such close resemblance lies in the specific alterations made to the prompts and the nature of the Gen_IDs used.

In the earlier examples, when we modified the Gen_ID or omitted it entirely, the resulting images showed more dramatic differences. This variation was likely because the AI had more freedom to interpret the prompt differently each time, especially when no Gen_ID was provided or when it was significantly altered.

However, in these latest tests, we used Gen_IDs that were already quite similar to each other (as they were both generated from closely related prompts and scenes), and the only change we made to the prompt was the addition of the detail about the boy holding a banana. This small, specific alteration was not enough to significantly deviate from the original scene’s composition and style, resulting in two very similar images.

Applying This to Image Creation and Iteration Strategy:

  1. Subtle Prompt Modifications: When you want to create variations of an existing image with minimal differences, make only slight alterations to the prompt. Keep these changes specific and focused, such as adding or changing a single object or action within the scene.
  2. Using Closely Related Gen_IDs: Start with Gen_IDs from images that are already similar or have minor differences. This approach ensures that the base of your new creation is closely aligned with your desired outcome, limiting the AI’s scope for introducing significant changes.
  3. Consistent Style and Composition: If the original image and the new image prompts share a similar style and composition (like the ‘Ligne claire’ style in your example), the AI is more likely to produce closely related outcomes, even with different Gen_IDs.

By understanding and utilizing these nuances, you can effectively guide the AI to create variations of images that are either subtly different or significantly distinct, depending on your creative needs and goals.


I am not sure exactly how it all fits together yet, but I feel like we are getting close.

To me it looks like the seed doesn’t do anything, except if you remove it;

So “any seed is the same seed”, since it doesn’t accept seeds set by user.

But leaving a specific seed, forces a new seed (since every images needs at least a seed).

You can see it in your examples;

  1. Seed ABC
  2. No seed
  3. Seed DEF

But ABC is the same as DEF, so it doesn’t change the seed.

Maybe because the Reference ID itself is a meta-container for also the seed.

I was not able to reference image XYZ with seed ABC, but force seed DEF while referencing image XYZ.

They are tied to each other.


Seed logic

I also created a seed generator myself (I can share the code if you want) which has some parameters.

  1. Length
  2. Strength

As you can see length 32 has no special characters and this results in less differences than 32 characters with special characters included.

So it’s not only the length of the scrambled string, but also the “complexity” of it.


Let’s compare!

Interesting, the stick in his hand (in the image with the same ID, but a different seed) is shorter (most right image) compared to the other two.

But the differences for “same ID / seed” and “same ID / different seed” compared to the original are exactly the same.

Those differences (in the last two images, compared to the first image) are the highlighted squares, e.g. his cheek and pants.


This can be compression noise (.jpg artefacts) since they work in a honeycomb structure (center pixels are affected by surrounding pixels).

And the shorter stick can be caused by the system and not by “a different seed”.

GPT told me once he was not able to recreate the 100% exact same image because “that was how the technique worked”.

So the gen_id is a match for 97.5% of the original image, but when you recreate it, it will never be 100% the same.

Maybe that’s why the stick is suddenly different? The difference is too subtle to be caused by a seed (which has far more impact).

2 Likes

That is really interesting. Yes, please do share the seed generator code with me if you don’t mind. I am already lost down this rabbit hole. No reason not to keep going.

The below images were produced by first using the identical original prompt and ID and then using the same prompt and changing the ID to match that of each new iteration.





The results were remarkably similar, but pretty much what we would expect based on what we have been discussing already.

Something else interesting happened when I added only 1 word to the prompt, “purple”, to indicate the color of the banana. The image changed dramatically from these current iterations. (I’ll post those in reply due to 5 pic limit)

I went back and plugged in the series of IDs used for the above images, while leaving the word “purple” in the prompt, and the resulting images interestingly maintained the changes in style and character position despite referencing the older IDs.



Looks like Tintin doesn’t like purple bananas… what if you make it green?

I mean… maybe GPT tries to see the context of what is going on?


Word becomes seed?

Also, when you referrer an Image by ID, this also includes the exact prompt.

So when you change a bit of the prompt, the reference is not 100% the same.

Maybe the image “style” is stil referenced now, but changing a single words acts more like a seed to me (different image, same approach / look and feel).


(will post the generator code later on)

Original image

Referenced original (the mouth and big temple sign changes!)

Changed “(…) intricate carvings” → “(…) MYSTERIOUS intricate carvings” (context word 1)

Changed “(…) intricate carvings” → “(…) WOODEN intricate carvings” (context word 2)

Changed “(…) intricate carvings” → “(…) DFJA!_@S! intricate carvings” (random word)

  1. So “mysterious” doesn’t change the image, besides it becomes widescreen. Maybe because the image was mysterious by itself?

  2. And wooden carvings changes the image an awful lot. It became truly widescreen, the characters look different, etc… (but the carvings in the temple are not made of wood).

  3. The random word did what it used to do : same image, different pose (like a seed).


Semantics, baby!

So it look like the context / taxonomy / semantics of a “added words” (also) determines the changes.

Which makes senses, since GPT is a LLM after al.

And LLM is all about semantics.

Semantics is the study of reference, meaning, or truth. The term can be used to refer to subfields of several distinct disciplines, including philosophy, linguistics and computer science.

1 Like
<?php

function app__seed( $app__seed_limit, $app__seed_complexity = 2 ) {

  $app__seed_chrs = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ~!@#$%^&*()_+-=';

    if ( $app__seed_complexity === 1 ) {

      $app__seed_chrs = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';

    }

  $app__seed = '';

    for ( $app__seed_index = 0; $app__seed_index < $app__seed_limit; $app__seed_index++ ) {

      $app__chr = trim( $app__seed_chrs[ rand( 0, strlen ( $app__seed_chrs ) - 1 ) ] );

      if ( empty ( $app__chr ) ) {

        $app__chr = '0';

      }

      $app__seed .= $app__chr;

    }

  echo '<li><span class="seed--complexity-' . $app__seed_complexity . '">' . sprintf( '%03d', strlen( $app__seed ) ) . '</span>' . ' <input type="text" value="' . $app__seed . '" autocorrect="false" readonly></li>';

}

?><!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>seeds</title>
  <link rel="shortcut icon" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDcuMi1jMDAwIDc5LjU2NmViYzViNCwgMjAyMi8wNS8wOS0wODoyNTo1NSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDIzLjQgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjcyQkFFRkQzN0I2NDExRUVCNDUyOTE1OUVFRkMzMzEyIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjcyQkFFRkQ0N0I2NDExRUVCNDUyOTE1OUVFRkMzMzEyIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NzJCQUVGRDE3QjY0MTFFRUI0NTI5MTU5RUVGQzMzMTIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NzJCQUVGRDI3QjY0MTFFRUI0NTI5MTU5RUVGQzMzMTIiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7dy8RhAAAIKklEQVR42uxd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">
  <style>

    body,
    input {
      font-family: monospace, 'Courier';
    }

    body {
      background-color: #222;
      margin: 4rem 1rem;
    }

    span {
      opacity: .5;
      font-size: 75%;
      display: inline-block;
      width: 4rem;
    }

    span.seed--complexity-1 {
      opacity: .75;
    }

    span.seed--complexity-2 {
      opacity: .5;
    }

    input,
    li {
      color: #8b8b8b;
      font-size: 2rem;
      font-weight: bold;
    }

    input {
      background-color: #333;
      border-radius: .5rem;
      border: none;
      width: calc( 100% - 8rem );
      padding: .5rem 1rem;
      outline: none;
      cursor: pointer;
      transition: all .25s ease;
    }

    input.copied {
      background-color: #363;
      color: #163716;
    }
    
    ol {
      list-style: none;
      padding: 0;
    }

    li {
      margin: 1rem 0;
    }

    div {
      position: absolute;
      top: 0;
      left: 0;
      width: 0;
      height: .75rem;
      padding: .5rem 0 .75rem 0;
      font-weight: bold;
      background-color: #111;
      color: #444;
      transition: width 10s ease-out;
      text-align: center;
    }

    div.fired {
      width: 100%;
    }

  </style>
</head>
<body>

<div></div>

<ol>
  
<?php

  app__seed( 8 );
  app__seed( 16 );
  app__seed( 32, 1 );
  app__seed( 64 );
  app__seed( 128 );
  
?>  

</ol>

<script>

  let $app__progress = document.getElementsByTagName( 'div' )[ 0 ];
  let $app__progress_delay = parseFloat( getComputedStyle( $app__progress ) [ 'transitionDuration' ] );

  $app__progress.innerHTML = $app__progress_delay + 'S';

  $app__progress.addEventListener( 'transitionend', function() {

    location.href = location.href;

  } );

  setTimeout ( 

    function() {

      $app__progress.classList.add( 'fired' );

  }, 10 );


  document.body.addEventListener( 'click', function( $app__seed_event ) {

    let $app__seed_next = $app__seed_event.target;
    let $app__seed_prev = document.getElementsByClassName( 'copied' );

    if ( $app__seed_next.nodeName.toLowerCase() === 'input' ) {

      navigator.clipboard.writeText( $app__seed_next.value ).then( function() {

      if ( $app__seed_prev.length ) {

        $app__seed_prev[ 0 ].classList.remove( 'copied' );

      }

      $app__seed_next.classList.add( 'copied' );
      $app__seed_next.blur();

      }, function( $app__seed_error ) {

        alert( 'Copy not succeeded.' )

      } );

    }

    $app__seed_event.stopPropagation();

  } );

</script>

</body>
</html>

As promised the sourcecode for the “seed generator”.

It is a .PHP script you have to host on your own webserver.

In the browser, it looks like this;

It generates five textfields with scrambled text, you can adjust the length / strength by it’s paremeters.

Those are prefilled in the code;

  1. 008 characters - complexity 2
  2. 016 characters - complexity 2
  3. 032 characters - complexity 1 *
  4. 064 characters - complexity 2
  5. 128 characters - complexity 2

* level 1 only contains a-z and A-Z, were level 2 also contains digits and specials.

It refreshes every 10 seconds and when you click / touch a scrambled text, it is copied to your device clipboard / memory (so you can paste it straight into the GPT).


Both length and strengt do alter the output of the image (see examples in this thread).

1 Like

Are you using the official API here or is this by leaning on the unofficial part of the API the ChatGPT client uses?

I tried, gen_id / seeds / seed etc and the API rejects it.

I don’t have access to the API.

I use the web interface using ChatGPT.

Where is your screenshot coming from? I have not seen that interface before.

Happy Thanksgiving, lol.

1 Like

you use it in ChatGPT?

is it possible to same every pixel when you do it?

Yes, all my images and experiment are done in ChatGPT.

We don’t have access to the seeds anymore, but by setting the Generation ID you can play with the results.

And you can add scrambled text to an existing prompt and Generation ID, that way you have the same pixels with little changes (which you can alter with the length of the scrambled text).

I’m interested in this but can’t seem to stabilize the background or anything other than what I want to change. And thinking about changing the perspective, is it possible or not?

You can’t finetune it 100% like in Photoshop, by manual or whatever.

But using the right prompt, gen_id and referencing_images_id you can get great results (and finetune it afterwards with scrambled text when needed).

Without an example, it’s not possible to guide you.

I mean the picture of you doing this. The results are very close to continuous images.


I just think that if could do it more continuously or having an adjustable view point would be great.
for me what you’ve discovered and shared is very helpful. Because normal users want to know.

I previously created an MyGPT that reduces the word count of prompts to their main elements and only includes a few words, but I didn’t see you mention seed in another post.



But you made a wonderful discovery. I tried using it to gain more control over some of the images.





But when you try to do it like you did in the first picture. It’s also difficult to control.



I just put words like “man jump in air” after the refer id.

But this is enough for me. Thank you very much.

1 Like

Simple words can do the trick also.

You can create a prompt and add “Xb2957xbxheueud73djw37” after it, or real words.

Those small changes also changes the images.

But you have to state clearly that “the scrambled text if part of the prompt and should not be removed”.

This is an example of adding scrambled text.

A Chinese man fighting a dragon in a ricefield in the misty Chinese mountains. The image depicts the classic, traditional Chinese art and is manually and precisely drawn with dark strokes and vibrant water ink.

Then I asked for the Generation ID and create the same image, referencing to that ID with the same prompt (with scrambled text added).

I want to reference image ekGv6Bwk8FT8qnaO

Use this image as a reference with the following prompt, keep the scrambled part at the end;

A Chinese man fighting a dragon in a ricefield in the misty Chinese mountains. The image depicts the classic, traditional Chinese art and is manually and precisely drawn with dark strokes and vibrant water ink. NEYwgqkclGVeRMMtMXCHrTWxcZjrTJzw

The style is the same, but because of the different prompt at the end, the image did change.

1 Like

Thanks, it helped me a lot. These messages must use the website you mentioned, right? I will try to study later. And this is what you gave me.


This is the original than put Xb2957xbxheueud73djw37 to it

The rest of the photos I have experimented with in different ways. It involves inserting words into the original prompt, or adding words at the end of the prompt, adding words at the end of the id only, or referencing the picture that came out. I think I’ll check later to see which ones do what.




I use the website, ChatGPT, to create the images.

I don’t use the API.

The length and complexity of the words determines the changes in the original image.

So ABCDEF is less different than aAbca-daE_F. And AB3_-(5VXDGDFH-_4$#-+HHD$#@D# will create lots of changes.