> ## Documentation Index
> Fetch the complete documentation index at: https://docs.vidgo.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Grok Imagine Image 2.0 Edit

> Refine images with Grok Imagine Image 2.0, combining reference images and precise instructions to preserve subjects while changing visual details.

<Tip>
  1. Submit the request with `VIDGO_API_KEY`. A `task_id` is returned immediately. Keep it until the task reaches `finished` or `failed`.
  2. Use [Query Task Status](/api-manual/task-management/status) to retrieve the result. If you provide a `callback_url`, Vidgo sends the result to your [webhook](/api-manual/task-management/webhooks) when the task finishes or fails.
</Tip>

# Grok Imagine Image 2.0 Edit

Refine images with Grok Imagine Image 2.0, combining reference images and precise instructions to preserve subjects while changing visual details.

## Available Models

* **xai/grok-imagine-image-v2.0/edit** - Edit images using a prompt and image references.

## Output Options

### Aspect Ratio

* `aspect_ratio`: Optional. Accepted values: `1:1`, `2:3`, `3:2`, `9:16`, `16:9`. Default: `1:1`.

### Resolution

* `resolution`: Optional. Accepted values: `1K`, `2K`. Default: `1K`.

### Quality

* `quality`: Optional. Accepted values: `low`, `medium`. Default: `medium`.

### Image Count

* `n`: Optional. Number of images to generate. Integer from `1` to `4`. Default: `1`.

## Key Features

* Edit images using a prompt and image references.
* Accepts 1-3 images in `image_urls`.
* Choose from `1K`, `2K` output resolutions.
* Control the number of output images with `n`.

## Advanced Parameters

Set `model` and optional `callback_url` at the request root. Place all workflow parameters, including output options, inside `input`.

Send only the input fields supported by this workflow. Unsupported `input` fields are rejected before credits are deducted. Input URLs must use HTTP(S), include a hostname, and contain no embedded credentials.

### Prompt

* `prompt`: Required. Describe the requested changes. Length: **1-8,000 characters**.
* The value must not be blank when supplied.

### Image URLs

* `image_urls`: Required. Provide publicly accessible image URLs. Supply 1-3 items. Each item must be an HTTP(S) URL.

## Billing Factors

Billing depends on output quality (`quality`), output resolution (`resolution`), and output image count (`n`). Input image count (`image_urls`) adds a separate charge once per request; this charge is not multiplied by `n`.

Credits are deducted on submission and refunded if the task fails.


## OpenAPI

````yaml api-manual/image-series/xai-grok-imagine-image-v2-0-edit.json POST /api/generate/submit
openapi: 3.0.0
info:
  title: Vidgo API - Grok Imagine Image 2.0 Edit
  description: >-
    Refine images with Grok Imagine Image 2.0, combining reference images and
    precise instructions to preserve subjects while changing visual details.
  version: 1.0.0
servers:
  - url: https://api.vidgo.ai
security:
  - BearerAuth: []
