curl --request POST \
--url https://api.evolink.ai/v1/videos/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"model": "minimax-h3-max-text-to-video",
"prompt": "장대한 스페이스 오페라 영화 예고편. 여성 함장이 거대한 전망창 앞에 홀로 서 있고 창밖에는 마지막 함대가 집결한다. 함대가 눈부신 섬광과 함께 도약하며 함교가 크게 흔들리고, 빛이 사라지자 그녀만 고요한 심우주에 남는다. 영화 같은 조명, 느린 돌리 인, 웅장하면서 절제된 분위기.",
"duration": 5,
"quality": "768p",
"aspect_ratio": "16:9"
}
'import requests
url = "https://api.evolink.ai/v1/videos/generations"
payload = {
"model": "minimax-h3-max-text-to-video",
"prompt": "장대한 스페이스 오페라 영화 예고편. 여성 함장이 거대한 전망창 앞에 홀로 서 있고 창밖에는 마지막 함대가 집결한다. 함대가 눈부신 섬광과 함께 도약하며 함교가 크게 흔들리고, 빛이 사라지자 그녀만 고요한 심우주에 남는다. 영화 같은 조명, 느린 돌리 인, 웅장하면서 절제된 분위기.",
"duration": 5,
"quality": "768p",
"aspect_ratio": "16:9"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
model: 'minimax-h3-max-text-to-video',
prompt: '장대한 스페이스 오페라 영화 예고편. 여성 함장이 거대한 전망창 앞에 홀로 서 있고 창밖에는 마지막 함대가 집결한다. 함대가 눈부신 섬광과 함께 도약하며 함교가 크게 흔들리고, 빛이 사라지자 그녀만 고요한 심우주에 남는다. 영화 같은 조명, 느린 돌리 인, 웅장하면서 절제된 분위기.',
duration: 5,
quality: '768p',
aspect_ratio: '16:9'
})
};
fetch('https://api.evolink.ai/v1/videos/generations', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.evolink.ai/v1/videos/generations",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'model' => 'minimax-h3-max-text-to-video',
'prompt' => '장대한 스페이스 오페라 영화 예고편. 여성 함장이 거대한 전망창 앞에 홀로 서 있고 창밖에는 마지막 함대가 집결한다. 함대가 눈부신 섬광과 함께 도약하며 함교가 크게 흔들리고, 빛이 사라지자 그녀만 고요한 심우주에 남는다. 영화 같은 조명, 느린 돌리 인, 웅장하면서 절제된 분위기.',
'duration' => 5,
'quality' => '768p',
'aspect_ratio' => '16:9'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.evolink.ai/v1/videos/generations"
payload := strings.NewReader("{\n \"model\": \"minimax-h3-max-text-to-video\",\n \"prompt\": \"장대한 스페이스 오페라 영화 예고편. 여성 함장이 거대한 전망창 앞에 홀로 서 있고 창밖에는 마지막 함대가 집결한다. 함대가 눈부신 섬광과 함께 도약하며 함교가 크게 흔들리고, 빛이 사라지자 그녀만 고요한 심우주에 남는다. 영화 같은 조명, 느린 돌리 인, 웅장하면서 절제된 분위기.\",\n \"duration\": 5,\n \"quality\": \"768p\",\n \"aspect_ratio\": \"16:9\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.evolink.ai/v1/videos/generations")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"model\": \"minimax-h3-max-text-to-video\",\n \"prompt\": \"장대한 스페이스 오페라 영화 예고편. 여성 함장이 거대한 전망창 앞에 홀로 서 있고 창밖에는 마지막 함대가 집결한다. 함대가 눈부신 섬광과 함께 도약하며 함교가 크게 흔들리고, 빛이 사라지자 그녀만 고요한 심우주에 남는다. 영화 같은 조명, 느린 돌리 인, 웅장하면서 절제된 분위기.\",\n \"duration\": 5,\n \"quality\": \"768p\",\n \"aspect_ratio\": \"16:9\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.evolink.ai/v1/videos/generations")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"model\": \"minimax-h3-max-text-to-video\",\n \"prompt\": \"장대한 스페이스 오페라 영화 예고편. 여성 함장이 거대한 전망창 앞에 홀로 서 있고 창밖에는 마지막 함대가 집결한다. 함대가 눈부신 섬광과 함께 도약하며 함교가 크게 흔들리고, 빛이 사라지자 그녀만 고요한 심우주에 남는다. 영화 같은 조명, 느린 돌리 인, 웅장하면서 절제된 분위기.\",\n \"duration\": 5,\n \"quality\": \"768p\",\n \"aspect_ratio\": \"16:9\"\n}"
response = http.request(request)
puts response.read_body{
"created": 1761313744,
"id": "task-unified-1774857405-abc123",
"model": "minimax-h3-max-text-to-video",
"object": "video.generation.task",
"progress": 0,
"status": "pending",
"task_info": {
"can_cancel": false,
"estimated_time": 165,
"video_duration": 5
},
"type": "video",
"usage": {
"billing_rule": "per_second",
"credits_reserved": 44.2,
"user_group": "default"
}
}{
"error": {
"code": "invalid_request",
"message": "Invalid request parameters",
"type": "invalid_request_error"
}
}{
"error": {
"code": "unauthorized",
"message": "Invalid or expired token",
"type": "authentication_error"
}
}{
"error": {
"code": "insufficient_quota",
"message": "Insufficient quota. Please top up your account.",
"type": "insufficient_quota"
}
}{
"error": {
"code": "model_access_denied",
"message": "Token does not have access to model: minimax-h3-max-text-to-video",
"type": "invalid_request_error"
}
}{
"error": {
"code": "rate_limit_exceeded",
"message": "Too many requests, please try again later",
"type": "rate_limit_error"
}
}{
"error": {
"code": "internal_error",
"message": "Internal server error",
"type": "api_error"
}
}Minimax H3 Max Text-to-Video 텍스트-비디오
- 비어 있지 않은 텍스트 프롬프트로 영상 생성
- 출력 길이
5–15초, 해상도는480p와768p(기본값) 지원 - 이미지, 비디오, 오디오 입력 미지원
- 비동기 처리이며 반환된 작업 ID로 상태 조회
- 생성 URL은 24시간 동안 유효합니다
curl --request POST \
--url https://api.evolink.ai/v1/videos/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"model": "minimax-h3-max-text-to-video",
"prompt": "장대한 스페이스 오페라 영화 예고편. 여성 함장이 거대한 전망창 앞에 홀로 서 있고 창밖에는 마지막 함대가 집결한다. 함대가 눈부신 섬광과 함께 도약하며 함교가 크게 흔들리고, 빛이 사라지자 그녀만 고요한 심우주에 남는다. 영화 같은 조명, 느린 돌리 인, 웅장하면서 절제된 분위기.",
"duration": 5,
"quality": "768p",
"aspect_ratio": "16:9"
}
'import requests
url = "https://api.evolink.ai/v1/videos/generations"
payload = {
"model": "minimax-h3-max-text-to-video",
"prompt": "장대한 스페이스 오페라 영화 예고편. 여성 함장이 거대한 전망창 앞에 홀로 서 있고 창밖에는 마지막 함대가 집결한다. 함대가 눈부신 섬광과 함께 도약하며 함교가 크게 흔들리고, 빛이 사라지자 그녀만 고요한 심우주에 남는다. 영화 같은 조명, 느린 돌리 인, 웅장하면서 절제된 분위기.",
"duration": 5,
"quality": "768p",
"aspect_ratio": "16:9"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
model: 'minimax-h3-max-text-to-video',
prompt: '장대한 스페이스 오페라 영화 예고편. 여성 함장이 거대한 전망창 앞에 홀로 서 있고 창밖에는 마지막 함대가 집결한다. 함대가 눈부신 섬광과 함께 도약하며 함교가 크게 흔들리고, 빛이 사라지자 그녀만 고요한 심우주에 남는다. 영화 같은 조명, 느린 돌리 인, 웅장하면서 절제된 분위기.',
duration: 5,
quality: '768p',
aspect_ratio: '16:9'
})
};
fetch('https://api.evolink.ai/v1/videos/generations', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.evolink.ai/v1/videos/generations",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'model' => 'minimax-h3-max-text-to-video',
'prompt' => '장대한 스페이스 오페라 영화 예고편. 여성 함장이 거대한 전망창 앞에 홀로 서 있고 창밖에는 마지막 함대가 집결한다. 함대가 눈부신 섬광과 함께 도약하며 함교가 크게 흔들리고, 빛이 사라지자 그녀만 고요한 심우주에 남는다. 영화 같은 조명, 느린 돌리 인, 웅장하면서 절제된 분위기.',
'duration' => 5,
'quality' => '768p',
'aspect_ratio' => '16:9'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.evolink.ai/v1/videos/generations"
payload := strings.NewReader("{\n \"model\": \"minimax-h3-max-text-to-video\",\n \"prompt\": \"장대한 스페이스 오페라 영화 예고편. 여성 함장이 거대한 전망창 앞에 홀로 서 있고 창밖에는 마지막 함대가 집결한다. 함대가 눈부신 섬광과 함께 도약하며 함교가 크게 흔들리고, 빛이 사라지자 그녀만 고요한 심우주에 남는다. 영화 같은 조명, 느린 돌리 인, 웅장하면서 절제된 분위기.\",\n \"duration\": 5,\n \"quality\": \"768p\",\n \"aspect_ratio\": \"16:9\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.evolink.ai/v1/videos/generations")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"model\": \"minimax-h3-max-text-to-video\",\n \"prompt\": \"장대한 스페이스 오페라 영화 예고편. 여성 함장이 거대한 전망창 앞에 홀로 서 있고 창밖에는 마지막 함대가 집결한다. 함대가 눈부신 섬광과 함께 도약하며 함교가 크게 흔들리고, 빛이 사라지자 그녀만 고요한 심우주에 남는다. 영화 같은 조명, 느린 돌리 인, 웅장하면서 절제된 분위기.\",\n \"duration\": 5,\n \"quality\": \"768p\",\n \"aspect_ratio\": \"16:9\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.evolink.ai/v1/videos/generations")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"model\": \"minimax-h3-max-text-to-video\",\n \"prompt\": \"장대한 스페이스 오페라 영화 예고편. 여성 함장이 거대한 전망창 앞에 홀로 서 있고 창밖에는 마지막 함대가 집결한다. 함대가 눈부신 섬광과 함께 도약하며 함교가 크게 흔들리고, 빛이 사라지자 그녀만 고요한 심우주에 남는다. 영화 같은 조명, 느린 돌리 인, 웅장하면서 절제된 분위기.\",\n \"duration\": 5,\n \"quality\": \"768p\",\n \"aspect_ratio\": \"16:9\"\n}"
response = http.request(request)
puts response.read_body{
"created": 1761313744,
"id": "task-unified-1774857405-abc123",
"model": "minimax-h3-max-text-to-video",
"object": "video.generation.task",
"progress": 0,
"status": "pending",
"task_info": {
"can_cancel": false,
"estimated_time": 165,
"video_duration": 5
},
"type": "video",
"usage": {
"billing_rule": "per_second",
"credits_reserved": 44.2,
"user_group": "default"
}
}{
"error": {
"code": "invalid_request",
"message": "Invalid request parameters",
"type": "invalid_request_error"
}
}{
"error": {
"code": "unauthorized",
"message": "Invalid or expired token",
"type": "authentication_error"
}
}{
"error": {
"code": "insufficient_quota",
"message": "Insufficient quota. Please top up your account.",
"type": "insufficient_quota"
}
}{
"error": {
"code": "model_access_denied",
"message": "Token does not have access to model: minimax-h3-max-text-to-video",
"type": "invalid_request_error"
}
}{
"error": {
"code": "rate_limit_exceeded",
"message": "Too many requests, please try again later",
"type": "rate_limit_error"
}
}{
"error": {
"code": "internal_error",
"message": "Internal server error",
"type": "api_error"
}
}인증
##모든 API는 Bearer Token 인증이 필요합니다##
API Key 얻기:
API Key 관리 페이지에서 API Key를 받으세요
요청 헤더에 다음을 추가하세요:
Authorization: Bearer YOUR_API_KEY
본문
비디오 생성 모델 이름
minimax-h3-max-text-to-video "minimax-h3-max-text-to-video"
생성하려는 동영상의 내용을 설명합니다.
프롬프트 요구 사항:
- 필수이며 비워 둘 수 없습니다
- 중국어와 영어를 지원합니다
- 최대
7000자입니다(중국어와 영어 모두 문자 수로 계산) - 프롬프트가 너무 길면 일부 세부 사항이 무시될 수 있습니다
입력 제한:
- 이 모델은 텍스트로만 동영상을 생성하며 텍스트 입력만 허용합니다
image_start,image_end,image_urls,video_urls,audio_urls는 지원하지 않습니다- 이러한 미디어 필드를 전달하면 매개변수 오류가 반환됩니다
1 - 7000"장대한 스페이스 오페라 영화 예고편. 여성 함장이 거대한 전망창 앞에 홀로 서 있고 창밖에는 마지막 함대가 집결한다. 함대가 눈부신 섬광과 함께 도약하며 함교가 크게 흔들리고, 빛이 사라지자 그녀만 고요한 심우주에 남는다. 영화 같은 조명, 느린 돌리 인, 웅장하면서 절제된 분위기."
출력 동영상 길이(초)입니다. 기본값은 5초입니다.
값 제한:
5부터15까지의 정수만 지원하며 양쪽 경곗값을 포함합니다- 소수, 숫자 문자열,
auto,-1은 지원하지 않습니다 - 출력 길이는 요금에 직접 영향을 줍니다
5 <= x <= 155
출력 동영상 해상도입니다. 기본값은 768p입니다.
사용 가능한 값:
480p768p: 기본값
참고:
- 이 매개변수를 전달하지 않으면
768p로 출력됩니다 - 출력 비트레이트, 프레임률, 동영상 코덱, 오디오 코덱은 플랫폼에서 결정하며 요청으로 설정할 수 없습니다
480p, 768p "768p"
출력 동영상 화면 비율입니다. 기본값은 16:9입니다.
사용 가능한 값:
16:9: 가로형21:9: 울트라와이드4:3: 표준 가로형1:1: 정사각형3:4: 표준 세로형9:16: 세로형
16:9, 21:9, 4:3, 1:1, 3:4, 9:16 "16:9"
작업 완료 후 HTTPS 콜백 주소
콜백 시점:
- 작업 완료(completed) 또는 실패(failed) 시 트리거
- 과금 확인 완료 후 전송
보안 제한:
- HTTPS 프로토콜만 지원
- 내부 네트워크 IP 주소로의 콜백 금지(127.0.0.1, 10.x.x.x, 172.16-31.x.x, 192.168.x.x 등)
- URL 길이는
2048자를 초과할 수 없습니다
콜백 메커니즘:
- 타임아웃:
10초 - 실패 시 최대
3회 재시도(실패 후 각각1/2/4초 후 재시도) - 콜백 응답 본문 형식은 작업 조회 API 반환 형식과 동일
- 2xx 상태 코드를 성공으로 간주하며, 다른 상태 코드는 재시도를 트리거합니다
^https://"https://your-domain.com/webhooks/video-task-completed"
응답
비디오 생성 작업이 성공적으로 생성되었습니다
작업 생성 타임스탬프
1761313744
작업 ID
"task-unified-1774857405-abc123"
실제 사용된 모델 이름
"minimax-h3-max-text-to-video"
작업의 구체적 유형
video.generation.task 작업 진행률 (0-100)
0 <= x <= 1000
작업 상태
pending, processing, completed, failed "pending"
비디오 작업 상세 정보
Show child attributes
Show child attributes
작업의 출력 유형
text, image, audio, video "video"
사용량 및 과금 정보
Show child attributes
Show child attributes