Grok 텍스트 비디오 API 사용법 완벽 가이드

Ashley Innocent

Ashley Innocent

3 April 2026

Grok 텍스트 비디오 API 사용법 완벽 가이드

요약

Grok 텍스트-투-비디오 API는 텍스트 프롬프트로 비디오를 생성합니다. `POST /v1/videos/generations`를 호출하면 즉시 `request_id`를 받고, 상태가 `"done"`이 될 때까지 `GET /v1/videos/{request_id}`를 폴링합니다. 모델은 `grok-imagine-video`이며, 480p에서 초당 $0.05부터 요금이 부과됩니다. xAI Python SDK는 폴링을 자동으로 처리합니다.

소개

xAI는 2026년 1월에만 12억 개의 비디오를 생성했습니다. 이는 2026년 1월 28일 Grok 텍스트-투-비디오 API 출시 이후 첫 달이었습니다. 이 모델은 같은 달 Artificial Analysis 텍스트-투-비디오 리더보드에서도 1위를 차지했습니다. 이러한 수치는 인프라가 대규모로 검증되었음을 보여주기 때문에 중요합니다.

이 가이드는 첫 요청 생성, 결과 폴링, 매개변수 조정, 더 나은 프롬프트 작성 등 모든 단계를 안내합니다. 또한 참조 이미지 사용 방법, 기존 비디오 확장 또는 편집 방법, 그리고 텍스트-투-비디오가 적절한 선택인 경우를 이해하게 될 것입니다.

💡
API는 비동기식입니다. 이는 프론트엔드가 비디오가 준비될 때까지 기다릴 수 없다는 의미입니다. 비디오 생성 UI를 구축하는 경우, 모든 테스트 실행에서 크레딧을 소모하지 않고 폴링 흐름에 대해 개발할 수 있는 방법이 필요합니다. Apidog의 Smart Mock을 사용하면 생성 엔드포인트와 폴링 엔드포인트를 모두 모의할 수 있습니다. 백엔드가 아직 개발 중인 동안에도 팀은 비디오 플레이어 UI를 구축할 수 있습니다. 이 가이드의 뒷부분에 나오는 테스트 섹션을 따라 하려면 Apidog를 무료로 다운로드하세요.
button

Grok 텍스트-투-비디오 API란 무엇인가요?

Grok 텍스트-투-비디오 API는 `https://api.x.ai`에 있는 xAI의 미디어 생성 제품군의 일부입니다. 텍스트 프롬프트를 보내면 `grok-imagine-video` 모델이 처음부터 짧은 비디오 클립을 생성합니다. 원본 이미지는 필요하지 않습니다.

이 API는 동기식 이미지 생성 엔드포인트(`POST /v1/images/generations`, 모델 `grok-imagine-image`, 이미지당 $0.02)와 함께 제공됩니다. 또한 비디오를 확장하거나 편집하기 위한 엔드포인트도 포함합니다.

텍스트-투-비디오 엔드포인트는 이미지-투-비디오 엔드포인트와 근본적인 방식으로 다릅니다. 즉, 단어만 제공합니다. 모델은 사용자의 설명에 전적으로 의존하여 장면, 움직임 및 시각적 스타일을 만듭니다. 원본 이미지가 있고 모델이 이를 애니메이션화하기를 원한다면 Grok 이미지-투-비디오 API 가이드를 참조하세요.

텍스트-투-비디오 생성 작동 방식 (비동기 패턴 간단 설명)

대부분의 API 호출은 동기식입니다. 요청을 보내고 잠시 기다리면 응답을 받습니다. 비디오 생성은 몇 초에서 몇 분이 걸리므로 API는 대신 비동기 패턴을 사용합니다.

흐름은 다음과 같습니다:

  1. 프롬프트와 함께 POST 요청을 보냅니다.
  2. API는 즉시 (`1초 이내에`) `request_id`를 반환합니다.
  3. 비디오는 xAI 서버에서 생성 중입니다.
  4. 해당 `request_id`로 GET 엔드포인트를 반복적으로 폴링합니다.
  5. 상태가 `"processing"`에서 `"done"`으로 변경되면 응답에 비디오 URL이 포함됩니다.

