Endpoints
Method Endpoint Description POST /api/v1/generateTask/veo-3-1Создание задачи генерации GET /api/v1/statusTask/veo-3-1Запрос статуса задачи
Authentication
Все запросы требуют API Key в заголовке:
Authorization: Bearer YOUR_API_KEY
Request Body
{
"request_type" : "async" ,
"callback_url" : "https://..." ,
"provider" : "auto" ,
"input" : {
"mode" : "quality" ,
"prompt" : "..." ,
"generationType" : "TEXT_2_VIDEO" ,
"aspect_ratio" : "16:9" ,
"image_urls" : [ "..." ],
"watermark" : "" ,
"seed" : 1234
}
}
Parameters
request_type
string
по умолчанию: "async"
async (polling) или callback (webhook)
Callback URL, обязателен при request_type=callback (условно)
provider
string
по умолчанию: "auto"
Стратегия маршрутизации: auto, value или official
Параметры входа модели mode
string
по умолчанию: "quality"
обязательно
quality (high quality) or fast (fast generation)
Text description, 1-10000 characters
generationType
string
по умолчанию: "TEXT_2_VIDEO"
обязательно
Generation type (see options below)
aspect_ratio
string
по умолчанию: "auto"
9:16, 16:9, or auto (REFERENCE_2_VIDEO only supports 16:9)
Required for FIRST_AND_LAST_FRAMES_2_VIDEO and REFERENCE_2_VIDEO (conditional)
Random seed for reproducibility
Generation Types:
TEXT_2_VIDEO — Pure text-to-video
FIRST_AND_LAST_FRAMES_2_VIDEO — First/last frame to video, requires image_urls (max 2)
REFERENCE_2_VIDEO — Reference image to video, requires fast mode, image_urls (max 3), aspect_ratio must be 16:9
Mode Options:
quality — High quality mode
fast — Fast generation mode
Example
Text-to-Video (TEXT_2_VIDEO)
curl -X POST "https://api.apixo.ai/api/v1/generateTask/veo-3-1" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"request_type": "async",
"input": {
"mode": "quality",
"prompt": "a cinematic flyover of a futuristic city at sunrise",
"generationType": "TEXT_2_VIDEO",
"aspect_ratio": "16:9"
}
}'
First/Last Frame to Video (FIRST_AND_LAST_FRAMES_2_VIDEO)
curl -X POST "https://api.apixo.ai/api/v1/generateTask/veo-3-1" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"request_type": "callback",
"callback_url": "https://your-server.com/callback",
"input": {
"mode": "quality",
"prompt": "a calm ocean turning into a storm",
"generationType": "FIRST_AND_LAST_FRAMES_2_VIDEO",
"image_urls": [
"https://example.com/frame_start.jpg",
"https://example.com/frame_end.jpg"
],
"aspect_ratio": "9:16"
}
}'
Reference Image to Video (REFERENCE_2_VIDEO)
curl -X POST "https://api.apixo.ai/api/v1/generateTask/veo-3-1" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"request_type": "async",
"input": {
"mode": "fast",
"prompt": "turn this sequence into a dynamic action shot",
"generationType": "REFERENCE_2_VIDEO",
"image_urls": [
"https://example.com/ref1.jpg",
"https://example.com/ref2.jpg"
],
"aspect_ratio": "16:9"
}
}'
Response
POST /api/v1/generateTask/veo-3-1
При успехе возвращает taskId для последующих запросов статуса.
Success:
{
"code" : 200 ,
"message" : "success" ,
"data" : {
"taskId" : "task_12345678"
}
}
Error:
{
"code" : 400 ,
"message" : "Insufficient credits" ,
"data" : null
}
GET /api/v1/statusTask/veo-3-1
Запрос статуса выполнения задачи и результатов по taskId.
curl -X GET "https://api.apixo.ai/api/v1/statusTask/veo-3-1?taskId=task_12345678" \
-H "Authorization: Bearer YOUR_API_KEY"
Success:
{
"code" : 200 ,
"message" : "success" ,
"data" : {
"taskId" : "task_12345678" ,
"state" : "success" ,
"resultJson" : "{ \" resultUrls \" :[ \" https://r2.apixo.ai/video.mp4 \" ]}" ,
"createTime" : 1767965610929 ,
"completeTime" : 1767965730929 ,
"costTime" : 120000
}
}
Failed:
{
"code" : 200 ,
"message" : "success" ,
"data" : {
"taskId" : "task_12345678" ,
"state" : "failed" ,
"failCode" : "CONTENT_VIOLATION" ,
"failMsg" : "Content does not meet safety guidelines"
}
}
Status Response Fields
Уникальный идентификатор задачи.
Текущее состояние задачи: pending, processing, success или failed.
JSON-строка с массивом resultUrls. Присутствует только при success. Парсите через JSON.parse().
Код ошибки. Присутствует только при state=failed. См. Error Codes .
Читаемое сообщение об ошибке. Присутствует только при state=failed.
Timestamp создания задачи (Unix миллисекунды).
Timestamp завершения задачи (Unix миллисекунды).
Длительность обработки в миллисекундах.
Error Codes
Code Description 400 Неверные параметры или ошибка запроса 401 Недействительный или отсутствующий API Key 429 Превышен лимит запросов
Fail Code Description CONTENT_VIOLATIONКонтент нарушает правила безопасности INVALID_IMAGE_URLНе удаётся получить доступ к URL изображения
Rate Limits
Limit Value Requests 10000 / minute Concurrent tasks 1000
При превышении возвращается ошибка 429. Подождите и повторите.
Tips
Generation time : Average ~2 minutes. Submit task, wait 90 seconds, then poll every 5 seconds.
Callback mode : Video generation takes time, strongly recommend using callback mode.
Video expiration : Result URLs are valid for 15 days. Download promptly.
Content moderation : Prompts must comply with content safety guidelines.
REFERENCE_2_VIDEO constraints : This type only supports fast mode and aspect_ratio must be 16:9.
Image formats : image_urls supports JPG, PNG, WebP, max 10MB per image.
Video generation takes longer than images — use callback mode for production workloads. Result URLs expire after 15 days; download important outputs promptly.