// If we haven't failed, we're going to grab our image and set it up for crops and such
    if (!$field["ignore"]) {
        $local_image_copy = SITE_ROOT . "files/" . uniqid("temp-") . ".jpg";
        BigTree::cURL($source_image, false, array(), false, $local_image_copy);
        list($width, $height) = getimagesize($local_image_copy);
        // If this is a YouTube video we don't have video dimensions so we're going to guess them from the image size
        if ($field["output"]["service"] == "youtube") {
            $field["output"]["height"] = $height;
            $field["output"]["width"] = $width;
            $field["output"]["embed"] = '<iframe width="' . $width . '" height="' . $height . '" src="https://www.youtube.com/embed/' . $video_id . '" frameborder="0" allowfullscreen></iframe>';
        }
        // Normally we'd fail, but it's not like you can create a higher resolution video clip here.
        if ($width < $min_width || $height < $min_height) {
            BigTree::createUpscaledImage($local_image_copy, $local_image_copy, $min_width, $min_height);
        }
        // Pretend to be a normal image field and process it
        $field_copy = $field;
        $field_copy["file_input"] = array("name" => $field["output"]["service"] . "-video-" . $video_id . ".jpg", "tmp_name" => $local_image_copy, "error" => false);
        $field["output"]["image"] = BigTreeAdmin::processImageUpload($field_copy);
    }
    // Either this field has never been used or was explicitly deleted
} elseif (empty($field["input"])) {
    $field["output"] = array();
    // Using existing value
} else {
    if ($field["input"]["existing"]) {
        $field["output"] = json_decode($field["input"]["existing"], true);
    } else {
        $field["ignore"] = true;
    }
}