Но вот
$media->is_video
уже не совсем точно.
Надо так:
//функция определяющая тип материала.
function typename($obj){
return $obj->graphql->shortcode_media->__typename;
}
/*функция определяющая тип материала из ноды*/
function typename_from_node($obj,$x){
return $obj->graphql->shortcode_media->edge_sidecar_to_children->edges[$x]->node->__typename;
}