Create Consistent, Editable AI Characters & Backgrounds for your Projects! (ComfyUI Tutorial)

แชร์
ฝัง
  • เผยแพร่เมื่อ 15 มิ.ย. 2024
  • I'll show you how to use ComfyUI to create consistent characters, pose them, automatically integrate them into AI-generated backgrounds and even control their emotions with simple prompts.
    If you like my work, please consider supporting me on Patreon: / mickmumpitz
    Follow me on Twitter: / mickmumpitz
    I developed this ComfyUI workflow in preparation for one of the next AI 3D rendering workflows, in which we will look at animating characters. But you can also use this workflow for many other exciting things: to create children's books, AI movies or one of these AI influencers everyone keeps talking about!
    You can download the FREE workflows here: www.patreon.com/posts/new-vid...
    Chapters:
    00:00 Intro
    01:09 Character Sheet
    04:49 Loras & Midjourney
    05:48 Controllable Characters
    10:42 Outro

ความคิดเห็น • 193

  • @BobDoyleMedia
    @BobDoyleMedia 29 วันที่ผ่านมา +4

    Outstanding! Thanks for sharing these workflows so generously!

  • @unterwegschloe1017
    @unterwegschloe1017 18 ชั่วโมงที่ผ่านมา

    Incredible! Thanks for your work~

  • @xnovamix
    @xnovamix หลายเดือนก่อน

    This was an amazing tutorial. Thank you!

  • @beker-aman
    @beker-aman หลายเดือนก่อน

    i dont even remember liking this video, this is mind blowing.

  • @Srcfrvr
    @Srcfrvr 20 วันที่ผ่านมา

    This is amazing. Thanks for everything, brother.

  • @dennisliebelt3951
    @dennisliebelt3951 หลายเดือนก่อน

    Hey thanks for your great content. Always enjoy your videos !

  • @IsiOmoifoJr
    @IsiOmoifoJr หลายเดือนก่อน

    Great tutorial. Thanks!

  • @laemon300
    @laemon300 11 วันที่ผ่านมา

    bro, you a lifesaver!

  • @vrynstudios
    @vrynstudios หลายเดือนก่อน +1

    Genius work.

  • @sake4941
    @sake4941 หลายเดือนก่อน +3

    Very interesting. Not only about workflow but your quick explanations are very great and valuable. Thank you a lot for that !

  • @DiogoVKersting
    @DiogoVKersting 2 วันที่ผ่านมา +1

    very nice

  • @farcfoxguerrilha
    @farcfoxguerrilha หลายเดือนก่อน

    Very good! Thank you!

  • @user-zl8yq7jt9f
    @user-zl8yq7jt9f 8 วันที่ผ่านมา

    Excellent video, congrats and ty

  • @tstudying5319
    @tstudying5319 หลายเดือนก่อน

    that is really cool and helpful!!

  • @larziz573
    @larziz573 15 วันที่ผ่านมา

    great work !

  • @pn4960
    @pn4960 หลายเดือนก่อน

    The ultimate goal

  • @Bloodysugar
    @Bloodysugar 16 วันที่ผ่านมา +2

    Oh boy this is an amazing workflow ! Thank you so much for sharing !

  • @user-lr4to2lr9r
    @user-lr4to2lr9r 5 วันที่ผ่านมา

    真是个相当棒的创意工作流😁

  • @SahiShah-ru3ib
    @SahiShah-ru3ib หลายเดือนก่อน

    Great work bro that's what i want thinking of creating model for character

  • @ivanprokounin4029
    @ivanprokounin4029 หลายเดือนก่อน +12

    Dude! God bless your curious mind and a generous heart!

  • @KapitanAI.
    @KapitanAI. 29 วันที่ผ่านมา

    some good stuff right here

  • @johannezz
    @johannezz 4 วันที่ผ่านมา

    Excellent!

  • @torq21
    @torq21 หลายเดือนก่อน +7

    I just watched the image to 3d model video. I don't see why you couldn't generate multiple views using this method and then generate a more complete 3d model from the output. It would be more like photogrammetry.

  • @alpaykasal2902
    @alpaykasal2902 20 วันที่ผ่านมา

    you're so frikkin' awesome.

  • @maureenbenner7588
    @maureenbenner7588 หลายเดือนก่อน

    This workflow worked great for me! thx

    • @endedbrand2324
      @endedbrand2324 25 วันที่ผ่านมา

      how did you get the workflow he imported into ComfyUI?

    • @clementfrerebeau5458
      @clementfrerebeau5458 10 วันที่ผ่านมา

      @@endedbrand2324 it's Mickmumpitz_CharacterSheet_v01.json

  • @hugodom
    @hugodom 10 วันที่ผ่านมา

    Great video and finally a useful tutorial…

  • @amkire65
    @amkire65 หลายเดือนก่อน

    Fantastic, this is the sort of thing I've been after for a while. I suppose when it comes to the consistency of the clothing the simpler the costume the better?

  • @ismgroov4094
    @ismgroov4094 หลายเดือนก่อน

    thanks a lot

  • @mottentotten
    @mottentotten หลายเดือนก่อน

    Definitely gonna try this! Thanks! 🧀

  • @FabioAngela
    @FabioAngela หลายเดือนก่อน

    very interesting!

  • @oneshotonepic8319
    @oneshotonepic8319 11 วันที่ผ่านมา

    Amazing

  • @Cevherbenn
    @Cevherbenn 23 วันที่ผ่านมา

    Teşekkürler.

  • @WeekendDive
    @WeekendDive หลายเดือนก่อน +3

    Absolutely fascinating video.
    So let's say I generate 2 keyframes, one where Hans grabs the cheese, and a second where he is holding the cheese over his head triumphantly.
    Is there a way within comfy to generate the 12 or so frames inbetween, creating a custom animation out of our custom poses?

  • @yorkane123
    @yorkane123 หลายเดือนก่อน

    greate video!

  • @davidpenn4024
    @davidpenn4024 หลายเดือนก่อน

    Top Tier!

  • @Mrim86
    @Mrim86 หลายเดือนก่อน +16

    Man, I wish I wasn't so intimidated by that UI. This looks really incredible.

    • @DaCashRap
      @DaCashRap หลายเดือนก่อน

      Just go ahead and give it a shot. It's not complicated at all once you try it

    • @davidpenn4024
      @davidpenn4024 หลายเดือนก่อน

      Checkout Olivio's Comfy Academy and you can go from 0-competent

    • @A5h3n.
      @A5h3n. หลายเดือนก่อน

      Yeah try it out. I've only made 2 workflows myself, it is pretty hard, but the workflows the community give out help understand more.

    • @digitus78
      @digitus78 หลายเดือนก่อน

      Just try it. Download some pre-made workflows and play with the settings. Won't even touch another webui now. None are as versatile not even close

    • @laurosf
      @laurosf 27 วันที่ผ่านมา

      Try it! This is my first day exploring and it's actually very intuitive once you start to understand how things work

  • @legshots3124
    @legshots3124 หลายเดือนก่อน +1

    always doing something unique and helpful content

  • @ZooDinghy
    @ZooDinghy หลายเดือนก่อน

    Jesus Christ! This is awesome! 🎉

  • @o3ulag
    @o3ulag 10 วันที่ผ่านมา

    Beautiful

  • @magicmaxx6346
    @magicmaxx6346 13 วันที่ผ่านมา

    Awesome

  • @chiselpeakstudios2593
    @chiselpeakstudios2593 หลายเดือนก่อน +2

    This is amazing! I keep getting an error that says "clip Vision" model not installed.

  • @user-bj5cp8qy2p
    @user-bj5cp8qy2p หลายเดือนก่อน

    The best consistent character workflow so far. How about saving separate workflow between sdxl and sd1.5 for easier use?

  • @user-sh7sl7ys7b
    @user-sh7sl7ys7b 11 วันที่ผ่านมา

    Which hardware are you actually using to create those awesome images and videos?

  • @FabioAngela
    @FabioAngela หลายเดือนก่อน +1

    I'd find interesting digging more into the LORA, explaining how to use the saved faces to train lora.

  • @SolveForX
    @SolveForX หลายเดือนก่อน +1

    We really need to have different camera angles, though. The character consistency is great, but we need to be able to take this same premise and be able to, like, take a picture or a rendering of a 3D model and get the angle on the consistent character.

  • @JussimirPasold
    @JussimirPasold 7 วันที่ผ่านมา

    Hope midjourney releases a pose reference feature with openpose support soon

  • @endedbrand2324
    @endedbrand2324 25 วันที่ผ่านมา +2

    I got everything, but I don't understand where I can find your Workflow (template), please help!

  • @shixiongsong
    @shixiongsong หลายเดือนก่อน +1

    May I ask what posture editing software you are using, as well as the software for generating hand depth maps

  • @dannylammy
    @dannylammy หลายเดือนก่อน

    Very interesting, how does this do when you combine it in conjunction with your previous videos with control net? IIRC there were programs like Stable Projectorz, so wouldn't it be possible to get nearly perfectly consistent characters by projecting character sheets like these onto 3d models? Hmmm...

  • @camouflage2k
    @camouflage2k 9 วันที่ผ่านมา

    Great tutorial. finally someone, who explained the whole procedure, how to turn the character sheet to actual images. The main problem is still with the background, which is always blurry with AI generated images, makes them unrealistic. If you check real photos, the backgrounds mostly as sharp as the subject, even if you look for photos like ... climber in the mountains or whatever. So there is any way to maintain the sharpness of the background?

  • @Jimwatl
    @Jimwatl 5 วันที่ผ่านมา

    Hello, thank you for sharing your work. Is it possible to create a Model Sheets from a reference character image ??? and if so, what node would you add? In short, how would you proceed?

  • @user-wy4uf3jx4f
    @user-wy4uf3jx4f 24 วันที่ผ่านมา +1

    I would like to input an Image instead of the Positive and Negative prompts connected to the Apply ControlNet (Advanced) node. How can I achieve this?
    The intention is to create an Image -> CharacterSheet, rather than a Text -> CharacterSheet.
    I would like to use my favorite character, but I'm tired of having to create new characters all the time.
    I am using the workflow effectively! Thank you.

  • @cihatfg
    @cihatfg หลายเดือนก่อน

    perfect : o

  • @marcos13vinicius11
    @marcos13vinicius11 17 วันที่ผ่านมา

    that's awesome! I've just finished a personal project which this would have been so helpful and I wouldn't have to generate literaly thousands images and compose everithing with photoshop and hour and hours of inpaint and outpaint. I'm looking foward to use it in a new project. Could you show us now how to make it with multiple characters?

  • @Mind_ConTroll
    @Mind_ConTroll หลายเดือนก่อน +1

    Can we add an image prompt instead of a text prompt to use a character we already have?
    I know it's prolly easy, but I'm new to comfyui.

  • @needsomenice
    @needsomenice 11 วันที่ผ่านมา

    Super tutorial, thanks. I have a question, with you in comfyui the photos look super zero distortion, ugly eyes, face or hands. With me, on the other hand, it is always in ComfyUi. What do you do to make everything look this good?

  • @vrynstudios
    @vrynstudios หลายเดือนก่อน

    Please write a book or make a UDEMY tutorial. I will join. You know what you do and perfectly. Love the work. Thank you,

  • @Ancient_AI
    @Ancient_AI 18 วันที่ผ่านมา

    Thank you! I've been trying to figure out a good workflow for this for some time now. Well done.

  • @MyBearo
    @MyBearo 11 วันที่ผ่านมา +1

    Hi where can I get the IpAdaptorunified loader node and also the IPAdaptor (also missing in manager) ? Thanks in advance :)

  • @juxxcreative
    @juxxcreative 19 วันที่ผ่านมา

    This is very cool. Can you do also this for a very realistic person, please?

  • @offmybach
    @offmybach 23 วันที่ผ่านมา +1

    Can this wf be altered to begin with an existing image that you've created instead of text?

  • @moritzryser
    @moritzryser 20 วันที่ผ่านมา +1

    do u think the character creation could be enhance by integrating IPAdapter on top of checkpoint and lora?

  • @Liqwalker123
    @Liqwalker123 19 วันที่ผ่านมา +1

    So we can create these sheet and then use a image2image faceswap right? im looking for faceswap, same clothes, different poses workflows ^^ need consisten characters, as an exapmple for an comic book

  • @joedoe6737
    @joedoe6737 24 วันที่ผ่านมา +1

    Im having an error on the second workflow, on the first Ksampler :
    Error occurred when executing KSampler:
    Expected query, key, and value to have the same dtype, but got query.dtype: struct c10::Half key.dtype: float and value.dtype: float instead.
    (And gibberish after that...) I don't know what to change...

  • @futanari-eo5np
    @futanari-eo5np หลายเดือนก่อน

    Any help so I get add nodes to get a consistent background with your workflow ?

  • @snick9314
    @snick9314 หลายเดือนก่อน +7

    incredible tech, scary how few real artists the industry will probably have in 5 years time. Overall depreciation of quality and interesting character design over time in the interest of turning the cog wheels of consumption content out as fast as possible. 10% will use this for good the rest of it will be used to save money and time in an area where money and more importantly time should be spent on this subject. Awesome tech, horrifying corporate application.

  • @leandrogoethals6599
    @leandrogoethals6599 หลายเดือนก่อน

    Mick how did u display the stats in comfyui is that a extension?
    U know like the vram and such

  • @naturalborngamer169
    @naturalborngamer169 หลายเดือนก่อน

    I'm not quite there yet...Thx for the vid

  • @PixilGraphics
    @PixilGraphics 19 วันที่ผ่านมา

    Thanks you so much, can i download the character as FBX file?

  • @JoyDavidson
    @JoyDavidson หลายเดือนก่อน +1

    I just can't believe this is real life.

  • @itsthejdquest
    @itsthejdquest 14 วันที่ผ่านมา +1

    Super complicated for someone with no coding or IT experience. Could not figure out how to run the manager as there is no run feature after getting it from github. After seeing the rest of the instructions, I know now I do not have the level of proficiency to do this tutorial. Any resources for learning this kind of thing?

  • @niaschimnoski882
    @niaschimnoski882 หลายเดือนก่อน

    I'm commenting so I remember to watch this soon once I have more stamina charged up (just woke up) (been chronically sleepy and cranky for the past like 7 or 8 months 😢)

    • @lefourbe5596
      @lefourbe5596 หลายเดือนก่อน

      Why is that also me X) ?

  • @MrWiki_
    @MrWiki_ 13 วันที่ผ่านมา

    amazing vid, i have one little issue, where do i get and put the upscale model at? it seems i am missing this ?
    edit: nvm i seen the file name so i just google it and found the upscale model and everything runs good.

  • @kordou
    @kordou 18 วันที่ผ่านมา

    Thanks fo this greate tutorial!!! in the second workdlow theese two nodes, CannyEdgePreprocessor DepthAnythingPreprocessor because the ComfyUI Nodes for Inference.Core conficts with lots of elements. trie to install manually alnso bu still nothing. any solution so that we can follow ?

  • @armaxkovalenko1230
    @armaxkovalenko1230 18 วันที่ผ่านมา

    Man, you are simply God! A year ago I tried to do the same thing in A1111, and it didn’t work. What you created is a masterpiece. Thank you!

  • @EinMann123
    @EinMann123 9 นาทีที่ผ่านมา

    wie änder ich den input prompt zu img to img von einem bereits vorhandenen charakter?

  • @alejandrogarcia9472
    @alejandrogarcia9472 9 วันที่ผ่านมา

    Thanks for your amazing tutorial. I've followed all the steps, and I still don't know why, when I start the process, all I get are black images. Can someone help me, please?

  • @BobDoyleMedia
    @BobDoyleMedia 29 วันที่ผ่านมา +4

    Your "IPAdapter" node is different than the "Load IPAdapter" node by your expressions. I'm getting an error in my "Load Adapter" mode, and there are no models in the dropdown list there, although I have all IPAdapter models loaded.

    • @juxxcreative
      @juxxcreative 17 วันที่ผ่านมา

      Same here. I have tried to download whole model but no luck. Still getting the same error.

    • @ernienosoul
      @ernienosoul 5 วันที่ผ่านมา +1

      @@juxxcreative did you solve that? same error

    • @juxxcreative
      @juxxcreative 5 วันที่ผ่านมา

      @@ernienosoul unfortunately no

    • @ernienosoul
      @ernienosoul 4 วันที่ผ่านมา

      @@juxxcreative
      @sam5519
      hace 1 día
      For people facing "IPAdapter model not found." and using ComfyUI from StabilityMatrix. ComfyUI Manager downloads model to StabilityMatrix\Packages\ComfyUI\models\ipadapter, but workflow trying to load model from StabilityMatrix\Models\IpAdapter. What you need to do is copying all models to StabilityMatrix\Models\IpAdapter

    • @ernienosoul
      @ernienosoul 4 วันที่ผ่านมา

      it worked for me :)

  • @eddiej.l.christian6754
    @eddiej.l.christian6754 หลายเดือนก่อน +4

    Clip vision model not found error What am I missing?

  • @SudarshanAshiya
    @SudarshanAshiya หลายเดือนก่อน

    Wow

  • @-Belshazzar-
    @-Belshazzar- หลายเดือนก่อน

    Thank you! Great video. Though I must say, sdxl openpose is very lacking, completely off and not accurate. No matter what you do, it's no where near as accurate as 1.5 which is my main issue with sdxl and why I am a bit fed up with stable diffusion in general

  • @gastonm
    @gastonm 10 วันที่ผ่านมา

    Can you create this from an image? i mean if you allready have a character.

  • @cassianoaraujo78
    @cassianoaraujo78 14 วันที่ผ่านมา

    I tried to do it in COMFY and I just couldn't... is there a way to develop it directly in Midjourney?

  • @reza2kn
    @reza2kn 8 วันที่ผ่านมา +2

    @02:29 "I'm really happy that it's THIS type of moustache!" BRUH!💀🤣
    Awesome tutorial and channel btw❤

  • @yanamorim5747
    @yanamorim5747 29 วันที่ผ่านมา

    looking for a workflow not for generating a scene but to add more detail to a 3D render

  • @n3bie
    @n3bie 25 วันที่ผ่านมา

    Hey I got these workflows installed in comfy and everything looks great, but I have one little holdup. Where do I get the 4 image files that you're using in the 2nd workflow (the posable character flow) that are briefly showing @6:16? You have them as Face_upscale_00019_.png, Face_upscale_00053_(3).png, pose_2024_04_15_19_23_png, and depth_2024_04_15_19_23_30(11)png, but when you download the workflows it shows them as FaceRefine_00087_(1).pgn, FaceRefine_00059_(3).png, Pose_2024_04_26_16_31_12.png, and depth_2024_04_26_16_31_12(1)png. I've searched for these filenames on the web and can't seem to find them on Get or Huggyface. Not sure where to go from here :/

  • @zhaoyongDin
    @zhaoyongDin 22 วันที่ผ่านมา +1

    Killing it with Midjourney! But if you're ready to take things up a notch, Stylar's your go-to. It's like a design powerhouse, especially for interior, 3D, and character work!

  • @USBEN.
    @USBEN. หลายเดือนก่อน

    Automation is soo fun!

  • @WallyMahar
    @WallyMahar 9 วันที่ผ่านมา

    What do you call an object character sheet? I would love to create different views so I can apply them in a 3D program. Like a car .

  • @phi1s0n
    @phi1s0n หลายเดือนก่อน +5

    Anyone having issues loading IPAdapterUnifiedLoader node in the workflow?

    • @chiselpeakstudios2593
      @chiselpeakstudios2593 หลายเดือนก่อน

      Same here!

    • @phi1s0n
      @phi1s0n หลายเดือนก่อน

      @@chiselpeakstudios2593 the ipadapter custom node has been updated, the model paths changed and you might need to update comfy.

    • @FuadOrko
      @FuadOrko 24 วันที่ผ่านมา

      same @Mickmumpitz
      Error occurred when executing IPAdapterUnifiedLoader:
      IPAdapter model not found.
      File "S:\AI\ComfyUI_windows_portable\ComfyUI\execution.py", line 151, in recursive_execute
      output_data, output_ui = get_output_data(obj, input_data_all)
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "S:\AI\ComfyUI_windows_portable\ComfyUI\execution.py", line 81, in get_output_data
      return_values = map_node_over_list(obj, input_data_all, obj.FUNCTION, allow_interrupt=True)
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "S:\AI\ComfyUI_windows_portable\ComfyUI\execution.py", line 74, in map_node_over_list
      results.append(getattr(obj, func)(**slice_dict(input_data_all, i)))
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "S:\AI\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI_IPAdapter_plus\IPAdapterPlus.py", line 515, in load_models
      raise Exception("IPAdapter model not found.")

    • @myytjourney
      @myytjourney 4 วันที่ผ่านมา

      Did you able to fix?
      I am also getting same error-
      "Error occurred when executing IPAdapterUnifiedLoader:
      IPAdapter model not found."
      I cloned entire IP Adapter repository in mentioned folder. Is this wrong?

  • @zaichenhu679
    @zaichenhu679 หลายเดือนก่อน

    It seems like the workflow link cannot be opened, and I didn't see your Discord link either.

  • @dariodol
    @dariodol 8 วันที่ผ่านมา

    can you load a character from an image? thanks

  • @xueqinghuang5021
    @xueqinghuang5021 5 วันที่ผ่านมา

    where to get the "perfect hand v2" lora, thx

  • @vibeshkarayil
    @vibeshkarayil 7 วันที่ผ่านมา

    Hi, thanks for putting together this video. As a creator myself I truly appreciate all your efforts. Positively i manage to generate charachter using the first workflow, but got stuck when i got error "Error occurred when executing IPAdapterUnifiedLoader:
    ClipVision model not found."
    Similarly when i went to compositing I have the same error. Any pointers on what i could be doing wrong?
    I downloaded ip adapter models and clip vision models (but renamed them to clip vision 1 and clipvision 2 ) because the instructions was not clear. Could that be the problem?

    • @vibeshkarayil
      @vibeshkarayil 7 วันที่ผ่านมา

      Ok it was actually my bad. I installed ipadapterplus nodes from the comfyui interface which solved the issue! Once again, this is the best tutorial on comfy UI consistent character!

  • @DeanCassady
    @DeanCassady หลายเดือนก่อน +2

    what happen to your vRam 2:38

  • @mohitarora7032
    @mohitarora7032 23 วันที่ผ่านมา +1

    What if don't want human poses how are we suppose to ger poses of another animals or even aquatic animals

    • @ottomiranda6786
      @ottomiranda6786 23 วันที่ผ่านมา +1

      I have the same question. Everything works great, but I do not want to generate a human pose. I am trying to generate a teardrop, like a waterdrop but I have not successful

  • @eddiej.l.christian6754
    @eddiej.l.christian6754 หลายเดือนก่อน

    Where do I get the Upscale model that's missing in the first workflow?

    • @stockiom
      @stockiom 17 วันที่ผ่านมา

      me 2 , have you found it ?

  • @Rohit-lh9bj
    @Rohit-lh9bj หลายเดือนก่อน +2

    I am getting this error:
    Error occurred when executing IPAdapterUnifiedLoader:
    IPAdapter model not found.
    I have downloaded the impadapter models in the correct folder .What am I doing wrong?

    • @IsiOmoifoJr
      @IsiOmoifoJr หลายเดือนก่อน +1

      I had a similar issue while running the CharacterSheet workflow with a 1.5 based checkpoint. I solved mine by creating an ipadapter folder (/ComfyUI/models/ipadapter) and placing the ipadapter model (ip-adapter-plus-face_sd15.safetensors) in the folder.

    • @Rohit-lh9bj
      @Rohit-lh9bj หลายเดือนก่อน

      @@IsiOmoifoJr Thanks a lot.. It worked..

    • @IsiOmoifoJr
      @IsiOmoifoJr หลายเดือนก่อน

      ​@@Rohit-lh9bjYou're welcome.

    • @myytjourney
      @myytjourney 4 วันที่ผ่านมา

      I am also getting similar error "Error occurred when executing IPAdapterUnifiedLoader:
      IPAdapter model not found." I cloned entire IP Adapter repository in mentioned folder. Is this wrong?

  • @dwipamujibagaskara9338
    @dwipamujibagaskara9338 หลายเดือนก่อน +2

    Hi bro i got error
    raise Exception("ClipVision model not found.")
    can you help me

  • @antoinedacremont3517
    @antoinedacremont3517 หลายเดือนก่อน

    I want to use an image as a background, what do I have to do, add a mask node for the background ?