Grok Imagine Image 2.0
xai/grok-imagine-image/2.0/editGrok Imagine Image 2.0 Edit is xAI's intelligent image editing model. Transform, retouch, and reimagine existing images using text prompts - from background replacement to artistic style conversion.
- Base price
- $0.06USD / run
- Execution
- async
- Model type
- image
- Input fields
- 6
Try the model
Playground
PNG, JPEG, WebP, or GIF · 20 MiB maximum each
Your output will appear here
Complete the inputs, then click Run.
Specifications
Pricing
- Base price
- $0.06 / run
- Billing formula
- ((params.resolution ?? "1k") == "2k" ? ((params.quality ?? "medium") == "low" ? 0.06 : 0.08) : ((params.quality ?? "medium") == "low" ? 0.04 : 0.06)) + len(params.images ?? []) * 0.01
Context & modalities
- Input
- Schema-defined
- Output
- image
Capabilities
- Chat
- Not supported
- Vision
- Not supported
- Reasoning
- Not supported
- Structured output
- Not supported
- Function calling
- Not supported
- Audio input
- Not supported
Access
- Provider
- xAI
- Model ID
- xai/grok-imagine-image/2.0/edit
- Execution
- async
- API
- Unified Run API
- Endpoint
- /v1/run
API README
Grok Imagine Image 2.0 Edit
Grok Imagine Image 2.0 Edit is a specialized SandBase endpoint built to revise up to three supplied images through natural-language direction. It is most useful when teams need controlled image revision and reference blending, with the route’s inputs defining a repeatable production contract instead of leaving critical delivery choices to an ad-hoc manual workflow.
Use this exact route when its input mode matches the creative asset already in hand: describe the visual or spoken result clearly, set only the controls that support the intended delivery, and keep the subject, action, environment, camera or performance direction internally consistent. The result is returned asynchronously as a downloadable media URL suitable for review, automation, or downstream finishing.
Highlights
- Three-image revision context. Supply up to three source images so a single instruction can reconcile subject, style, product, or layout cues across the edit.
- Explicit render quality. Low and medium modes create a deliberate cost-versus-finish choice instead of tying every revision to one fixed render tier.
- 1K or 2K finishing. Select the resolution needed for review, publishing, or further compositing while keeping the same edit instruction.
- Format-conscious delivery. JPEG and PNG outputs support compact publishing assets as well as lossless handoff requirements.
Pricing
Billed per output image at xAI list price; each supplied input image adds $0.01.
| Resolution | Quality | Price per output |
|---|---|---|
| 1K | Low | $0.04 |
| 1K | Medium | $0.06 |
| 2K | Low | $0.06 |
| 2K | Medium | $0.08 |
When to Use
| Scenario | Why this route fits |
|---|---|
| Concept development | Choose Grok Imagine Image 2.0 Edit when its edit workflow matches the starting material and you need several clearly directed variations. |
| Production iteration | Use explicit duration, resolution, ratio, seed, or quality controls to compare versions without changing the core creative brief. |
| Channel adaptation | Generate directly in the landscape, square, portrait, or vertical format required by the destination whenever that control is available. |
| Automated pipelines | Integrate the asynchronous media URL into review queues, asset libraries, publishing tools, or a later finishing stage. |
| Alternative route | Pick a related text-, image-, reference-, edit-, or turbo route when the available source media or required degree of control is different. |
Prompt Guide
Lead with the main subject or source asset, then describe the intended action or transformation, environment, composition, camera or vocal delivery, lighting and mood. Keep instructions concrete and compatible; use the route’s explicit fields for duration, resolution, ratio, quality, voice, or reproducibility instead of burying those settings in prose.
{
"prompt": "A cinematic product reveal with deliberate subject motion, coherent lighting, and a slow camera push.",
"resolution": "1k",
"aspect_ratio": "21:9",
"output_format": "jpeg",
"quality": "medium",
"images": [
"https://example.com/reference-1.jpg"
]
}
Technical Specs
| Property | Details |
|---|---|
| Model ID | xai/grok-imagine-image/2.0/edit |
| Required inputs | prompt |
| Execution | Asynchronous; poll the returned generation ID |
| Output | Downloadable media URL |
prompt | string; required |
images | array; optional |
resolution | string; optional; choices: 1k, 2k; default: 1k |
output_format | string; optional; choices: jpeg, png; default: jpeg |
quality | string; optional; choices: low, medium; default: medium |
aspect_ratio | string; optional; choices: 21:9, 16:9, 3:2, 4:3, 5:4, 1:1, 4:5, 3:4, 2:3, 9:16 |
Related Models
| Model | Best for |
|---|---|
xai/grok-tts | Alternative grok tts workflow |
xai/grok-imagine-video/text-to-video | Alternative text to video workflow |
xai/grok-imagine-video/extend | Alternative extend workflow |
xai/grok-imagine-video/image-to-video | Alternative image to video workflow |
Start building
Send your first request
OpenAI-compatible endpoint with unified authentication and usage tracking.
# The quoted heredoc keeps Unicode and shell metacharacters unchanged.
result=$(curl --fail-with-body --silent \
-X POST "https://api.sandbase.ai/v1/run" \
-H "Authorization: Bearer $SANDBASE_API_KEY" \
-H "Content-Type: application/json" \
--data-binary @- <<'SANDBASE_JSON'
{
"model": "xai/grok-imagine-image/2.0/edit",
"images": [
"https://v3b.fal.media/files/b/0a8b911d/Abk8vStrvmSPlzUqI_NN3_image_043.png"
],
"prompt": "Make this scene more realistic but still keep the game vibes",
"quality": "medium",
"resolution": "1k",
"output_format": "jpeg"
}
SANDBASE_JSON
)
run_id=$(printf '%s' "$result" | jq -r .id)
for attempt in $(seq 1 120); do
status=$(printf '%s' "$result" | jq -r .status)
case "$status" in completed|failed|timeout) break ;; esac
sleep 2
result=$(curl --fail-with-body --silent \
-H "Authorization: Bearer $SANDBASE_API_KEY" \
"https://api.sandbase.ai/v1/run/$run_id")
done
status=$(printf '%s' "$result" | jq -r .status)
[ "$status" = completed ] || { echo "Generation ended: $status" >&2; exit 1; }
printf '%s\n' "$result"Choose your model
Compare models
| Model | Context | Input / 1M | Output / 1M | Released |
|---|---|---|---|---|
Grok Imagine Image 2.0This model xAI | — | — | — | Aug 11, 2026 |
xAI | — | — | — | Aug 11, 2026 |
xAI | — | — | — | May 7, 2026 |
xAI | — | — | — | May 7, 2026 |
xAI | — | — | — | Jan 29, 2026 |
