Документация

API Syntet.ru

Внешний HTTP API: запуск генерации изображений, видео и аудио, проверка статуса задачи и получение готовых файлов по URL. Ключ берётся в личном кабинете Syntet.ru и передаётся в теле JSON как auth_key.

1. Сценарий (один проход)

  1. POST …/external/generate — тело с id_model, промптом и параметрами модели.
  2. Сохраните из ответа идентификатор истории и передавайте его в поле id_history для картинок, видео и аудио.
  3. При необходимости пауза 30–60 с перед первым опросом (одно изображение редко готово быстрее).
  4. POST …/external/status каждые ~5 с, пока статус не станет успешным (например SUCCESS) или не вернётся ошибка.
  5. POST …/external/files — в ответе список URL готовых файлов (картинка / видео / аудио по типу задачи).

При ошибке можно повторить generate с другим id_model.

2. Базовый URL

https://syntet.ru

Запросы: POST, заголовок Content-Type: application/json.

3. Эндпоинты

Тип Генерация Статус Файлы
Изображения /api/imageAiModel/external/generate /api/imageAiModel/external/status /api/imageAiModel/external/files
Видео /api/modelAiVideo/external/generate /api/modelAiVideo/external/status /api/modelAiVideo/external/files
Аудио /api/modelAiAudio/external/generate /api/modelAiAudio/external/status /api/modelAiAudio/external/files

Полный URL: https://syntet.ru + путь из таблицы.

4. Тела запросов для status и files

Изображения — поле истории id_history:

{
  "auth_key": "ваш_ключ",
  "id_history": "ИД_ИЗ_ОТВЕТА_GENERATE"
}

Видео и аудио используют то же поле id_history:

{
  "auth_key": "ваш_ключ",
  "id_history": "ИД_ИЗ_ОТВЕТА_GENERATE"
}

Ответ files содержит ссылки на результат (или URL после обработки callback).

5. Примеры curl

Замените YOUR_API_KEY и идентификаторы. В Windows: Git Bash или curl.exe.

Изображения

Генерация

curl -sS -X POST "https://syntet.ru/api/imageAiModel/external/generate" \
  -H "Content-Type: application/json" \
  -d '{
    "auth_key": "YOUR_API_KEY",
    "id_model": "1",
    "referenceUrls": ["https://example.com/image1.jpg","https://example.com/image2.jpg","https://example.com/image3.jpg"],
    "prompt": "Your prompt here.",
    "aspectRatio": "2:3",
    "quality": "1k",
    "amount": "1"
  }'

Статус · файлы

curl -sS -X POST "https://syntet.ru/api/imageAiModel/external/status" \
  -H "Content-Type: application/json" \
  -d '{"auth_key":"YOUR_API_KEY","id_history":"1"}'

curl -sS -X POST "https://syntet.ru/api/imageAiModel/external/files" \
  -H "Content-Type: application/json" \
  -d '{"auth_key":"YOUR_API_KEY","id_history":"1"}'

Видео

Генерация (пример: LTX2.3, id_model 2)

curl -sS -X POST "https://syntet.ru/api/modelAiVideo/external/generate" \
  -H "Content-Type: application/json" \
  -d '{
    "auth_key":"YOUR_API_KEY",
    "id_model":2,
    "prompt":"Slow camera move over a city at sunset",
    "aspectRatio":"16:9",
    "videoLength":"5s",
    "referenceUrls":[
      "https://example.com/video-ref-image-1.jpg",
      "https://example.com/video-ref-image-2.jpg"
    ],
    "generateAudio":false,
    "multiShot":false,
    "enhancedPrompt":false,
    "fixedLens":false,
    "keepOriginalSound":false
  }'
curl -sS -X POST "https://syntet.ru/api/modelAiVideo/external/status" \
  -H "Content-Type: application/json" \
  -d '{"auth_key":"YOUR_API_KEY","id_history":"1"}'