이 패턴은 AI 미디어 API에서 흔합니다. 이는 HTTP 연결을 짧게 유지하고 원하는 속도로 진행 상황을 확인할 수 있도록 합니다. 어려운 점은 프론트엔드가 비디오 URL이 도착할 때까지 로딩 표시기를 보여주는 중간 상태를 처리해야 한다는 것입니다.

사전 준비 사항

코드를 작성하기 전에 두 가지가 필요합니다:

xAI 계정. console.x.ai에서 계정을 생성하세요. API 키가 생성 액세스 권한을 가지기 전에 결제 정보도 추가해야 합니다.

API 키. xAI 콘솔에서 API 키로 이동하여 새 키를 생성하세요. 안전한 곳에 복사해 두세요. 모든 요청 헤더에 Bearer 토큰으로 전달하게 됩니다.

API 키 생성을 보여주는 xAI 콘솔 스크린샷

하드코딩하지 않도록 환경 변수로 설정하세요:

export XAI_API_KEY="your_api_key_here"

선택적으로, 가장 간단한 통합을 위해 xAI Python SDK를 설치하세요:

pip install xai-sdk

첫 텍스트-투-비디오 요청

엔드포인트는 `POST https://api.x.ai/v1/videos/generations`입니다. 유일하게 필수 필드는 `model`과 `prompt`입니다.

curl 사용하기

curl -X POST https://api.x.ai/v1/videos/generations \
  -H "Authorization: Bearer $XAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "grok-imagine-video",
    "prompt": "A golden retriever running through autumn leaves in slow motion, cinematic lighting"
  }'

응답은 즉시 돌아옵니다:

{
  "request_id": "d97415a1-5796-b7ec-379f-4e6819e08fdf"
}

해당 UUID는 비디오가 준비되면 검색할 수 있는 티켓입니다.

requests 라이브러리를 사용하여 Python으로

import requests
import os

API_KEY = os.environ["XAI_API_KEY"]
BASE_URL = "https://api.x.ai"

headers = {
    "Authorization": f"Bearer {API_KEY}",
    "Content-Type": "application/json"
}

payload = {
    "model": "grok-imagine-video",
    "prompt": "A golden retriever running through autumn leaves in slow motion, cinematic lighting"
}

response = requests.post(
    f"{BASE_URL}/v1/videos/generations",
    headers=headers,
    json=payload
)

data = response.json()
request_id = data["request_id"]
print(f"Generation started. Request ID: {request_id}")

비디오 결과를 위한 폴링

`request_id`를 얻으면 상태 필드가 `"done"`과 같아질 때까지 `GET /v1/videos/{request_id}`를 폴링합니다.

상태 필드에는 세 가지 가능한 값이 있습니다: - `"processing"`: 여전히 생성 중 - `"done"`: 완료됨, 비디오 URL 사용 가능 - `"failed"`: 문제가 발생함

다음은 완전한 Python 폴링 루프입니다:

import requests
import time
import os

API_KEY = os.environ["XAI_API_KEY"]
BASE_URL = "https://api.x.ai"

headers = {
    "Authorization": f"Bearer {API_KEY}"
}

def poll_video(request_id: str, interval: int = 5, max_attempts: int = 60) -> dict:
    """비디오 생성이 완료될 때까지 폴링합니다."""
    url = f"{BASE_URL}/v1/videos/{request_id}"

    for attempt in range(max_attempts):
        response = requests.get(url, headers=headers)
        data = response.json()

        status = data.get("status")
        progress = data.get("progress", 0)
        print(f"시도 {attempt + 1}: status={status}, progress={progress}%")

        if status == "done":
            return data
        elif status == "failed":
            raise RuntimeError(f"비디오 생성 실패: {data}")

        time.sleep(interval)

    raise TimeoutError(f"{max_attempts}번의 시도 후에도 비디오가 준비되지 않았습니다.")


