no-itsbackpack / bitmoji

Figuring out the bitmoji API

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

List of bitmoji images:

Examples:

example1 example2 example3

I've discovered that there are additional comics, which aren't listed in the API output, eg: 10211795

unicorn vs dragon

Avatars:

  • Me: 280531978_4-s1
  • Yumin: 121464857_22-s1
  • Gomez: 270452369_2-s1
  • Blank male: 128256895_1-s1
  • Blank female: 128257004_1_s1
  • Others I've found 280231973_2, 280531978_4-s1, 121464857_22-s1, 270452369_2-s1, 128256895_1-s1, 128257004_1_s1, 280231973_2-s1, 270452367_2-s1, 270452366_2-s1, 270452365_2-s1, 270452364_2-s1, 270452363_2-s1, 270452362_2-s1, 270452361_2-s1, 270452360_2-s1
  • Green dragon: 270451073_2-s1, 270450925_2-s1
  • Bat[wo]man: 270450967_2-s1, 270452030_2-s1, 270450911_2-s1, 270451749_2-s1, 270451703_2-s1, 270451616_2-s1, 270451604_2-s1,
  • Cop/Firefighter: 270450972_2-s1, 270450905_2-s1, 270450191_2-s1, 270450192_2-s1, 270451684_2-s1, 270451489_2-s1, 270451452_2-s1, 270451390_2-s1
  • Super [wo]man: 270450921_2-s1, 270450882_2-s1, 270450409_2-s1, 270452142_2-s1, 270451964_2-s1, 270451919_2-s1, 270451865_2-s1, 270451784_2-s1, 270451541_2-s1
  • Nonhuman skin: 270450203_2-s1, 270451848_2-s1, 270451727_2-s1
  • Animals: 270452315_2-s1, 270452243_2-s1, 270452261_2-s1, 270451988_2-s1, 270451764_2-s1, 270451420_2-s1, 270451416_2-s1, 270451361_2-s1
  • This dude looks like David Chilemsky: 270452220_2-s1
  • Xena: 270452149_2-s1, 270451899_2-s1, 270451562_2-s1
  • Devil: 270451885_2-s1
  • Nuclear: 270451814_2-s1

You can find other users with the find-users.html page. The number between the underscore seems to be about which version of that person being rendered into that pose, eg if they change their bitmoji, then the suffix will increment. I'm not sure what the s1 or the v1 are about, I've seen as high as v3, but it doesn't seem to change anything when I edit that piece.

Making sense of the data

  • Individual comics are in .imoji (1117 of them) replace the %s with an avatar id
  • Multi-avatar comics are in .friends (296 of them) replace both %s with an avatar id (eg from .imoji or .friends)
  • https://render.bitstrips.com/v2/cpanel/:comic_id-%s-v1.png?option1&option2&...
    • transparent=1 to set the bg to true
    • palette=1 no idea
    • width=200 scale image width to 200 pixels
  • https://render.bitstrips.com/render/:comic_id/%s-v1.png?option1&option2&...
    • cropped=%22body%22 you can also set cropped to "head"
    • outfit=971786 put the user in
    • head_rotation=1 rotate the head to position 1
    • body_rotation=1 rotate the body to position 1
    • pd2={"mouth":"_blank"} inside pd2, you can put any of these keys: [ "beard", "brow_L", "brow_R", "cranium", "detail_E_L", "detail_E_R", "detail_L", "detail_R", "detail_T", "ear_L", "ear_R", "eye_L", "eye_R", "eyelash_L", "eyelash_R", "eyelid_L", "eyelid_R", "eyelines_L", "eyelines_R", "forehead", "glasses", "hair_back", "hair_front", "hairbottom", "hat", "jaw", "mouth", "nose", "pupil_L", "pupil_R", "stachin", "stachout", "tongue"]

Lists

Friends, generated with:

cat bitmoji.json | jq '.friends|map([.src]+.tags)[]' -c | ruby -ne 'puts $_ % [%w[280531978_4-s1 270452369_2-s1 121464857_22-s1]].*(2).map(&:sample)' | ruby -rjson -ne 'url, *tags = JSON.parse($_); puts "<div class=\"friends\"><img src=\"#{url}&width=300\" /><ul>#{tags.map {|t| "<li>#{t}</li>"}.join}</ul></div>"; BEGIN { puts "<style> body * { margin: 0; padding: 0; display: inline-block; } li { display: block; } .friends { width: 300px; } </style>" }'  > friends.html

Individual, generated with:

cat bitmoji.json | jq '.imoji|map([.src]+.tags)[]' -c | ruby -ne 'puts $_.sub "%s", %w[280531978_4-s1 270452369_2-s1 121464857_22-s1].sample'  | ruby -rjson -ne 'url, *tags = JSON.parse($_); puts "<div class=\"friends\"><img src=\"#{url}&width=300\" /><ul>#{tags.map {|t| "<li>#{t}</li>"}.join}</ul></div>"; BEGIN { puts "<style> body * { margin: 0; padding: 0; display: inline-block; } li { display: block; } .friends { width: 300px; } </style>" }'  > imoji.html

Packs (also individual), generated with:

cat bitmoji.json | jq '.packs[]|.templates[]|[.src]+.tags' -c | ruby -ne 'puts $_.sub "%s", %w[280531978_4-s1 270452369_2-s1 121464857_22-s1].sample'  | ruby -rjson -ne 'url, *tags = JSON.parse($_); puts "<div class=\"friends\"><img src=\"#{url}&width=300\" /><ul>#{tags.map {|t| "<li>#{t}</li>"}.join}</ul></div>"; BEGIN { puts "<style> body * { margin: 0; padding: 0; display: inline-block; } li { display: block; } .friends { width: 300px; } </style>" }'  > packs.html

Male outfits:

cat bitmoji.json | jq '.outfits|[.male][]|.brands[]|.outfits[]|[.image, .description]' -c | ruby -ne 'puts $_.sub /(?<=\/)\d+_\d+-s\d(?=-v)/, %w[280531978_4-s1 270452369_2-s1 128256895_1-s1].sample' |ruby -rjson -ne 'url, *tags = JSON.parse($_); puts "<div class=\"friends\"><img src=\"#{url}&width=300\" /><ul>#{tags.map {|t| "<li>#{t}</li>"}.join}</ul></div>"; BEGIN { puts "<style> body * { margin: 0; padding: 0; display: inline-block; } li { display: block; } .friends { width: 300px; } </style>" }'  > male_outfits.html

Female outfits:

cat bitmoji.json | jq '.outfits|[.female][]|.brands[]|.outfits[]|[.image, .description]' -c | ruby -ne 'puts $_.sub /(?<=\/)\d+_\d+-s\d(?=-v)/, %w[121464857_22-s1].sample' |ruby -rjson -ne 'url, *tags = JSON.parse($_); puts "<div class=\"friends\"><img src=\"#{url}&width=300\" /><ul>#{tags.map {|t| "<li>#{t}</li>"}.join}</ul></div>"; BEGIN { puts "<style> body * { margin: 0; padding: 0; display: inline-block; } li { display: block; } .friends { width: 300px; } </style>" }'  > female_outfits.html

About

Figuring out the bitmoji API


Languages

Language:HTML 100.0%