Here's an outline with obj import, creates one camera in a new scene, loops thru a model list, makes a new scene with links to cam in created scene, loops thru the cams in the new scene (add more) and renders. You will need to edit the paths to suit your needs:
import bpy
import os
from math import radians
context = bpy.context
models_path = "//"
render_path = "//"
models = ["bretling.obj", "bretling.obj"]
#create a scene
scene = bpy.data.scenes.new("Scene")
camera_data = bpy.data.cameras.new("Camera")
camera = bpy.data.objects.new("Camera", camera_data)
camera.location = (-2.0, 3.0, 3.0)
camera.rotation_euler = ([radians(a) for a in (422.0, 0.0, 149)])
scene.objects.link(camera)
# do the same for lights etc
scene.update()
for model_path in models:
scene.camera = camera
path = os.path.join(models_path, model_path)
# make a new scene with cam and lights linked
context.screen.scene = scene
bpy.ops.scene.new(type='LINK_OBJECTS')
context.scene.name = model_path
cams = [c for c in context.scene.objects if c.type == 'CAMERA']
#import model
bpy.ops.import_scene.obj(filepath=path, axis_forward='-Z', axis_up='Y', filter_glob="*.obj;*.mtl")
for c in cams:
context.scene.camera = c
print("Render ", model_path, context.scene.name, c.name)
context.scene.render.filepath = "somepathmadeupfrommodelname"
bpy.ops.render.render(write_still=True)
The import operator code can be gleaned from the Python Console by typing in bpy.ops.import
and Ctrl+Space which will auto complete, for FBX:
>>> bpy.ops.import_scene.fbx(
fbx()
bpy.ops.import_scene.fbx(filepath="", axis_forward='-Z', axis_up='Y', directory="", filter_glob="*.fbx", ui_tab='MAIN', use_manual_orientation=False, global_scale=1, bake_space_transform=False, use_custom_normals=True, use_image_search=True, use_alpha_decals=False, decal_offset=0, use_anim=True, anim_offset=1, use_custom_props=True, use_custom_props_enum_as_string=True, ignore_leaf_bones=False, force_connect_children=False, automatic_bone_orientation=False, primary_bone_axis='Y', secondary_bone_axis='X', use_prepost_rot=True)
As you mention you are o fay with python, this should be well enough to make you dangerous.
Ideally I would probably set this up as an import operator with multi file select from a folder.