Skip to content

Grok Imagine - Video Upscale ​

This page is generated from the upstream official OpenAPI documentation. Endpoints, parameters and examples match the official docs; brand and API domain are replaced with ModelFold.

Endpoint ​

POST /jobs/createTask

Full URL: https://ai.modelfold.online/v1/jobs/createTask

Authentication: every request must include the Authorization: Bearer <API_KEY> header.

Output is an MP4 video with an audio track generated together with the video (dialogue written in the prompt is spoken). Audio cannot be turned off.

Task ID Source ​

task_id must be a successful grok-imagine/text-to-video or grok-imagine/image-to-video task. You can create such videos with:

How to get a task ID:

  1. Use the Text to video API to generate videos.
  2. Extract the taskId from the API response.
  3. Use that taskId as the task_id parameter in the upscale request.

Information

Only videos generated by ModelFold AI models can be upscaled. External videos are not supported.


Query Task Status ​

After submitting an upscale task, use the unified query endpoint to check progress and retrieve results:

  • Get Task Details — Learn how to query task status and retrieve generation results.

Pro Tip

For production use, we recommend using the callBackUrl parameter to receive automatic notifications when upscaling completes, rather than polling the status endpoint.


Request Parameters ​

Body (application/json) ​

ParameterTypeRequiredDescription
modelstringYesThe model name to use for generation. Required field.
- Must be grok-imagine/upscale for this endpoint Default:"grok-imagine/upscale"。 Allowed values:grok-imagine/upscale。 示例:grok-imagine/upscale。
callBackUrlstringNoThe URL to receive video upscaling task completion updates. Optional but recommended for production use.
- System will POST task status and results to this URL when upscaling completes
- Callback includes generated upscaled video URLs and task information
- Your callback endpoint should accept POST requests with JSON payload containing video results
- Alternatively, use the Get Task Details endpoint to poll task status
- To ensure callback security, see Webhook Verification Guide for signature verification implementation 示例:https://your-domain.com/api/callback。
inputobjectYesInput parameters for the video upscaling task
  input.task_idstringYesTask ID from a previously successful video generation task. Required field.
- task_id must be a successful grok-imagine/text-to-video or grok-imagine/image-to-video task.
- The original video generation must have completed successfully
- Only ModelFold AI–generated task IDs are supported 示例:task_grok_12345678。
  input.resolutionstringNoVideo generation resolution. Default:"720p"。 Allowed values:720p / 1080p。 示例:720p。

Request Example ​

bash
curl -X POST "https://ai.modelfold.online/v1/jobs/createTask" \
  -H "Authorization: Bearer $MODELFOLD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "grok-imagine/upscale",
  "callBackUrl": "https://your-domain.com/api/callback",
  "input": {
    "task_id": "task_grok_12345678"
  }
}'
json
{
  "model": "grok-imagine/upscale",
  "callBackUrl": "https://your-domain.com/api/callback",
  "input": {
    "task_id": "task_grok_12345678"
  }
}

Response ​

200 — Request successful ​

json
{
  "code": 200,
  "msg": "success",
  "data": {
    "taskId": "281e5b0*********************f39b9"
  }
}

Callback ​

videoTaskCompleted ​

Callback URL: {request.body#/callBackUrl} (the callBackUrl in the request body).

The system sends this callback when the grok-imagine/upscale task succeeds or fails.

Callback body parameters

参数类型必填说明
codeinteger是Unified callback code: 200 for success, 501 for failure. Allowed values:200 / 501。 示例:200。
msgstring是Unified callback message. Allowed values:Playground task completed successfully. / Playground task failed.。 示例:Playground task completed successfully.。
dataobject是—
  data.taskIdstring是The unique task identifier.
  data.modelstring是The model used for the task. Allowed values:grok-imagine/upscale。 示例:grok-imagine/upscale。
  data.statestring是Terminal task state. Allowed values:success / fail。 示例:success。
  data.paramstring是JSON string containing the submitted task parameters.
  data.resultJsonstring否JSON string containing resultUrls, firstFrameUrl, lastFrameUrl, or resultObject when successful. Present only when state is success.
  data.failCodestring否Failure code, a numeric string such as "400" or "500". Present only when state is fail.
  data.failMsgstring否Failure reason. Present only when state is fail.
  data.costTimeinteger否Processing time in seconds. Present on both success and failure callbacks.
  data.completeTimeinteger否Task completion timestamp.
  data.createTimeinteger否Task creation timestamp.
  data.updateTimeinteger否Use completeTime as the completion time; updateTime may equal createTime.
  data.creditsConsumednumber否Credits consumed by the task; 0 for failed tasks.

Task completed successfully

json
{
  "code": 200,
  "msg": "Playground task completed successfully.",
  "data": {
    "taskId": "task_example_video_webhook_001",
    "model": "grok-imagine/upscale",
    "state": "success",
    "param": "{\"input\":\"{\\\"task_id\\\":\\\"task_grok_12345678\\\"}\",\"callBackUrl\":\"https://example.com/callback\",\"model\":\"grok-imagine/upscale\"}",
    "resultJson": "{\"resultUrls\":[\"https://example.com/generated-video.mp4\"]}",
    "costTime": 12,
    "completeTime": 1234567890,
    "createTime": 1234560000,
    "updateTime": 1234567890,
    "creditsConsumed": 1.23
  }
}

Task failed

json
{
  "code": 501,
  "msg": "Playground task failed.",
  "data": {
    "taskId": "task_example_video_webhook_001",
    "model": "grok-imagine/upscale",
    "state": "fail",
    "param": "{\"input\":\"{\\\"task_id\\\":\\\"task_grok_12345678\\\"}\",\"callBackUrl\":\"https://example.com/callback\",\"model\":\"grok-imagine/upscale\"}",
    "failCode": "400",
    "failMsg": "<error detail>",
    "costTime": 12,
    "creditsConsumed": 0
  }
}

ModelFold — one API for all the best AI models.