# 전체 워크플로: 생성 후 폴링
def generate_video(prompt: str) -> str:
    """비디오를 생성하고 해당 URL을 반환합니다."""
    response = requests.post(
        f"{BASE_URL}/v1/videos/generations",
        headers={**headers, "Content-Type": "application/json"},
        json={"model": "grok-imagine-video", "prompt": prompt}
    )
    request_id = response.json()["request_id"]
    print(f"요청 ID: {request_id}")

    result = poll_video(request_id)
    video_url = result["video"]["url"]
    print(f"비디오 준비 완료: {video_url}")
    return video_url


video_url = generate_video(
    "A timelapse of a city skyline at sunset transitioning to night, aerial view"
)

완료되면 전체 폴링 응답은 다음과 같습니다:

{
  "status": "done",
  "video": {
    "url": "https://vidgen.x.ai/....mp4",
    "duration": 8,
    "respect_moderation": true
  },
  "progress": 100,
  "usage": {
    "cost_in_usd_ticks": 500000000
  }
}

xAI Python SDK 사용하기

수동 폴링을 건너뛰고 싶다면 xAI SDK가 이를 대신 처리해 줍니다. `client.video.generate()` 메서드는 비디오가 준비될 때까지 차단합니다.

from xai_sdk import Client
import os

client = Client(api_key=os.environ["XAI_API_KEY"])

result = client.video.generate(
    model="grok-imagine-video",
    prompt="A golden retriever running through autumn leaves in slow motion",
    duration=8,
    resolution="720p",
    aspect_ratio="16:9"
)

print(f"비디오 URL: {result.video.url}")
print(f"지속 시간: {result.video.duration}초")

SDK는 작동하는 코드를 만드는 가장 빠른 방법입니다. 재시도 로직, 진행 상황 업데이트 또는 사용자 지정 폴링 간격에 대한 더 많은 제어가 필요할 때는 원시 요청 방식을 사용하세요.

비디오 생성을 위한 효과적인 프롬프트 작성하기

프롬프트는 가장 중요한 입력입니다. 상세하고 구조화된 프롬프트는 모호한 프롬프트보다 훨씬 더 나은 결과를 생성합니다.

장면 설명

주제와 배경을 함께 설명하세요. 보이는 것에 대해 구체적으로 언급하세요. "비에 젖은 창문 옆 나무 테이블에 놓인 하얀 세라믹 커피 머그잔"은 "커피 머그잔"보다 더 현실적인 장면을 생성합니다.

움직임

모델에게 무엇이 어떻게 움직이는지 알려주세요. "김이 위로 피어오르면서 카메라가 머그잔 주위를 천천히 돕니다"는 명확한 방향을 가진 움직임을 추가합니다. 명시적인 움직임 신호가 없으면 모델은 최소한의 또는 부자연스러운 움직임을 생성할 수 있습니다.

카메라 스타일

촬영감독에게 줄 만한 카메라 용어를 사용하세요: "클로즈업", "트래킹 샷", "오버헤드 드론 뷰", "핸드헬드", "돌리 줌". 이러한 신호는 생성된 영상으로 확실하게 변환됩니다.

조명 및 분위기

"골든 아워", "흐린 날", "네온 불빛", "스튜디오 3점 조명"은 모두 다른 분위기를 연출합니다. 조명과 분위기를 함께 사용하세요: "안개 낀 아침, 멜랑콜리한 분위기"는 모델에게 색온도 이상의 톤 가이드를 제공합니다.

스타일 참조

염두에 둔 시각적 스타일이 있다면 이름을 지정하세요: "시네마틱", "다큐멘터리", "애니메이션", "스톱모션", "하이퍼랩스". 두 가지 스타일을 결합하면 종종 흥미로운 결과가 나옵니다.

효과적인 프롬프트 구조

주제로 시작하고, 움직임을 추가하고, 카메라를 설명하고, 스타일과 분위기로 마무리합니다. 다음과 같이요:

A lone astronaut floats past the International Space Station,
tether drifting behind them. The camera tracks slowly
alongside, showing Earth below. Cinematic, IMAX quality,
warm sunrise light reflecting off the visor.

