o
    0j                     @   sh   d dl Z d dl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 de	ZG d	d
 d
e
ZdS )    N)Any)InferenceProviderMapping)RequestParameters_as_dict   )BaseConversationalTaskTaskProviderHelperfilter_nonec                       s   e Zd Z fddZ  ZS )NscaleConversationalTaskc                    s   t  jddd d S )Nnscale https://inference.api.nscale.com)providerbase_urlsuper__init__self	__class__ l/var/www/html/Deteccion_Ine/venv/lib/python3.10/site-packages/huggingface_hub/inference/_providers/nscale.pyr      s   z!NscaleConversationalTask.__init__)__name__
__module____qualname__r   __classcell__r   r   r   r   r
   
   s    r
   c                	       sp   e Zd Z fddZdededefddZded	ed
ededB fddZ	dde
eB dedB defddZ  ZS )NscaleTextToImageTaskc                    s   t  jdddd d S )Nr   r   ztext-to-image)r   r   taskr   r   r   r   r   r      s   zNscaleTextToImageTask.__init__mapped_modelapi_keyreturnc                 C   s   dS )Nz/v1/images/generationsr   )r   r   r   r   r   r   _prepare_route   s   z$NscaleTextToImageTask._prepare_routeinputs
parametersprovider_mapping_infoNc                 C   st   |j }t|}d|v rd|v r|d d|d |d< d|v r'|d d|v r0|d d||d|}|S )	NwidthheightxsizeZnum_inference_stepsZ	cfg_scaleb64_json)Zresponse_formatpromptmodel)Zprovider_idr	   pop)r   r"   r#   r$   r   payloadr   r   r   _prepare_payload_as_dict   s   

z.NscaleTextToImageTask._prepare_payload_as_dictresponserequest_paramsc                 C   s   t |}t|d d d S )Ndatar   r)   )r   base64	b64decode)r   r/   r0   Zresponse_dictr   r   r   get_response*   s   z"NscaleTextToImageTask.get_response)N)r   r   r   r   strr!   r   dictr   r.   bytesr   r4   r   r   r   r   r   r      s    
(r   )r2   typingr   Zhuggingface_hub.hf_apir   Z!huggingface_hub.inference._commonr   r   _commonr   r   r	   r
   r   r   r   r   r   <module>   s    