I need to know before initiliazing the GPIOs they are at logic LOW, HIGH or floating.
GPIO4 and GPIO5 are floating and safe to use. All the rest are not. I will sometimes use GPIO15 to drive a relay (with a transistor) as it is low on start up. GPIO 12, 13, 14 all have weak pullups enabled on start. GPIO16 has a strong high.
GPIO12, 13, 14, and 16 can be used if you needed to but it is more of a pain. One way would be for the pin to drive a pnp transistor that would require a low to turn on, that would in turn the relay on. But since we are dealing with a 3 volt level then a npn transistor could then be used to drive a higher voltage relay. Yeah, all a pain in the ass. It just depends on what your needs are.
GPIO12, 13, 14 have a weak high and that can be negated with a low enough value resistor to ground and then you may be able to use a mosfet with a gate turn on voltage that is higher than a bipolar transistor's turn on voltage. Might be flaky unless you get the right components.
More complete details on the port pins can be found at
https://www.mjt.me.uk/posts/esp8266-gpi ... and-reset/