paths:
  /api/generate/submit:
    post:
      tags:
        - Image Series
      summary: Grok Imagine Image 2.0 Edit
      description: >-
        Send only the fields shown for this workflow. Parameters from other
        workflows are rejected before credits are deducted.


        When supplied, prompt must not be blank. Input URL fields require
        HTTP(S) URLs with a hostname and no embedded credentials.
      operationId: submit_xai_grok_imagine_image_v2_0_edit
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - model
                - input
              additionalProperties: true
              properties:
                model:
                  type: string
                  example: xai/grok-imagine-image-v2.0/edit
                input:
                  type: object
                  required:
                    - image_urls
                    - prompt
                  properties:
                    prompt:
                      type: string
                      minLength: 1
                      maxLength: 8000
                      description: >-
                        Required non-blank string, 1–8,000 characters after
                        trimming. Non-string values are rejected.
                    image_urls:
                      type: array
                      minItems: 1
                      maxItems: 3
                      items:
                        type: string
                        format: uri
                        description: Image urls.
                      description: >-
                        Required for editing: 1–3 public HTTP(S) image URLs,
                        without embedded credentials. Input image count adds a
                        separate charge once per request, independent of output
                        count (n).
                    'n':
                      type: integer
                      minimum: 1
                      maximum: 4
                      default: 1
                      description: >-
                        Number of output images. Integer from 1 to 4, default 1.
                        Strings, booleans, and fractional values are rejected.
                    aspect_ratio:
                      type: string
                      enum:
                        - '1:1'
                        - '2:3'
                        - '3:2'
                        - '9:16'
                        - '16:9'
                      default: '1:1'
                      description: Output aspect ratio. Defaults to 1:1.
                    resolution:
                      type: string
                      enum:
                        - 1K
                        - 2K
                      default: 1K
                      description: 'Output resolution tier: 1K or 2K. Defaults to 1K.'
                    quality:
                      type: string
                      enum:
                        - low
                        - medium
                      default: medium
                      description: 'Output quality: low or medium. Defaults to medium.'
                  additionalProperties: false
                callback_url:
                  type: string
                  nullable: true
                  description: >-
                    Optional public HTTP(S) endpoint for task completion
                    notifications. HTTPS is recommended. Omit, use null, or use
                    an empty string to disable callbacks.
              description: >-
                Keep model and callback_url at the root. Unknown root fields are
                ignored; unsupported input fields are rejected.
            examples:
              basic:
                summary: Basic workflow
                value:
                  model: xai/grok-imagine-image-v2.0/edit
                  input:
                    image_urls:
                      - https://example.com/image.png
                    prompt: >-
                      A quiet forest under soft morning light, with natural
                      detail.
                    'n': 1
                    aspect_ratio: '1:1'
                    resolution: 1K
                    quality: medium
              callback:
                summary: Receive a completion callback
                value:
                  model: xai/grok-imagine-image-v2.0/edit
                  input:
                    image_urls:
                      - https://example.com/image.png
                    prompt: >-
                      A quiet forest under soft morning light, with natural
                      detail.
                    'n': 1
                    aspect_ratio: '1:1'
                    resolution: 1K
                    quality: medium
                  callback_url: https://your-domain.com/callback
              multiple_outputs:
                summary: Four Medium / 2K outputs with three input images
                value:
                  model: xai/grok-imagine-image-v2.0/edit
                  input:
                    image_urls:
                      - https://example.com/input-1.png
                      - https://example.com/input-2.png
                      - https://example.com/input-3.png
                    prompt: >-
                      A quiet forest under soft morning light, with natural
                      detail.
                    'n': 4
                    aspect_ratio: '1:1'
                    resolution: 2K
                    quality: medium
      responses:
        '200':
          description: Task submitted
          content:
            application/json:
              schema:
                type: object
                required:
                  - code
                  - data
                properties:
                  code:
                    type: integer
                    enum:
                      - 200
                  data:
                    type: object
                    required:
                      - task_id
                      - status
                      - created_time
                    properties:
                      task_id:
                        type: string
                      status:
                        type: string
                        enum:
                          - not_started
                          - running
                          - finished
                          - failed
                      created_time:
                        type: string
                        format: date-time
              example:
                code: 200
                data:
                  task_id: task-unified-example
                  status: running
                  created_time: '2026-09-10T08:00:00'
        '400':
          description: >-
            Invalid input, unsupported tier, inaccessible media, or insufficient
            credits
          content:
            application/json:
              schema:
                type: object
                required:
                  - detail
                properties:
                  detail:
                    oneOf:
                      - type: string
                      - type: object
                        additionalProperties: true
                      - type: array
                        items: {}
        '401':
          description: Invalid credentials
          content:
            application/json:
              schema:
                type: object
                required:
                  - detail
                properties:
                  detail:
                    oneOf:
                      - type: string
                      - type: object
                        additionalProperties: true
                      - type: array
                        items: {}
        '403':
          description: Access denied
          content:
            application/json:
              schema:
                type: object
                required:
                  - detail
                properties:
                  detail:
                    oneOf:
                      - type: string
                      - type: object
                        additionalProperties: true
                      - type: array
                        items: {}
        '404':
          description: Unknown or disabled model
          content:
            application/json:
              schema:
                type: object
                required:
                  - detail
                properties:
                  detail:
                    oneOf:
                      - type: string
                      - type: object
                        additionalProperties: true
                      - type: array
                        items: {}
        '408':
          description: Request timed out
          content:
            text/plain:
              schema:
                type: string
              example: Request timeout
        '422':
          description: Invalid JSON or non-object request body
          content:
            application/json:
              schema:
                type: object
                required:
                  - detail
                properties:
                  detail:
                    oneOf:
                      - type: string
                      - type: object
                        additionalProperties: true
                      - type: array
                        items: {}
        '429':
          description: Rate or API key credit limit exceeded
          content:
            application/json:
              schema:
                type: object
                required:
                  - detail
                properties:
                  detail:
                    oneOf:
                      - type: string
                      - type: object
                        additionalProperties: true
                      - type: array
                        items: {}
        '500':
          description: Internal error
          content:
            application/json:
              schema:
                type: object
                required:
                  - detail
                properties:
                  detail:
                    oneOf:
                      - type: string
                      - type: object
                        additionalProperties: true
                      - type: array
                        items: {}
        '502':
          description: Unable to create the upstream generation task
          content:
            application/json:
              schema:
                type: object
                required:
                  - detail
                properties:
                  detail:
                    oneOf:
                      - type: string
                      - type: object
                        additionalProperties: true
                      - type: array
                        items: {}
        '503':
          description: Model configuration or capability is not approved
          content:
            application/json:
              schema:
                type: object
                required:
                  - detail
                properties:
                  detail:
                    oneOf:
                      - type: string
                      - type: object
                        additionalProperties: true
                      - type: array
                        items: {}
components:
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      description: Use VIDGO_API_KEY.

````