Python SDK
Python code examples for the PicX Studio API.
Setup
import requests
API_KEY = "pxsk_your_key"
BASE_URL = "https://api.picxstudio.com"
headers = {"Authorization": f"Bearer {API_KEY}", "Content-Type": "application/json"}Generate Image
def generate_image(prompt, size="2K"):
resp = requests.post(
f"{BASE_URL}/v1/images/generate",
headers=headers,
json={"prompt": prompt, "size": size}
)
resp.raise_for_status()
return resp.json()
result = generate_image("a beautiful sunset")
print(f"URL: {result['url']}")
print(f"Credits: {result['credits_used']}")Generate Video (Async)
import time
def generate_video(prompt, duration=5):
# Submit job
resp = requests.post(
f"{BASE_URL}/api/generations/video",
headers=headers,
json={"prompt": prompt, "duration": duration}
)
resp.raise_for_status()
job = resp.json()
# Poll for completion
while True:
status = requests.get(
f"{BASE_URL}/api/generations/{job['id']}",
headers=headers
).json()
if status["status"] == "completed":
return status["output_url"]
elif status["status"] == "failed":
raise Exception(status["error_message"])
time.sleep(5)
video_url = generate_video("a cat walking")Webhook Handler (Flask)
from flask import Flask, request, jsonify
import hmac, hashlib
app = Flask(__name__)
SECRET = "whsec_your_secret"
@app.route("/webhook", methods=["POST"])
def handle_webhook():
sig = request.headers.get("X-Webhook-Signature", "")
expected = hmac.new(SECRET.encode(), request.data, hashlib.sha256).hexdigest()
if not hmac.compare_digest(sig, f"sha256={expected}"):
return jsonify({"error": "Invalid signature"}), 401
payload = request.json
if payload["event"] == "generation.completed":
print(f"Completed: {payload['output_url']}")
return jsonify({"ok": True})