해상도, 지속 시간 및 화면 비율 제어

생성 엔드포인트는 출력 치수, 길이 및 품질을 제어할 수 있는 여러 선택적 매개변수를 허용합니다.

지속 시간

"duration": 10

범위: 1초에서 15초. 기본값은 6초입니다. 길이가 긴 비디오는 더 많은 비용이 듭니다. 480p에서 10초 클립은 $0.50입니다.

해상도

"resolution": "720p"

두 가지 옵션: `"480p"` (기본값) 및 `"720p"`. 프로토타이핑 및 테스트에는 480p를 사용하세요. 품질이 중요한 프로덕션 출력에는 720p를 사용하세요.

화면 비율

"aspect_ratio": "9:16"

사용 가능한 비율:

비율 용도
16:9 데스크톱, YouTube, 프레젠테이션 (기본값)
9:16 TikTok, Instagram Reels, 모바일
1:1 Instagram 피드, 소셜 카드
4:3 클래식 비디오, 프레젠테이션
3:4 세로 모바일 콘텐츠
3:2 표준 사진 비율
2:3 세로 사진

모든 매개변수를 포함한 전체 예시

curl -X POST https://api.x.ai/v1/videos/generations \
  -H "Authorization: Bearer $XAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "grok-imagine-video",
    "prompt": "A coastal town at dawn, waves breaking gently on a rocky shore",
    "duration": 10,
    "resolution": "720p",
    "aspect_ratio": "16:9"
  }'

비디오 스타일을 안내하는 참조 이미지 사용하기

`reference_images` 매개변수는 최대 7개의 이미지 URL 배열을 허용합니다. 이 이미지들은 생성된 비디오의 시각적 스타일과 콘텐츠를 안내하지만, 비디오의 주제가 되지는 않습니다.

{
  "model": "grok-imagine-video",
  "prompt": "A coastal town at dawn, waves breaking gently on a rocky shore",
  "reference_images": [
    {"url": "https://example.com/my-style-reference.jpg"},
    {"url": "https://example.com/color-palette-reference.jpg"}
  ]
}

참조 이미지는 일관된 미학을 공유할 때 가장 효과적입니다. 서로 다른 시각적 스타일의 이미지 세 장을 제공하면 모델은 이를 조정하려고 시도하며 결과물이 일관적이지 않을 수 있습니다. 가장 강력한 안내를 위해서는 통일된 모양을 가진 밀접한 이미지 세트를 사용하세요.

참조 이미지는 이미지-투-비디오 엔드포인트와 다릅니다. 참조 이미지를 사용하면 여전히 프롬프트가 장면을 이끌어갑니다. 이미지는 색상 보정, 구성 스타일 및 시각적 질감에 영향을 미칩니다. 이미지-투-비디오의 경우 원본 이미지가 첫 프레임이 됩니다.

생성된 비디오 확장 및 편집

xAI는 이미 생성한 비디오를 다루기 위한 두 가지 추가 엔드포인트를 제공합니다.

비디오 확장

`POST /v1/videos/extensions`는 기존에 생성된 비디오에 더 많은 영상을 추가합니다. 원본 비디오의 `request_id`와 확장을 위한 새 프롬프트를 전달합니다. 이는 단일 호출에서 15초 제한에 도달하지 않고 더 긴 시퀀스를 생성하는 데 유용합니다.

비디오 편집

`POST /v1/videos/edits`는 텍스트 지침에 따라 기존 비디오를 수정합니다. 이미 생성한 클립의 스타일을 변경하거나, 장면을 수정하거나, 효과를 적용할 수 있습니다.

두 엔드포인트 모두 주요 생성 엔드포인트와 동일한 비동기 패턴을 따릅니다. `request_id`를 반환하며, 결과를 위해 `GET /v1/videos/{request_id}`를 폴링합니다.

API 응답에서 비용 확인

완료된 폴링 응답에는 `usage` 객체가 포함됩니다:

