Comment utiliser le SDK Python WaveSpeedAI
Le SDK Python WaveSpeedAI
Le SDK Python WaveSpeedAI offre un moyen simple d’intégrer la génération d’images et de vidéos par IA dans vos applications Python. Ce guide couvre tout ce que vous devez savoir pour commencer.
Prérequis
Avant de commencer, assurez-vous que vous avez :
- Python 3.8+ installé sur votre machine
- Une clé API WaveSpeedAI depuis wavespeed.ai/settings/api-keys
Installation
Installez le SDK en utilisant pip :
pip install wavespeed
Configuration de l’authentification
Le SDK a besoin de votre clé API pour authentifier les requêtes. Vous avez deux options :
Option 1 : Variable d’environnement (recommandé)
Définissez la variable d’environnement WAVESPEED_API_KEY :
export WAVESPEED_API_KEY="your-api-key-here"
Ensuite, utilisez le SDK directement :
import wavespeed
output = wavespeed.run(
"wavespeed-ai/z-image/turbo",
{"prompt": "Cat"}
)
Option 2 : Passer la clé API directement
Importez la classe Client et passez votre clé API au constructeur :
from wavespeed import Client
client = Client(api_key="your-api-key-here")
Générer votre première image
Voici un exemple complet qui génère une image en utilisant 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
La fonction run() gère l’ensemble du flux de travail : soumettre la requête, sonder l’achèvement et retourner le résultat.
Télécharger des fichiers
Pour les flux de travail qui nécessitent des images d’entrée (comme image-to-video), utilisez la fonction upload() pour obtenir une URL accessible à WaveSpeedAI :
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
Options de configuration
Options du client
Configurez le comportement des tentatives lors de l’initialisation du client :
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
)
Options de run
Configurez les appels individuels 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
)
Travailler avec différents modèles
Texte vers image
Générez des images à partir de descriptions textuelles :
import wavespeed
output = wavespeed.run(
"wavespeed-ai/z-image/turbo",
{
"prompt": "A futuristic cityscape with flying cars and neon lights",
"size": "1024x1024"
}
)
Image vers vidéo
Transformez des images statiques en vidéos :
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"
}
)
Texte vers vidéo
Générez des vidéos directement à partir de texte :
import wavespeed
video = wavespeed.run(
"wavespeed-ai/wan-2.1/t2v-480p",
{"prompt": "A golden retriever running through a field of flowers"}
)
Support asynchrone
Le SDK supporte async/await pour les opérations non-bloquantes :
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)
Gestion des erreurs
Pour les applications de production, configurez les tentatives et gérez les erreurs gracieusement :
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}")
Ressources
- GitHub Repository: github.com/WaveSpeedAI/wavespeed-python
- PyPI Package: pypi.org/project/wavespeed
- API Documentation: docs.wavespeed.ai
- Model Library: wavespeed.ai/models
Commencez à construire avec WaveSpeedAI dès aujourd’hui et apportez la génération d’images et de vidéos alimentées par l’IA à vos applications Python.




