
    ;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            	       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 )HyperbolicTextToImageTaskc                 *    t         |   ddd       y )N
hyperbolichttps://api.hyperbolic.xyzztext-to-image)providerbase_urltask)super__init__)self	__class__s    o/var/www/html/audio-gradio/venv/lib/python3.12/site-packages/huggingface_hub/inference/_providers/hyperbolic.pyr   z"HyperbolicTextToImageTask.__init__
   s    ,9U\kl    mapped_modelapi_keyreturnc                      y)Nz/v1/images/generations )r   r   r   s      r   _prepare_routez(HyperbolicTextToImageTask._prepare_route   s    'r   inputs
parametersprovider_mapping_infoc                     |j                   }t        |      }d|v r|j                  d      |d<   d|v r|j                  d      |d<   d|vrd|d<   d|vrd|d<   ||d|S )	Nnum_inference_stepsstepsguidance_scale	cfg_scalewidthi   height)prompt
model_name)provider_idr   pop)r   r!   r"   r#   r   s        r   _prepare_payload_as_dictz2HyperbolicTextToImageTask._prepare_payload_as_dict   s     -88 ,
 J.",..1F"GJwz)&0nn5E&FJ{#*$"%Jw:%#&Jx  K
KKr   responserequest_paramsc                 T    t        |      }t        j                  |d   d   d         S )Nimagesr   image)r	   base64	b64decode)r   r0   r1   response_dicts       r   get_responsez&HyperbolicTextToImageTask.get_response    s,     *h 7 :7 CDDr   )N)__name__
__module____qualname__r   strr    r   r   r   r   r/   r   bytesr   r8   __classcell__r   s   @r   r   r   	   s    m(3 ( ( (LL'+LD\L	$L EU5$;%7 ERcId Eps Er   r   c                   (     e Zd ZdZdef fdZ xZS )HyperbolicTextGenerationTaskzf
    Special case for Hyperbolic, where text-generation task is handled as a conversational task.
    r   c                 6    t         |   dd       || _        y )Nr   r   )r   r   )r   r   r   )r   r   r   s     r   r   z%HyperbolicTextGenerationTask.__init__*   s$    !1 	 	
 	r   )r9   r:   r;   __doc__r<   r   r>   r?   s   @r   rA   rA   %   s    S  r   rA   )r5   typingr   r   r   r   huggingface_hub.hf_apir   !huggingface_hub.inference._commonr   r	   ,huggingface_hub.inference._providers._commonr
   r   r   r   rA   r   r   r   <module>rH      s6     - - ; I p pE 2 E8
#9 
r   