stdin and stdout are just special files for a process. mkfifo makes a special file like this with an arbitrarily name. you can use it for commands that don't support reading from stdin.
it would be something like:
mkfifo apipe
crunch params > apipe && hydra -P apipe
if you want to wait until crunch is done, or
crunch params > apipe & hydra -P apipe
if you want to start processing right away. if you start processing right away, you need a way to make one consume as fast as the other outputs, or gracefully handling bad reads