Como Usar o SDK Python da WaveSpeedAI
O SDK Python do WaveSpeedAI fornece uma maneira simples de integrar geração de imagens e vídeos com IA em suas aplicações Python. Este guia cobre tudo o que você precisa para começar.
Pré-requisitos
Antes de começar, certifique-se de que você tenha:
- Python 3.8+ instalado em sua máquina
- Uma chave de API do WaveSpeedAI em wavespeed.ai/settings/api-keys
Instalação
Instale o SDK usando pip:
pip install wavespeed
Configurando a Autenticação
O SDK precisa da sua chave de API para autenticar solicitações. Você tem duas opções:
Opção 1: Variável de Ambiente (Recomendado)
Defina a variável de ambiente WAVESPEED_API_KEY:
export WAVESPEED_API_KEY="your-api-key-here"
Em seguida, use o SDK diretamente:
import wavespeed
output = wavespeed.run(
"wavespeed-ai/z-image/turbo",
{"prompt": "Cat"}
)
Opção 2: Passar a Chave de API Diretamente
Importe a classe Client e passe sua chave de API ao construtor:
from wavespeed import Client
client = Client(api_key="your-api-key-here")
Gerando Sua Primeira Imagem
Aqui está um exemplo completo que gera uma imagem usando Z-Image Turbo:
import wavespeed
output = wavespeed.run(
"wavespeed-ai/z-image/turbo",
{"prompt": "A serene mountain landscape at sunset with golden light"}
)
print(output["outputs"][0]) # URL to the generated image
A função run() trata de todo o fluxo de trabalho: enviar a solicitação, pesquisar a conclusão e retornar o resultado.
Enviando Arquivos
Para fluxos de trabalho que requerem imagens de entrada (como image-to-video), use a função upload() para obter uma URL que o WaveSpeedAI possa acessar:
import wavespeed
# Upload a local image file
image_url = wavespeed.upload("./my-image.png")
# Use the uploaded image for video generation
video = wavespeed.run(
"wavespeed-ai/wan-2.1/image-to-video",
{
"image": image_url,
"prompt": "Camera slowly zooms in while clouds move in the background"
}
)
print(video["outputs"][0]) # URL to the generated video
Opções de Configuração
Opções do Cliente
Configure o comportamento de retry ao inicializar o cliente:
from wavespeed import Client
client = Client(
api_key="your-api-key",
max_retries=3, # Max retries for failed requests
max_connection_retries=5, # Max retries for connection errors
retry_interval=1.0 # Seconds between retries
)
Opções de Execução
Configure chamadas individuais de run():
import wavespeed
output = wavespeed.run(
"wavespeed-ai/z-image/turbo",
{"prompt": "A cute orange cat wearing a tiny hat"},
timeout=60.0, # Max seconds to wait for completion
poll_interval=0.5, # Seconds between status checks
enable_sync_mode=True # Use synchronous mode if available
)
Trabalhando com Diferentes Modelos
Texto para Imagem
Gere imagens a partir de descrições de texto:
import wavespeed
output = wavespeed.run(
"wavespeed-ai/z-image/turbo",
{
"prompt": "A futuristic cityscape with flying cars and neon lights",
"size": "1024x1024"
}
)
Imagem para Vídeo
Transforme imagens estáticas em vídeos:
import wavespeed
image_url = wavespeed.upload("./landscape.jpg")
video = wavespeed.run(
"wavespeed-ai/wan-2.1/image-to-video",
{
"image": image_url,
"prompt": "Gentle wind blowing through the trees"
}
)
Texto para Vídeo
Gere vídeos diretamente a partir de texto:
import wavespeed
video = wavespeed.run(
"wavespeed-ai/wan-2.1/t2v-480p",
{"prompt": "A golden retriever running through a field of flowers"}
)
Suporte Assíncrono
O SDK suporta async/await para operações não-bloqueantes:
import asyncio
import wavespeed
async def generate_image():
output = await wavespeed.async_run(
"wavespeed-ai/z-image/turbo",
{"prompt": "An astronaut riding a horse on Mars"}
)
return output["outputs"][0]
# Run the async function
image_url = asyncio.run(generate_image())
print(image_url)
Tratamento de Erros
Para aplicações de produção, configure retries e trate erros adequadamente:
from wavespeed import Client
client = Client(
max_retries=3,
max_connection_retries=5,
retry_interval=1.0
)
try:
output = client.run(
"wavespeed-ai/z-image/turbo",
{"prompt": "A beautiful sunset over the ocean"},
timeout=120.0
)
print("Generated:", output["outputs"][0])
except Exception as e:
print(f"Generation failed: {e}")
Recursos
- Repositório GitHub: github.com/WaveSpeedAI/wavespeed-python
- Pacote PyPI: pypi.org/project/wavespeed
- Documentação da API: docs.wavespeed.ai
- Biblioteca de Modelos: wavespeed.ai/models
Comece a construir com WaveSpeedAI hoje e leve a geração de imagens e vídeos com IA para suas aplicações Python.




