Shell script failing in Automator but works if I copy/paste into Terminal
You have probably customized the command search path environment variable PATH to locate convert because it isn't installed in a standard OS X location.

When the Automator shell-script action runs a script it uses a non-interactive shell, which means it doesn't execute files like ~/.bashrc or ~/.bash_profile. This means it uses the default environment and default command search path.

Moreover, it is a best-practice for shell scripts to use absolute paths for command executables so the script will always execute the one you intended, instead of relying upon the search path, which is primarily meant to be a convenience for interactive use of the shell. To discover the absolute path to the convert command, run which convert in a shell.