Accessing field values in node--mycustomtype.tpl.php
To get a web-accessible URL for the file you need to use file_create_url() on the field's uri property. You can also make use of theme_image() so you don't have to write the HTML yourself:

$vars = array(
  'path' =&gt; file_create_url($content['field_headshot'][LANGUAGE_NONE][0]['uri']),
  'alt' =&gt; $title,
  'attributes' =&gt; array(
    'class' =&gt; array('speaker_headshot')
  )
);

$img = theme('image', $vars);

print $img;


Since this code will clutter up your template file you might want to consider putting in a preprocess function instead, something like:

function MYTHEME_preprocess_node(&amp;$vars) {
  if ($vars['node']-&gt;type == 'headshot') {
    $items = field_get_items('node', $vars['node'], 'field_headshot');
    $image = array_shift($items);

    $image_vars = array(
      'path' =&gt; file_create_url($image['uri']),
      'alt' =&gt; $vars['title'],
      'attributes' =&gt; array(
        'class' =&gt; array('speaker_headshot')
      )
    );

    $vars['image'] = theme('image', $image_vars);
  }
}


Then in your template file you can just print $image; to get the HTML output.