A Sunra gerencia as solicitações de endpoint por meio de um sistema de filas, garantindo confiabilidade e escalabilidade. Use o método subscribe para enviar uma solicitação e aguardar o resultado.Exemplo:
Copy
import sunra_clientresult = sunra_client.subscribe( "black-forest-labs/flux-kontext-pro/text-to-image", arguments={ "prompt": 'Uma cidade litorânea inspirada no Studio Ghibli com casas coloridas, roupas balançando no varal e gatos dormindo nos parapeitos das janelas.', "width": 1024, "height": 768, "output_format": 'jpeg' }, with_logs=True, on_enqueue=print, on_queue_update=print,)print(result)
Envie uma solicitação e recupere o request_id para uso posterior.Exemplo:
Copy
import sunra_clienthandler = sunra_client.submit( "black-forest-labs/flux-kontext-pro/text-to-image", arguments={ "prompt": 'Uma cidade litorânea inspirada no Studio Ghibli com casas coloridas, roupas balançando no varal e gatos dormindo nos parapeitos das janelas.', "width": 1024, "height": 768, "output_format": 'jpeg' }, webhook_url="https://optional.webhook.url/for/results",)request_id = handler.request_id
Faça upload de arquivos para obter URLs para uso em solicitações assíncronas. Isso é essencial para modelos que processam arquivos, como conversores de imagem para vídeo ou de fala para texto.
Tamanho máximo do arquivo: 100MB
Fazendo Upload de um Arquivo Local
Você pode facilmente fazer upload de um arquivo do seu sistema de arquivos local. Isso é útil para scripts ou aplicativos que processam dados locais.
Copy
import sunra_client# Inicialize o cliente síncronoclient = sunra_client.SyncClient()try: # Faça upload de um arquivo de um caminho específico file_url = client.upload_file(path="path/to/your/image.png") print(f"Arquivo enviado com sucesso: {file_url}") # Esta URL agora pode ser usada com um endpoint de modeloexcept FileNotFoundError: print("Erro: O arquivo não foi encontrado no caminho especificado.")except Exception as e: print(f"Ocorreu um erro: {e}")
Fazendo Upload de Dados em Memória
Você também pode fazer upload de dados que estão na memória, como o conteúdo de uma imagem criada com PIL (Pillow) ou um arquivo recebido em uma solicitação da web.
Copy
import sunra_clientfrom PIL import Imageimport io# Inicialize o cliente síncronoclient = sunra_client.SyncClient()# Crie uma imagem na memória, por exemplo, com Pillowimage = Image.new("RGB", (600, 400), color = 'red')byte_arr = io.BytesIO()image.save(byte_arr, format='PNG')image_bytes = byte_arr.getvalue()# Faça upload dos dados da imagem em memória usando o método `upload`image_url = client.upload( data=image_bytes, content_type="image/png")print(f"Imagem enviada com sucesso: {image_url}")