Create. Track. Retrieve.
Generation is asynchronous. Persist the task ID from each successful create response. Poll the corresponding task endpoint until it reports completion or failure.
curl "https://ruty.ai/v1/images/$TASK_ID" \
-H "Authorization: Bearer $RUTY_API_KEY"
# For video tasks
curl "https://ruty.ai/v1/videos/$TASK_ID" \
-H "Authorization: Bearer $RUTY_API_KEY"Read the result
Image tasks expose progress, error details and output.image_urls. Video task responses expose status and video URLs such as video_url or output_result.video_url. A failed task is a terminal result; inspect its error instead of polling forever.
Poll responsibly
Start with a few seconds between requests and increase the interval for long video jobs. Respect Retry-After when supplied. Keep a deadline in your application; reaching that deadline does not cancel the backend task.
Keep the same identity
Retrieve a task with the API key that created it. Ruty uses the existing ReelMind and Yiha task and billing infrastructure, so changing an endpoint does not change task ownership.
Ambiguous failures
If a create call times out, the task may already exist. Inspect task history before resubmitting. For supported image requests, reuse the original idempotency key and identical payload. Video creation does not promise idempotency.