Перейти к основному содержанию
POST
/
v1
/
videos
/
generations
curl --request POST \
  --url https://api.apimart.ai/v1/videos/generations \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
    "model": "gemini-omni-flash-preview",
    "prompt": "a red apple on a wooden table, short cinematic clip",
    "aspect_ratio": "16:9"
  }'
{
  "code": 200,
  "data": [
    {
      "status": "submitted",
      "task_id": "task_01KS1H7ZYSJWH1N779S2FSHTKA"
    }
  ]
}
curl --request POST \
  --url https://api.apimart.ai/v1/videos/generations \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
    "model": "gemini-omni-flash-preview",
    "prompt": "a red apple on a wooden table, short cinematic clip",
    "aspect_ratio": "16:9"
  }'
{
  "code": 200,
  "data": [
    {
      "status": "submitted",
      "task_id": "task_01KS1H7ZYSJWH1N779S2FSHTKA"
    }
  ]
}

Аутентификация

Authorization
string
обязательно
Все запросы требуют аутентификации по Bearer Token.Получение API-ключа:Перейдите на страницу управления API-ключами, чтобы получить свой API-ключ.При выполнении запросов добавляйте в заголовок:
Authorization: Bearer YOUR_API_KEY

Параметры запроса

model
string
обязательно
Название модели генерации видео, фиксированное значение gemini-omni-flash-preview.
prompt
string
обязательно
Текстовая инструкция. Для Text-to-Video — описание сцены; для Image/Video-to-Video — инструкция по движению / стилю / редактированию.
prompt и референсные материалы (image_urls / video_urls) — необходимо предоставить хотя бы одно из них.
image_urls
array<string>
Референсные изображения, максимум 16 штук. Каждый элемент — URL вида http(s)://.Поддерживаются JPEG / PNG. Для нескольких субъектов (например, «кошка + клубок ниток») можно передать несколько изображений и описать в prompt, как они взаимодействуют.
video_urls
array<string>
Референсное / редактируемое видео, максимум 1 (несколько видеоссылок не поддерживаются). Может быть прямой ссылкой http(s):// или data:video/....
Референсное видео 1 ~ 24 секунды, официально рекомендуется ≤3 секунд.
aspect_ratio
string
по умолчанию:"16:9"
Соотношение сторон видео, реально управляет ориентацией выводимого кадра.Поддерживаются только:
  • 16:9 - горизонтальное (по умолчанию)
  • 9:16 - вертикальное
Другие значения обрабатываются как 16:9.
resolution
string
по умолчанию:"720p"
Разрешение видео. В настоящее время поддерживается только 720p.
extend_from_task_id
string
Идентификатор предыдущей задачи: укажите ** task_id** предыдущей задачи генерации.

Ответ

code
integer
Код состояния ответа. При успехе имеет значение 200.
data
array
Возвращаемый массив задач.

Получение результата задачи

Генерация видео является асинхронной задачей. После отправки возвращается task_id. Используйте эндпоинт Получить статус задачи, чтобы узнать прогресс и результат генерации.

Пример успешного результата

{
  "code": 200,
  "data": {
    "id": "task_01KS1H7ZYSJWH1N779S2FSHTKA",
    "status": "completed",
    "progress": 100,
    "created": 1779246294,
    "completed": 1779246334,
    "actual_time": 40,
    "estimated_time": 60,
    "cost": 1.0,
    "credits_cost": 10,
    "result": {
      "videos": [
        {
          "url": ["https://cdn.example.com/gemini_omni_xxx.mp4"],
          "expires_at": 1779332760
        }
      ]
    }
  }
}

Сценарии использования

Сценарий 1: Text-to-Video

{
  "model": "gemini-omni-flash-preview",
  "prompt": "a blue butterfly landing on a flower, macro, soft light",
  "aspect_ratio": "9:16"
}

Сценарий 2: Image-to-Video

{
  "model": "gemini-omni-flash-preview",
  "prompt": "turn this drawing into realistic footage, use it only as a motion guide",
  "image_urls": ["https://example.com/sketch.jpg"]
}

Сценарий 3: Video-to-Video

{
  "model": "gemini-omni-flash-preview",
  "prompt": "when the person touches the mirror, make it ripple like liquid",
  "video_urls": ["https://example.com/clip.mp4"]
}