curl -sS -X POST "https://syntet.ru/api/modelAiVideo/external/files" \
  -H "Content-Type: application/json" \
  -d '{"auth_key":"YOUR_API_KEY","id_history":"1"}'

Аудио

Генерация (MiniMax Voice Clone)

curl -sS -X POST "https://syntet.ru/api/modelAiAudio/external/generate" \
  -H "Content-Type: application/json" \
  -d '{
    "auth_key":"YOUR_API_KEY",
    "id_model":1,
    "prompt":"Спокойный голос за кадром, дружелюбный тон",
    "model":"speech-02-turbo",
    "languageBoost":"Russian",
    "voiceId":"maximus007",
    "pronunciationDict":[],
    "speed":1,
    "audioReferenceUrl":"https://example.com/voice-sample.wav"
  }'
curl -sS -X POST "https://syntet.ru/api/modelAiAudio/external/status" \
  -H "Content-Type: application/json" \
  -d '{"auth_key":"YOUR_API_KEY","id_history":"1"}'

curl -sS -X POST "https://syntet.ru/api/modelAiAudio/external/files" \
  -H "Content-Type: application/json" \
  -d '{"auth_key":"YOUR_API_KEY","id_history":"1"}'

6. Полный опрос статуса (Bash)

Переключатель API_KIND: image · video · audio. После выхода из цикла вызовите нужный /external/files.

AUTH="YOUR_API_KEY"
HISTORY_ID="1"
API_KIND="video"

sleep 45

while true; do
  case "$API_KIND" in
    image)
      BODY=$(printf '{"auth_key":"%s","id_history":"%s"}' "$AUTH" "$HISTORY_ID")
      STATUS_URL="https://syntet.ru/api/imageAiModel/external/status"
      ;;
    video)
      BODY=$(printf '{"auth_key":"%s","id_history":"%s"}' "$AUTH" "$HISTORY_ID")
      STATUS_URL="https://syntet.ru/api/modelAiVideo/external/status"
      ;;
    audio)
      BODY=$(printf '{"auth_key":"%s","id_history":"%s"}' "$AUTH" "$HISTORY_ID")
      STATUS_URL="https://syntet.ru/api/modelAiAudio/external/status"
      ;;
  esac
  RESP=$(curl -sS -X POST "$STATUS_URL" -H "Content-Type: application/json" -d "$BODY")
  echo "$RESP"
  echo "$RESP" | grep -q 'SUCCESS' && break
  echo "$RESP" | grep -qi 'ERR\|FAILED\|ERROR' && exit 1
  sleep 5
done

7. Модели изображений

Общая схема тела: auth_key, id_model, prompt, aspectRatio, quality, amount: 1, referenceUrls (длина по таблице), enhancedPrompt. У Ultra Upscale добавляется scaleFactor (x1/x2/x4), prompt может быть пустой строкой.

Модельid_modelРеференсыЗамечания
Qwen 251113aspectRatio: 1:1, 16:9, 9:16, 5:4, 4:5 · quality 1k
Nano Banana Pro210quality 1k | 2k
Z-Image Turbo30referenceUrls []
Flux Klein45aspectRatio 1:1, 16:9, 9:16
Nano Banana 2510quality 2k, 1k, 4k
Ультра апскейл81scaleFactor · prompt допускается пустым
GPT Image 2150quality как в ЛК
GPT Image 2 Edit1610

8. Модели видео (сводная таблица)

У большинства моделей общий набор полей: prompt, при необходимости aspectRatio, resolution, videoLength, referenceUrls, флаги generateAudio, multiShot, enhancedPrompt, fixedLens, keepOriginalSound; при необходимости negativePrompt, shotPrompt1…, referenceVideo, referenceVideoDurationSec, audioReferenceUrl, presetId.

