# coding: utf-8

"""
    Mixpeek API

    This is the Mixpeek API, providing access to various endpoints for data processing and retrieval.

    The version of the OpenAPI document: 1.3.0
    Contact: info@mixpeek.com
    Generated by OpenAPI Generator (https://openapi-generator.tech)

    Do not edit the class manually.
"""  # noqa: E501


import unittest

from mixpeek.models.parameters import Parameters

class TestParameters(unittest.TestCase):
    """Parameters unit test stubs"""

    def setUp(self):
        pass

    def tearDown(self):
        pass

    def make_instance(self, include_optional) -> Parameters:
        """Test Parameters
            include_optional is a boolean, when False only required
            params are included, when True both required and
            optional params are included """
        # uncomment below to create an instance of `Parameters`
        """
        model = Parameters()
        if include_optional:
            return Parameters(
                extractor_type = '',
                split_by = 'characters',
                chunk_size = 1.0,
                chunk_overlap = 0.0,
                response_shape = None,
                llm_provider = '',
                llm_model = '',
                llm_api_key = '',
                split_method = 'time',
                description_prompt = 'Describe the video segment in detail.',
                time_split_interval = 56,
                silence_db_threshold = 56,
                scene_detection_threshold = 0.1,
                run_transcription = True,
                transcription_language = 'en',
                run_video_description = True,
                run_transcription_embedding = True,
                run_multimodal_embedding = True,
                run_ocr = True,
                sensitivity = 'low',
                enable_thumbnails = True,
                use_cdn = True,
                generation_config = mixpeek.models.generation_config.GenerationConfig(
                    candidate_count = 56, 
                    max_output_tokens = 56, 
                    temperature = 1.337, 
                    top_p = 1.337, 
                    response_mime_type = '', 
                    response_schema = mixpeek.models.response_schema.Response Schema(), ),
                detection_model = 'scrfd_2.5g',
                min_face_size = 10.0,
                detection_threshold = 0.0,
                max_faces_per_image = 1.0,
                normalize_embeddings = True,
                enable_quality_scoring = True,
                quality_threshold = 0.0,
                max_video_length = 1.0,
                video_sampling_fps = 0.1,
                video_deduplication = True,
                video_deduplication_threshold = 0.0,
                output_mode = 'per_face',
                include_face_crops = True,
                store_detection_metadata = True,
                use_layout_detection = True,
                layout_detector = 'pymupdf',
                vertical_threshold = 1.0,
                horizontal_threshold = 1.0,
                min_text_length = 1.0,
                base_confidence = 0.0,
                min_confidence_for_vlm = 0.0,
                use_vlm_correction = True,
                fast_mode = True,
                vlm_provider = 'google',
                vlm_model = 'gemini-2.0-flash',
                run_text_embedding = True,
                render_dpi = 72.0,
                generate_thumbnails = True,
                thumbnail_mode = 'both',
                thumbnail_dpi = 36.0,
                model_name = 'distilbert-base-uncased-finetuned-sst-2-english',
                max_length = 32.0,
                batch_size = 1.0,
                return_all_scores = True,
                embed = True,
                max_depth = 0.0,
                max_pages = 1.0,
                crawl_timeout = 10.0,
                crawl_mode = 'deterministic',
                crawl_goal = '',
                render_strategy = 'static',
                include_patterns = [
                    ''
                    ],
                exclude_patterns = [
                    ''
                    ],
                chunk_strategy = 'none',
                document_id_strategy = 'url',
                generate_text_embeddings = True,
                generate_code_embeddings = True,
                generate_image_embeddings = True,
                max_retries = 0.0,
                retry_base_delay = 0.1,
                retry_max_delay = 1.0,
                respect_retry_after = True,
                proxies = [
                    ''
                    ],
                rotate_proxy_on_error = True,
                rotate_proxy_every_n_requests = 0.0,
                captcha_service_provider = '',
                captcha_service_api_key = '',
                detect_captcha = True,
                persist_cookies = True,
                custom_headers = {
                    'key' : ''
                    },
                delay_between_requests = 0.0,
                target_segment_duration_ms = 30000.0,
                min_segment_duration_ms = 10000.0,
                segmentation_method = 'scene',
                use_whisper_asr = True,
                expand_to_granular_docs = True,
                ocr_frames_per_segment = 1.0,
                pdf_extraction_mode = 'per_element',
                pdf_render_dpi = 72.0,
                detect_code_in_pdf = True,
                segment_functions = True,
                supported_languages = [
                    ''
                    ],
                run_code_embedding = True,
                run_visual_embedding = True,
                visual_embedding_use_case = 'lecture',
                extract_screen_text = True,
                enrich_with_llm = True,
                llm_prompt = 'Summarize this educational content segment, highlighting key concepts.'
            )
        else:
            return Parameters(
                extractor_type = '',
        )
        """

    def testParameters(self):
        """Test Parameters"""
        # inst_req_only = self.make_instance(include_optional=False)
        # inst_req_and_optional = self.make_instance(include_optional=True)

if __name__ == '__main__':
    unittest.main()
