Create a grid with specific indices
You can just add the x and y subdivisions argument:

bpy.ops.mesh.primitive_grid_add(x_subdivisions=640, y_subdivisions=480, radius=1, view_align=False, enter_editmode=False, location=(0, 0, 0), layers=(True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False))