"usage": {
  "cost_in_usd_ticks": 500000000
}

단위는 USD 틱입니다. 달러로 변환하려면 10,000,000으로 나눕니다.

cost_in_usd = result["usage"]["cost_in_usd_ticks"] / 10_000_000
print(f"비용: ${cost_in_usd:.4f}")
# 출력: Cost: $0.0500

가격 참조

해상도 초당 가격 10초 클립
480p $0.05 $0.50
720p $0.07 $0.70

`500000000` 틱은 $0.50과 같습니다. 이는 480p의 10초 클립입니다.

완료된 모든 응답에서 `cost_in_usd_ticks`를 기록하여 비용을 추적하세요. 이렇게 하면 xAI 결제 API를 별도로 호출하지 않고도 사용량 대시보드를 구축할 수 있습니다.

Apidog로 Grok 비디오 API 테스트하는 방법

비동기 폴링 패턴은 특정 테스트 문제를 야기합니다. 프론트엔드 코드는 세 가지 상태를 처리해야 합니다: 로딩 (폴링 중), 성공 (비디오 URL 수신), 오류. 실제 API 호출을 통해 이 세 가지 상태를 모두 테스트할 수는 없습니다. 각 호출은 시간과 비용이 들기 때문입니다. 여기서 Apidog의 Smart Mock 기능이 이 문제를 직접 해결합니다.

Apidog Smart Mock 구성 스크린샷

사용 사례 1: 프론트엔드 개발을 위한 Smart Mock

Apidog의 Smart Mock을 사용하면 두 엔드포인트의 스키마를 정의할 수 있으며, Apidog는 즉시 현실적인 가짜 응답을 반환합니다.

생성 엔드포인트 모의하기:

Apidog에서 프로젝트에 `POST /v1/videos/generations` 엔드포인트를 생성하세요. 단일 `request_id` 문자열 필드로 응답 스키마를 정의하세요. Smart Mock은 필드 이름 패턴에 따라 가짜 UUID를 자동으로 반환할 것입니다.

모의 응답:

{
  "request_id": "d97415a1-5796-b7ec-379f-4e6819e08fdf"
}

폴링 엔드포인트 모의하기:

Apidog에서 `GET /v1/videos/{request_id}`를 생성하세요. `status`, `video.url`, `video.duration`, `progress`, `usage.cost_in_usd_ticks`를 포함하는 전체 응답 스키마를 정의하세요. 플레이스홀더 MP4 URL과 함께 `"status": "done"`을 반환하는 사용자 지정 모의 응답을 설정하세요.

모의 폴링 응답:

{
  "status": "done",
  "video": {
    "url": "https://vidgen.x.ai/mock-video-12345.mp4",
    "duration": 8,
    "respect_moderation": true
  },
  "progress": 100,
  "usage": {
    "cost_in_usd_ticks": 400000000
  }
}

프론트엔드 개발자는 이제 이 모의 서버를 기반으로 전체 비디오 플레이어 UI를 구축하고 테스트할 수 있습니다. 로딩 상태, 완료 상태를 확인할 수 있으며, 모의를 수정하여 `"status": "failed"`를 반환함으로써 오류 상태를 트리거할 수 있습니다. 개발 중에 실제 API 크레딧이 소모되지 않습니다.

사용 사례 2: 폴링 루프를 위한 테스트 시나리오

통합이 구축되면 Apidog의 테스트 시나리오를 사용하여 전체 생성-폴링 흐름을 자동으로 검증하세요.

1단계: 생성 요청 추가. 테스트 시나리오의 첫 단계로 `POST /v1/videos/generations`를 추가하세요. 후처리기에, JSONPath 표현식 `$.request_id`를 사용하여 응답 본문에서 `request_id`를 캡처하는 변수 추출을 추가하세요. 이를 `videoRequestId`라는 변수에 저장하세요.

2단계: 폴링 루프 추가. 두 번째 단계로 `GET /v1/videos/{{videoRequestId}}`를 추가하세요. 이를 `response.body.status == "done"`이라는 중단 조건이 있는 For 루프에 래핑하세요. 속도 제한을 초과하는 것을 방지하기 위해 반복 사이에 5초의 대기 처리기를 추가하세요.