МодельidРеф. картинокПримечание
Wan 2.1 Lip Sync11resolution 720p, videoLength 5s/10s
LTX2.322длинный ряд videoLength
Kling V3.0 Std T2V30negativePrompt, shotPrompt…
Kling V3.0 Std I2V42
Kling V3.0 Pro T2V50
Kling V3.0 Pro I2V62
Kling Video O3 Std T2V70
Kling Video O3 Std I2V82
Kling Video O3 Pro T2V90
Kling Video O3 Pro I2V102
Kling Omni O3 Video-Edit111 + videoreferenceVideo, referenceVideoDurationSec
Kling O3 Pro Video-Edit124 + video
Kling O3 Std Ref-Video134 + video
Kling O3 Pro Ref-Video144 + video
Kling V3.0 Std Motion Ctrl151 + video
Kling V3.0 Pro Motion Ctrl161 + video
Sora 2 Pro T2V170videoLength 15s
Sora 2 Pro I2V180
Kling 2.6 Pro Motion Ctrl191 + video
Kling 2.6 Std Motion Ctrl201 + video
Grok Imagine T2V210resolution 480p/720p
Grok Imagine I2V227
Grok Imagine Edit230 + video
Veo3.1 Fast T2V240
Veo3.1 Pro T2V250
Veo3.1 Fast I2V263
Veo3.1 Fast End-Last Frame272первый/последний кадр
Veo3.1 Pro End-Last Frame282
Seedance v1.5 Pro Fast T2V290fixedLens часто true
Seedance v1.5 Pro T2V300
Seedance v1.5 Pro Fast I2V312
Seedance v1.5 Pro I2V322
LTX 2.3 I2V331
LTX 2.3 I2V Lip Sync341 + audioaudioReferenceUrl
Seedance 2 Fast I2V352
Seedance 2 Multi I2V368 + опц. видео/аудио
Happyhorse 1.0 I2V371
Happyhorse 1.0 R2V389
Happyhorse 1.0 Video Edit395 + video

9. Модели аудио

Выберите модель, раскройте блок и скопируйте готовый JSON или curl. API-ключ замените на значение из личного кабинета.

Модельid_modelКлючевые поля
MiniMax Voice Clone1model, languageBoost, voiceId, speed, audioReferenceUrl, pronunciationDict
MiniMax Music 2.52lirycs (текст/лирика), pronunciationDict
MiniMax Speech Turbo 2.83pronunciationDict
MiniMax Speech HD 2.84emotion, speed, volume, pitch, pronunciationDict, base64Output, englishNormalization
Qwen3 TTS Clone Voice5audioReferenceUrl, pronunciationDict
Cosy Voice 36audioReferenceUrl, pronunciationDict
Ace Step 1.5 Music7lirycs, pronunciationDict
Пример JSON: MiniMax Voice Clone (id_model 1)
{
  "auth_key": "YOUR_API_KEY",
  "id_model": 1,
  "prompt": "Спокойный голос за кадром, дружелюбный тон",
  "model": "speech-02-turbo",
  "languageBoost": "Russian",
  "voiceId": "maximus007",
  "pronunciationDict": [],
  "speed": 1,
  "audioReferenceUrl": "https://example.com/voice-sample.wav"
}

10. Правила полей

  • referenceUrls — длина должна совпадать с требованиями модели; допускается [], где указано «0 референсов».
  • id_model задаётся отдельно для графики, видео и аудио (одинаковый номер в разных таблицах — разные домены).
  • Опционально presetId, если используете пресеты из кабинета.
  • В музыкальных моделях текст песни может передаваться полем lirycs — при ошибке валидации сверьтесь с ответом API.
  • Допустимые значения aspectRatio, videoLength и качества уточняйте по интерфейсу генерации на syntet.ru — они обновляются вместе с моделями.

11. Безопасность

  • Не раскрывайте auth_key во фронтенде и публичных репозиториях — вызывайте API с сервера.
  • Ссылки в referenceUrls, audioReferenceUrl, referenceVideo должны быть доступны по HTTPS для загрузки бэкендом Syntet.

Страница самодостаточна для публикации на сайте при подключении model-showcase.css из каталога howto или по абсолютному URL вашей вёрстки.

API-ключ храните на сервере и не публикуйте во фронтенде.