51 lines
1.6 KiB
Python
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())
|