code: def post(self, request):
          
          attrs = ('course_id', 'edx_video_id', 'generated_images')
          missing = [attr for attr in attrs if attr not in request.data]
          if missing:
              return Response(
                  status=status.HTTP_400_BAD_REQUEST,
                  data={
                      'message': u'{missing} must be specified to update a video image.'.format(
                          missing=' and '.join(missing)
                      )
                  }
              )
  
          course_id = request.data['course_id']
          edx_video_id = request.data['edx_video_id']
          generated_images = request.data['generated_images']
  
          try:
              course_video = CourseVideo.objects.select_related('video_image').get(
                  course_id=six.text_type(course_id), video__edx_video_id=edx_video_id
              )
          except CourseVideo.DoesNotExist:
              return Response(
                  status=status.HTTP_400_BAD_REQUEST,
                  data={'message': u'CourseVideo not found for course_id: {course_id}'.format(course_id=course_id)}
              )
  
          try:
              VideoImage.create_or_update(course_video, generated_images=generated_images)
          except ValidationError as ex:
              return Response(
                  status=status.HTTP_400_BAD_REQUEST,
                  data={'message': str(ex)}
              )
  
          return Response()
docs: Update a course video image instance with auto generated image names.