Runway AI Video Generator
POST /api/v1/runway-ai-video-generator/submit
prompt is required and imageUrl is required.
Required inputs
promptstring- Text prompt describing the video to generate (max 1000 chars).
imageUrlstring- Input image URL (required, http/https).
Edit the sample inputs for your own task before submitting.
# Set VIDMAGE_IDEMPOTENCY_KEY to a unique value for this task; preserve it for transport retries.
curl -X POST "https://vidmage.ai/api/v1/runway-ai-video-generator/submit" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Idempotency-Key: ${VIDMAGE_IDEMPOTENCY_KEY}" \
-H "Content-Type: application/json" \
-d '{"imageUrl":"https://vidmage.ai/assets/images/samples/blue-eyed-woman-sunlight.webp","prompt":"The camera slowly pushes in as the subject looks up and sunlight begins moving across the scene","duration":"5"}'
# -> { "success": true, "taskId": "...", "creditsConsumed": ... }Parameters and input rules3 fields
| Field | Type | Required | Default | Meaning and limits |
|---|---|---|---|---|
prompt | string | Yes | Not specified | Text prompt describing the video to generate (max 1000 chars). Minimum length: 1 · Maximum length: 1000 |
imageUrl | string | Yes | Not specified | Input image URL (required, http/https). No additional field constraint listed. |
duration | string | No | "5" | Video duration in seconds. Values: "5", "10" · Default: "5" |
Mode-specific fields & media limits
Image To Video rules
| Control | Mode-specific rule |
|---|---|
prompt | Required; minimum 1 characters; maximum 1000 characters |
duration | Values: "5", "10"; mode default: "5" |
imageUrl | Image input |
Retrieve the result
Save taskId from the accepted submission and send it to this endpoint:
POST /api/v1/runway-ai-video-generator/query
Use the same Bearer API key. On completion, read the videoUrl result field.
curl -X POST "https://vidmage.ai/api/v1/runway-ai-video-generator/query" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "taskId": "TASK_ID_FROM_SUBMIT" }'
# -> { "success": true, "data": { "status": "...", "videoUrl": "https://..." } }
