How can I add field content to an asset in code?
It propbably works to store the custom field directly with your new element model:

$assetFileModel-&gt;setContentFromPost(array(
    'captionFieldHandle' =&gt; $myCaption,
));