
    ;3h
                         d dl Z d dlmZmZmZmZ d dlmZ d dlm	Z	m
Z
 ddlmZmZmZ  G d de      Z G d	 d
e      Zy)    N)AnyDictOptionalUnion)InferenceProviderMapping)RequestParameters_as_dict   )BaseConversationalTaskTaskProviderHelperfilter_nonec                        e Zd Z fdZ xZS )NscaleConversationalTaskc                 (    t         |   dd       y )Nnscale https://inference.api.nscale.com)providerbase_urlsuper__init__self	__class__s    k/var/www/html/audio-gradio/venv/lib/python3.12/site-packages/huggingface_hub/inference/_providers/nscale.pyr   z!NscaleConversationalTask.__init__   s    (5WX    )__name__
__module____qualname__r   __classcell__r   s   @r   r   r   
   s    Y Yr   r   c            	       v     e Zd Z fdZdededefdZdededede	e   fd	Z
dd
eeef   de	e   defdZ xZS )NscaleTextToImageTaskc                 *    t         |   ddd       y )Nr   r   ztext-to-image)r   r   taskr   r   s    r   r   zNscaleTextToImageTask.__init__   s    (5W^mnr   mapped_modelapi_keyreturnc                      y)Nz/v1/images/generations )r   r&   r'   s      r   _prepare_routez$NscaleTextToImageTask._prepare_route   s    'r   inputs
parametersprovider_mapping_infoc                     |j                   }t        |      }d|v r,d|v r(|j                  d       d|j                  d       |d<   d|v r|j                  d       d|v r|j                  d       d||d|}|S )	Nwidthheightxsizenum_inference_steps	cfg_scaleb64_json)response_formatpromptmodel)provider_idr   pop)r   r,   r-   r.   r&   payloads         r   _prepare_payload_as_dictz.NscaleTextToImageTask._prepare_payload_as_dict   s     -88 ,
j X%;$.NN7$;#<AjnnX>V=W!XJv J.NN01*$NN;')!
 	
 r   responserequest_paramsc                 T    t        |      }t        j                  |d   d   d         S )Ndatar   r6   )r	   base64	b64decode)r   r>   r?   response_dicts       r   get_responsez"NscaleTextToImageTask.get_response*   s,     *f 5a 8 DEEr   )N)r   r   r   r   strr+   r   r   r   r   r=   r   bytesr   rE   r    r!   s   @r   r#   r#      sz    o(3 ( ( ('+D\	$(FU5$;%7 FRcId Fps Fr   r#   )rB   typingr   r   r   r   huggingface_hub.hf_apir   !huggingface_hub.inference._commonr   r	   _commonr   r   r   r   r#   r*   r   r   <module>rL      s8     - - ; I L LY5 Y
F. Fr   