forge/backend/test_runway.py

51 lines
1.6 KiB
Python

import os
import httpx
import asyncio
from dotenv import load_dotenv
load_dotenv()
API_KEY = os.getenv("RUNWAY_API_KEY", "key_430c19c118e875e80f3d80a21f0c1bd2d20c7863868b189c28312ae7589d3e99d0d6c466a05200a418910a855a0acb64e85491f2355a7fa82fa87ddb93baff86")
print(f"Testing Runway API with Key: {API_KEY[:10]}...{API_KEY[-5:]}")
async def test_endpoint(url, label):
print(f"\n--- Testing {label} ({url}) ---")
headers = {
"Authorization": f"Bearer {API_KEY}",
"Content-Type": "application/json",
"X-Runway-Version": "2024-11-06"
}
# Based on error message, these are the only valid models
models_to_test = [
"gen4.5",
"gen3a_turbo"
]
async with httpx.AsyncClient() as client:
for model in models_to_test:
print(f"\nProbing Model: {model}")
payload = {
"model": model,
"promptText": "A simple test video of a cat",
"duration": 5,
"ratio": "1280:720"
}
try:
response = await client.post(f"{url}/text_to_video", headers=headers, json=payload)
print(f"Status: {response.status_code}")
print(f"Response: {response.text}")
if response.status_code == 200:
print(f"!!! SUCCESS with model: {model} !!!")
break
except Exception as e:
print(f"Exception: {e}")
async def main():
await test_endpoint("https://api.dev.runwayml.com/v1", "Development")
if __name__ == "__main__":
asyncio.run(main())