Finalmente procedí de otra manera.
Cuando recibo mi archivo blob en php, uso esto para cargar el archivo en un directorio temporal:
move_uploaded_file($tmp_name, $destination);
Luego descargo el archivo (con url) con wordpress así:
$file = array();
$file['name'] =basename($temp_url);
$file['tmp_name'] = download_url($temp_url);
Luego subo el archivo a wordpress como archivo adjunto con:
$attachment_id = media_handle_sideload($file, $post_id);
No olvides eliminar el archivo temporal con: unlink($toDelete);
(URL de la ruta)
.