Overview
Runway Gen4 Image generates still images from text prompts and optional reference images. Use it for higher-quality image generation when you need explicit aspect ratio, resolution, and seed controls.| Capability | Value |
|---|---|
| Model ID | runway-gen4-image |
| Modes | text-to-image, image-to-image |
| Prompt | Required non-empty string |
| Reference images | Required for image-to-image; optional for text-to-image; 1-3 public image URLs when provided |
| Aspect ratios | 1:1, 16:9, 9:16, 4:3, 3:4 |
| Resolution tiers | 720p, 1080p |
| Seed | Integer from 1 through 2147483647 |
Endpoint and authentication
Base URL:| Method | Endpoint | Purpose |
|---|---|---|
POST | /generateTask/runway-gen4-image | Submit an image generation task |
GET | /statusTask/runway-gen4-image?taskId={taskId} | Poll task status and retrieve results |
Copy-paste async quickstart
taskId; you need it to poll for the final result.
Poll for result
Request body
Text-to-image
Text-to-image with optional references
Image-to-image
Parameters
Result delivery mode. Use
async for polling with statusTask, or callback for webhook delivery.Required when
request_type is callback. Must be a public HTTPS URL that can receive the final task payload. See Webhooks.Runway Gen4 Image input parameters.
Response format
Submit task response
POST /generateTask/runway-gen4-image returns a task ID when the task is accepted:
API status code.
200 means the task was accepted.Human-readable status message.
Unique task identifier used with the status endpoint.
Status response fields
Unique task identifier.
Current task state:
pending, processing, success, or failed.JSON string containing generated image URLs in
resultUrls. Present when state is success.Machine-readable failure code. Present when
state is failed.Human-readable failure message. Present when
state is failed.Task creation timestamp in Unix milliseconds.
Task completion timestamp in Unix milliseconds. Present after completion.
Processing duration in milliseconds when available.
Webhook callback mode
Use callback mode when your backend should receive the final result automatically instead of polling.Billing
Runway Gen4 Image is billed per generated image.text-to-image and image-to-image use the same price for the same resolution.
| Resolution | APIXO price |
|---|---|
720p | $0.05 / image |
1080p | $0.08 / image |
Latency and polling
Actual latency may vary by prompt complexity, reference image accessibility, resolution, and current queue load.| Resolution | Typical generation time | Recommended first poll | Poll interval |
|---|---|---|---|
720p | 15s-30s | 15s after task creation | 3s-5s |
1080p | 20s-45s | 20s after task creation | 3s-5s |
Validation notes
| Parameter | Backend behavior |
|---|---|
input.mode | Optional. Supported values are text-to-image and image-to-image. If omitted, non-empty image_urls selects image-to-image; otherwise text-to-image. |
input.prompt | Required string. Must not be empty after trimming whitespace. |
input.image_urls | Required for image-to-image. Optional for text-to-image. When present, must be an array with 1-3 non-empty string URLs. |
input.aspect_ratio | Optional. Defaults to 4:3. Must be one of 1:1, 16:9, 9:16, 4:3, 3:4. |
input.resolution | Optional. Defaults to 1080p. Must be 720p or 1080p. |
input.seed | Optional JSON integer. Must be from 1 through 2147483647. |
Errors and troubleshooting
| Code | Meaning | What to do |
|---|---|---|
400 | Invalid request body, mode, parameter value, or input image URL | Fix the request before retrying |
401 | Missing or invalid API key | Check the Authorization header |
402 | Insufficient balance or quota | Add balance or switch account/key |
403 | Key or route cannot access the model | Check permissions and route strategy |
429 | Rate limit or concurrency limit reached | Retry with exponential backoff |
500 | Server error or unknown generation failure | Retry with backoff |
502 | Generation service or network error | Retry with backoff |
504 | Generation timeout | Retry or use callback mode for long-running jobs |