Is there a way to add clauses like accept = 'image/*' to input items via forms API?
You can override theme_file to achieve above if you would like to alter file input element in template.php ..

function YOURTHEMENAME_file($variables) {
  $element = $variables['element'];
  $element['#attributes']['type'] = 'file';
  element_set_attributes($element, array('id', 'name', 'size'));
  _form_set_class($element, array('form-file'));

  return '&lt;input' . drupal_attributes($element['#attributes']) . ' accept="image/*" /&gt;';
}


below code works for me

function seven_file($variables) {
  $element = $variables['element'];
  $element['#attributes']['type'] = 'file';
  element_set_attributes($element, array('id', 'name', 'size'));
  _form_set_class($element, array('form-file'));

  return '&lt;input' . drupal_attributes($element['#attributes']) . ' accept="image/*" /&gt;';
}