3단계: 결과 확인. 루프가 종료된 후, 최종 GET 요청에 Assertion 처리기를 추가하세요. `$.video.url`이 비어 있지 않은지 확인하세요. 이는 전체 주기가 성공적으로 완료되었음을 확인합니다.

이 테스트 시나리오는 비동기 흐름에 대한 반복 가능하고 자동화된 테스트 범위를 제공합니다. 폴링 로직이 변경될 때 회귀를 포착하기 위해 CI에서 실행하세요.

텍스트-투-비디오 vs 이미지-투-비디오: 언제 무엇을 사용해야 할까요?

두 모드 모두 동일한 `grok-imagine-video` 모델을 사용하지만, 용도는 다릅니다.

다음의 경우 텍스트-투-비디오를 선택하세요:- 개념이나 스크립트에서 원본 콘텐츠를 생성할 때 - 모델이 구도에 대한 완전한 창의적 제어권을 갖기를 원할 때 - 사용자가 프롬프트를 입력하는 콘텐츠 생성 도구를 구축할 때 - 시작할 원본 이미지가 없을 때

다음의 경우 이미지-투-비디오를 선택하세요:- 애니메이션화할 제품 사진, 일러스트레이션 또는 브랜드 자산이 있을 때 - 기존 이미지에서 특정 시각적 세부 사항을 유지해야 할 때 - 일련의 관련 이미지에서 일관된 애니메이션을 생성할 때 - 자신의 작품이나 사진을 애니메이션화하고 싶을 때

핵심 차이점: 텍스트-투-비디오는 장면을 처음부터 생성합니다. 이미지-투-비디오는 기존 이미지를 움직이게 만듭니다. 이미지-투-비디오 접근 방식에 대한 자세한 내용은 Grok 이미지-투-비디오 API 가이드를 참조하세요.

두 가지 모드를 모두 제공하는 제품을 구축하는 팀의 경우, 런타임에 입력 유형을 감지할 수 있습니다. 사용자가 이미지를 업로드하면 `POST /v1/images/generations` (이미지-투-비디오)로 라우팅합니다. 프롬프트만 입력하면 `POST /v1/videos/generations`로 라우팅합니다.

일반적인 오류 및 해결 방법

401 권한 없음API 키가 없거나, 만료되었거나, 형식이 올바르지 않습니다. Authorization 헤더가 추가 공백 없이 정확히 `Bearer YOUR_XAI_API_KEY`인지 확인하세요. xAI 콘솔에서 키가 활성 상태인지 확인하세요.

429 너무 많은 요청속도 제한에 도달했습니다. API는 분당 60개 요청, 초당 1개 요청을 허용합니다. 요청 사이에 지연을 추가하세요. 폴링하는 경우, 호출 간격을 최소 5초 이상으로 두세요.

폴링 응답에서 status: "failed"생성이 실패했습니다. 이는 일반적으로 프롬프트가 콘텐츠 검열에 의해 거부되었음을 의미합니다. 검열이 적용된 경우 응답의 `respect_moderation` 필드는 `true`가 됩니다. 프롬프트를 덜 모호하게 만들거나 잠재적으로 민감한 언어를 제거하여 수정하세요.

비디오 URL이 404를 반환생성된 비디오 URL은 일정 시간이 지나면 만료됩니다. URL을 검색한 직후 비디오를 자신의 저장소에 다운로드하세요. URL을 저장하고 며칠 후에 사용 가능하다고 믿지 마세요.

빈 비디오 또는 정지된 비디오모호한 프롬프트나 움직임 신호가 없는 프롬프트는 때때로 최소한의 움직임만 있는 비디오를 생성합니다. 프롬프트에 명시적인 움직임 언어를 추가하세요: 무엇이, 어떤 방향으로, 어떤 속도로 움직이는지 설명하세요.

