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

# Песочница

> Отправьте с этой страницы реальную задачу генерации видео с использованием Grok Imagine, а затем проверяйте её статус с помощью возвращённого идентификатора задачи.

Введите свой API key и промпт, затем отправьте запрос. Это обращается к рабочему API — к тому же
эндпоинту, который вызывал бы ваш код, и это единственный способ обратиться к видеомоделям.

<Warning>
  **Запросы, отправленные с этой страницы, являются реальными и тарифицируются по вашему ключу.**
  Видео тарифицируется за секунду: клип `480p` продолжительностью одну секунду стоит от \$0.05 до \$0.08,
  а клип `1080p` продолжительностью пятнадцать секунд стоит несколько долларов. Начните с небольшой длительности.
</Warning>

## Параметры

<ParamField body="model" type="string" required>
  Модель для запуска. Принимает `grok-imagine-video` или `grok-imagine-video-1.5`,
  с точным совпадением. Только `grok-imagine-video` может редактировать или расширять существующий клип;
  только `grok-imagine-video-1.5` обеспечивает доступ к `1080p` и предустановленным голосам.
</ParamField>

<ParamField body="input" type="object" required>
  Параметры генерации. Любой ключ, не указанный ниже, отклоняется с
  `invalid_params`.

  <Expandable title="input">
    <ParamField body="input.prompt" type="string" required>
      Что нужно сгенерировать или что изменить при редактировании.
    </ParamField>

    <ParamField body="input.mode" type="string" default="generate">
      `generate`, `edit` или `extend`. Для `edit` и `extend` требуется
      `input.video`, и они работают только с `grok-imagine-video`.
    </ParamField>

    <ParamField body="input.duration" type="integer">
      Длительность в секундах: от 1 до 15. В режиме `extend` вышестоящая модель
      сужает этот диапазон до 2–10; это ограничение применяется после постановки задачи
      в очередь, а не во время отправки. Не используется для `edit`, который
      наследует длительность исходного материала.
    </ParamField>

    <ParamField body="input.resolution" type="string" default="480p">
      `480p`, `720p` или `1080p` только для `grok-imagine-video-1.5`. Отклоняется в режиме
      `edit` и ограничивается значением `720p`, если задан `input.reference_images`.
    </ParamField>

    <ParamField body="input.aspect_ratio" type="string" default="16:9">
      Одно из значений `1:1` `16:9` `9:16` `4:3` `3:4` `3:2` `2:3`. Здесь нет
      `auto`, в отличие от моделей для изображений.
    </ParamField>

    <ParamField body="input.images" type="string[]">
      Ровно одно изображение, используемое как **первый кадр** клипа. URL `https`
      или URI данных в формате base64. Нельзя использовать вместе с `input.reference_images`.
    </ParamField>

    <ParamField body="input.video" type="string">
      Исходный клип для `edit` и `extend`. URL `https` или URI данных видео
      в формате base64 длительностью не менее 2 секунд. Оплата взимается за каждую секунду входных данных.
    </ParamField>

    <ParamField body="input.reference_images" type="string[]">
      До 3 изображений, из которых модель берёт стиль и объект. Ограничивает результат значением
      `720p`. Нельзя использовать вместе с `input.images`.
    </ParamField>

    <ParamField body="input.voice_ids" type="string[]">
      До 3 предустановленных голосов, только `grok-imagine-video-1.5`. Значение не
      проверяется во время отправки, поэтому неправильное имя приведёт к сбою задачи позднее.
    </ParamField>

    <ParamField body="input.generate_audio" type="boolean" default="true">
      Установите `false` для создания клипа без звука. На стоимость это не влияет.
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="callback_url" type="string">
  URL `https`, на который методом POST отправляется завершённая задача, чтобы можно было отказаться от опроса.
  Поскольку обработка видео занимает от 20 до 50 секунд, стоит настроить обратный вызов.
</ParamField>

## Что возвращается

После отправки запрос возвращается немедленно — значительно меньше чем за секунду. Клип **не входит** в этот ответ: генерация выполняется в фоновом режиме.

| Поле         | Тип     | Примечания                                               |
| ------------ | ------- | -------------------------------------------------------- |
| `id`         | string  | Идентификатор задачи. Он требуется для всего остального. |
| `status`     | string  | `queued` для новой задачи.                               |
| `created_at` | integer | Секунды Unix, UTC.                                       |

<ResponseExample>
  ```json Response theme={null}
  {
    "id": "task_IIISyUlKs0fJDptkSCLbcJvXWZLpECKM",
    "status": "queued",
    "created_at": 1788189046
  }
  ```
</ResponseExample>

## Затем опрашивайте результат

Эта песочница охватывает только вызов создания. Возьмите `id` из приведённого выше ответа и проверяйте задачу, пока `status` не достигнет `completed` или `failed` — в зависимости от длительности и разрешения это обычно занимает от 20 до 50 секунд.

```bash theme={null}
curl https://api.widerouter.com/v1/task/$TASK_ID \
  -H "Authorization: Bearer $WIDEROUTER_API_KEY"
```

Завершённая задача содержит массив `outputs` с одним файлом MP4:

```json theme={null}
{
  "id": "task_IIISyUlKs0fJDptkSCLbcJvXWZLpECKM",
  "model": "grok-imagine-video",
  "status": "completed",
  "created_at": 1788189046,
  "completed_at": 1788189065,
  "expires_at": 1788275465,
  "outputs": ["https://r2cdn.agisuitepro.com/o/2026/08/31/task_IIISyUlKs0fJDptkSCLbcJvXWZLpECKM_0.mp4"],
  "counts": { "requested": 1, "succeeded": 1, "failed": 0 },
  "usage": { "cost_in_usd_ticks": 500000000 }
}
```

Файл предоставляется как `video/mp4` и воспроизводится встроенно. Его длительность примерно на 0,04 секунды больше запрошенной.

<Info>
  URL-адреса вывода не требуют аутентификации и становятся недействительными через 24 часа после завершения задачи.
  `usage.cost_in_usd_ticks` — это **публичная цена**; ваш баланс изменяется на эту
  сумму, умноженную на коэффициент тарифа вашей группы — см.
  [тарификацию](/ru/models/grok-imagine/video/overview#pricing).
</Info>

## Следующие шаги

<CardGroup cols={2}>
  <Card title="Обзор" icon="film" href="/ru/models/grok-imagine/video/overview">
    Режимы, уровни продолжительности и разрешения, референсные изображения, голоса и цены.
  </Card>

  <Card title="API асинхронных задач" icon="clock" href="/ru/api/async-tasks">
    Цикл опроса, обратные вызовы и полная таблица ошибок.
  </Card>
</CardGroup>
