Bitcoin (Inscription) Generative Image Machinery

bitgen - bitcoin (inscription) generative image machinery incl gen-brc721 & co

Usage

Generative BRC-721 (Gen BRC-721 or GBRC-721)

(historic) ordinal (bitcoin) protocol by Jerry Fanelli proposed / published in mid-May 2023

note: Gen BRC-721 is ded. Jerry Fanelli proposed BRC-69 as the official successor in July 2023 BUT yes, Ordgen / ORC-721 may be the better (generative) alternative protocol / winner.

Let's try some (historic) Gen BRC-721 collections...

Collection №1 - 1000 Ordibots (32x32px)

The world's first gen-brc-721

Find the deploy text @ inscription no 8326719 - May 21, 2023 by Jerry Fanelli.

Let's generate some ulta-rare never-before-seen (do-it-yourself) ordibots.

require 'bitgen'

## step 1: read in the deploy text (incl the base64-encoded generative images)
gen = Bitgen::Generator.read( './ordibots.json' )


## step 2:  generate your images
bot = gen.generate( accessories: 'antenna',
                    body: 'gold-oval',
                    belly: 'chess',
                    face: 'happy',
                  )

bot.save( "./bot1.png" )
bot.zoom( 4 ).save( "./[email protected]" )


bot = gen.generate( background: 'bitcoin-orange',
                    accessories: 'rainbow',
                    body: 'standard-square',
                    belly: 'empty',
                    face: 'unimpressed'
                  )

bot.save( "./bot2.png" )
bot.zoom( 4 ).save( "./[email protected]" )


bot = gen.generate( background: 'bitcoin-orange',
                    accessories: 'rainbow',
                    body: 'black-and-white-triangular',
                    belly: 'square',
                    face: 'happy'
                  )

bot.save( "./bot3.png" )
bot.zoom( 4 ).save( "./[email protected]" )

resulting in:

in 4x:

If you wonder what categories and names can I use? Print the cheatsheet returned by Catalog#cheat.

catalog = Bitgen::Catalog.read( './ordibots.json' )
puts catalog.cheat

resulting in:

0 - background (4)
    0 - blue
    1 - bitcoin-orange
    2 - brown
    3 - purple
1 - accessories (3)
    0 - antenna
    1 - none
    2 - rainbow
2 - face (7)
    0 - happy
    1 - neutral
    2 - surprised
    3 - unimpressed
    4 - angry
    5 - bored-green
    6 - bored-red
3 - body (9)
    0 - standard-triangular
    1 - standard-square
    2 - standard-oval
    3 - gold-oval
    4 - black-and-white-square
    5 - black-and-white-oval
    6 - black-and-white-triangular
    7 - gold-square
    8 - gold-triangular
4 - belly (3)
    0 - empty
    1 - chess
    2 - square

Now if you wonder what do these look in pixels? Export all images (in 1x and 8x) using Catalog#export for browsing using your local image viewer / file explorer.

catalog = Bitgen::Catalog.read( './ordibots.json' )
catalog.export

resulting in:

/ordibots
 +---0_background
 |       0_blue.png
 |       [email protected]
 |       1_bitcoin-orange.png
 |       [email protected]
 |       2_brown.png
 |       [email protected]
 |       3_purple.png
 |       [email protected]
 |
 +---1_accessories
 |       0_antenna.png
 |       [email protected]
 |       1_none.png
 |       [email protected]
 |       2_rainbow.png
 |       [email protected]
 |
 +---2_face
 |       0_happy.png
 |       [email protected]
 |       1_neutral.png
 |       [email protected]
 |       2_surprised.png
 |       [email protected]
 |       3_unimpressed.png
 |       [email protected]
 |       4_angry.png
 |       [email protected]
 |       5_bored-green.png
 |       [email protected]
 |       6_bored-red.png
 |       [email protected]
 |
 +---3_body
 |       0_standard-triangular.png
 |       [email protected]
 |       1_standard-square.png
 |       [email protected]
 |       2_standard-oval.png
 |       [email protected]
 |       3_gold-oval.png
 |       [email protected]
 |       4_black-and-white-square.png
 |       [email protected]
 |       5_black-and-white-oval.png
 |       [email protected]
 |       6_black-and-white-triangular.png
 |       [email protected]
 |       7_gold-square.png
 |       [email protected]
 |       8_gold-triangular.png
 |       [email protected]
 |
 \---4_belly
         0_empty.png
         [email protected]
         1_chess.png
         [email protected]
         2_square.png
         [email protected]

Collection №2 - 20 000 Blooming Flower (80x80px)

Find the deploy text @ inscription no 17707699 - July 17, 2023.

Let's generate some ulta-rare never-before-seen (do-it-yourself) blooming flowers.

require 'bitgen'

## step 1: read in the deploy text (incl the base64-encoded generative images)
gen = Bitgen::Generator.read( './blooming-flower.json' )

## step 2:  generate your images
flower = gen.generate( background: 'new-moon',
                       window: 'simple-yellow',
                       table: 'metal',
                       flowerpot: 'ceramics-red',
                       rose: 'bud-red',
                     )

flower.save( "./flower1.png" )
flower.zoom( 4 ).save( "./[email protected]" )


flower = gen.generate( background: 'autumn',
                       window: 'sliding-yellow',
                       table: 'wood',
                       flowerpot: 'ceramics-blue',
                       rose: 'bud-white',
                     )

flower.save( "./flower2.png" )
flower.zoom( 4 ).save( "./[email protected]" )


flower = gen.generate(  flowerpot: 'ceramics-red',
                        rose: 'bud-red',
                     )

flower.save( "./flower1a.png" )
flower.zoom( 4 ).save( "./[email protected]" )


flower = gen.generate( flowerpot: 'ceramics-blue',
                       rose: 'bud-white',
                     )

flower.save( "./flower2a.png" )
flower.zoom( 4 ).save( "./[email protected]" )

resulting in:

in 4x:

That's it for now.

License

The scripts are dedicated to the public domain. Use it as you please with no restrictions whatsoever.

Questions? Comments?

Join us in the Ordgen / ORC-721 discord (chat server). Yes you can. Your questions and commetary welcome.

Or post them over at the Help & Support page. Thanks.