느린 폴링 시간720p 비디오는 480p보다 생성하는 데 시간이 더 오래 걸립니다. 길이가 길수록 시간도 더 오래 걸립니다. 개발 및 프로토타이핑을 위해서는 ` "resolution": "480p" `와 짧은 지속 시간을 사용하여 반복 주기를 단축하세요.

결론

Grok 텍스트-투-비디오 API는 텍스트에서 비디오로 가는 간단한 경로를 제공합니다. 프롬프트를 보내고, `request_id`를 받고, 완료될 때까지 폴링하고, MP4를 검색합니다. 비동기 패턴은 이해해야 할 핵심 개념입니다. 폴링 루프가 작동하면 나머지 매개변수(지속 시간, 해상도, 화면 비율, 참조 이미지)는 쉽게 조정할 수 있습니다.

프로덕션 빌드의 경우, 완료된 모든 응답에서 `cost_in_usd_ticks`를 읽어 비용 추적을 추가하세요. 개발 중에 Apidog에서 두 엔드포인트를 모두 모의하여 프론트엔드 팀이 실제 생성물을 기다리는 데 지연되지 않도록 하세요. 통합이 발전함에 따라 폴링 로직을 신뢰할 수 있도록 테스트 시나리오를 사용하세요.

Grok 비디오 API용 모의 서버 및 테스트 시나리오를 설정하려면 Apidog를 무료로 다운로드하세요.

button

자주 묻는 질문

텍스트-투-비디오 생성에는 어떤 모델 이름을 사용해야 하나요?`grok-imagine-video`를 사용하세요. 이는 `/v1/videos/generations`에 대한 POST 요청에 필요한 `model` 필드입니다.

비디오 생성에는 얼마나 걸리나요?지속 시간과 해상도에 따라 다릅니다. 짧은 480p 클립은 30초 이내에 완료될 수 있습니다. 더 긴 720p 클립은 몇 분이 걸릴 수 있습니다. 엔드포인트를 계속해서 요청하는 대신 5~10초마다 폴링하세요.

15초보다 긴 비디오를 생성할 수 있나요?단일 요청으로는 불가능합니다. 최대 `duration`은 15초입니다. 더 긴 비디오를 생성하려면 클립을 생성한 다음 `POST /v1/videos/extensions`를 사용하여 더 많은 영상을 추가하세요.

생성된 비디오를 어떻게 다운로드하나요?완료된 폴링 응답의 `result.video.url`에서 URL을 사용하세요. MP4를 즉시 저장소에 다운로드하세요. URL은 임시적이며 만료될 것입니다.

프롬프트가 콘텐츠 검열을 위반하면 어떻게 되나요?작업은 완료되지만 `status`는 `"failed"`가 됩니다. 폴링 응답의 `respect_moderation` 필드는 검열이 적용되었음을 나타냅니다. 프롬프트를 수정하고 다시 시도하세요.

비디오 API에 무료 등급이 있나요?xAI는 생성된 출력의 초당 요금을 부과합니다. 특히 비디오 생성에 대한 무료 등급은 없습니다. 새로운 계정에 대한 현재 크레딧 제공은 console.x.ai를 확인하세요.

`reference_images`는 원본 이미지로 시작하는 것과 어떻게 다른가요?참조 이미지는 텍스트-투-비디오 생성의 시각적 스타일을 안내합니다. 주제가 되지 않으면서도 외관에 영향을 미칩니다. 이미지-투-비디오의 원본 이미지는 비디오의 실제 첫 프레임이 됩니다.

크레딧을 소모하지 않고 폴링 루프를 테스트하는 가장 좋은 방법은 무엇인가요?Apidog의 Smart Mock을 사용하여 생성 및 폴링 엔드포인트를 모두 모의하세요. 스키마를 정의하고, `"processing"` 및 `"done"` 상태에 대한 모의 응답을 설정하면, 실제 API를 건드리지 않고도 폴링 코드가 작동할 것입니다.

Apidog에서 API 설계-첫 번째 연습

API를 더 쉽게 구축하고 사용하는 방법을 발견하세요