apyhub
Back
▣ ARTIFICIAL INTELLIGENCE · SMART GENERATION

Generate Text to Video With LTX Video (RTX 5080)

What it does

This service turns a text prompt or a source photo into a short MP4 video using LTX video generation on a dedicated NVIDIA RTX 5080.

Text to Video — Send a prompt, and you can optionally tune cfg, seed, steps, width, height, length, and negative_prompt to control guidance, reproducibility, frame count, and output size. Use the POST /v1/ltx/generate endpoint to start the job.

Image to Video — Send an image (base64-encoded) and a prompt describing the motion, and optionally tune quality (fast, balanced, or best), resolution (sd or hd), negative_prompt, and seed. Use the POST /v1/ltx/i2v endpoint to animate a photo while keeping the composition of the source image. Use it to animate a product photo, portrait, or scene image into a short cinematic clip.

Both endpoints start a generation task and return a status, message, and task_id. Use the shared GET /v1/tasks/:task_id endpoint to check progress until the job reaches completed or error. When the video is ready, the task status response includes an output_url to the finished MP4.

Use this service when you need short motion clips from a script, product concept, storyboard note, or scene description — or when you want to bring a still image to life. It is a fit for prototyping video ideas, creating demo assets, animating product photos, or generating synthetic motion content without a manual editing workflow.

Because outputs are task-based, you can kick off generation and poll asynchronously while your app continues other work. That makes it easy to slot into content pipelines, creative tools, or internal review systems where you need a generated clip and a reliable completion signal.

Notes: Text-to-video and image-to-video with LTX-Video 13B (distilled) on a dedicated NVIDIA RTX 5080. Text-to-video generates a ~4-second cinematic clip in ~30 seconds; image-to-video generates a ~5-second clip in ~20-40 seconds depending on quality/resolution tier.

▣ ENDPOINT 01 / 03
POST
Generate a short video (LTX, RTX 5080)
https://api.eu.apyhub.com/mastera-ai/ltx-video-rtx-5080/v1/ltx/generate

QUICKSTART

GUIDE

Quickstart

Start a text-to-video generation job with a prompt.

curl -X POST "https://api.eu.apyhub.com/mastera-ai/ltx-video-rtx-5080/v1/ltx/generate" \
  -H 'apy-token: $APY_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{
    "prompt": "Ocean waves at sunset, cinematic, slow camera pan",
    "negative_prompt": "",
    "width": 768,
    "height": 512,
    "length": 97,
    "steps": 8,
    "cfg": 1
  }'

What you'll get back

Returns a JSON object with status (string), message (string), and task_id (string) fields. status indicates the job state, message provides a human-readable note, and task_id is the identifier for the queued generation task.

{
  "task_id": "61442d82a33e",
  "status": "processing",
  "message": "Video generation started. Poll GET /v1/tasks/{task_id} for result."
}
TRY ITLIVE · 7200 ATOMS
Loading your default key…
The full key is used to call the gateway and stays in this tab — never sent to orbit or saved.
body*
The text description of the video to generate.
Guidance scale (1.0 recommended for the distilled model).
Random seed for reproducible generation.
Number of inference steps.

About this endpoint

What it does

Generates a short video from a text prompt and starts the job asynchronously. The request body contains the generation settings, and the response returns a task identifier you can use to track the job.

Request Body

ParameterTypeMandatoryDescription
promptStringYesThe text description of the video to generate.
cfgNumberNoGuidance scale. Default: 1. 1.0 is recommended for the distilled model.
seedIntegerNoRandom seed for reproducible generation. Default: 0.
stepsIntegerNoNumber of inference steps. Default: 8. Minimum: 1. Maximum: 15.
widthIntegerNoOutput video width in pixels. Default: 768. Minimum: 256. Maximum: 1024.
heightIntegerNoOutput video height in pixels. Default: 512. Minimum: 256. Maximum: 1024.
lengthIntegerNoVideo duration in frames at 25 fps. Default: 97. Minimum: 9. Maximum: 161. Snapped to a valid n*8+1 value.
negative_promptStringNoWhat to avoid in the generated video. Default: "".

Response

Returns a JSON object with status, message, and task_id string fields. The task_id field contains the identifier for the asynchronous job.

ParameterTypeMandatoryDescription
statusStringNoJob status.
messageStringNoAdditional message about the request or job.
task_idStringNoThe job identifier to use when checking progress.

Notes

This endpoint kicks off an async job and returns immediately with a job identifier; the actual work runs in the background. Pair this call with the corresponding job_check endpoint — poll that until the status reaches a terminal state to retrieve the result. Extract the job id from task_id.

▣ ENDPOINT 02 / 03
POST
Generate a short video from photo (LTX I2V, RTX 5080)
https://api.eu.apyhub.com/mastera-ai/ltx-video-rtx-5080/v1/ltx/i2v

QUICKSTART

GUIDE

Quickstart

Start an image-to-video generation job with a source photo and a motion prompt.

curl -X POST "https://api.eu.apyhub.com/mastera-ai/ltx-video-rtx-5080/v1/ltx/i2v" \
  -H 'apy-token: $APY_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{
    "prompt": "the subject slowly turns and smiles at the camera",
    "image": "<base64-encoded-image>",
    "quality": "fast",
    "resolution": "sd",
    "negative_prompt": "",
    "seed": 0
  }'

What you'll get back

Returns a JSON object with status (string), message (string), and task_id (string) fields. status indicates the job state, message provides a human-readable note, and task_id is the identifier for the queued generation task.

{
  "task_id": "506338b47997",
  "status": "processing",
  "message": "Video generation started. Poll GET /v1/tasks/{task_id} for result."
}
TRY ITLIVE · 7200 ATOMS
Loading your default key…
The full key is used to call the gateway and stays in this tab — never sent to orbit or saved.
body*
Base64-encoded source image to animate.
The text description of the motion to generate.
Random seed for reproducible generation.
Generation quality tier.
Output resolution tier.

About this endpoint

What this endpoint does

Image to Video Generator turns a photo into a short animated MP4 using LTX video generation. Send an image (base64-encoded) and a prompt describing the motion, and optionally tune quality (fast, balanced, or best), resolution (sd or hd), negative_prompt, and seed.

The POST /v1/ltx/i2v endpoint starts a generation task and returns a status, message, and task_id. Use GET /v1/tasks/:task_id (same poller as the text-to-video endpoint) to check progress until the job reaches completed or error. When the video is ready, the task status response includes an output_url to the finished MP4.

Use Image to Video Generator when you want to animate a product photo, portrait, or scene image into a short cinematic clip while keeping the composition of the source photo.

Request Body

ParameterTypeMandatoryDescription
promptStringYesThe text description of the motion to generate.
imageStringYesBase64-encoded source image to animate.
qualityENUMNoGeneration quality tier. Allowed values: fast, balanced, best. Default: fast.
resolutionENUMNoOutput resolution tier. Allowed values: sd, hd. Default: sd.
negative_promptStringNoWhat to avoid in the generated video. Default: "".
seedIntegerNoRandom seed for reproducible generation. Default: 0.

Response

Returns a JSON object with status, message, and task_id string fields. The task_id field contains the identifier for the asynchronous job.

ParameterTypeMandatoryDescription
statusStringNoJob status.
messageStringNoAdditional message about the request or job.
task_idStringNoThe job identifier to use when checking progress.

Notes

This endpoint kicks off an async job and returns immediately with a job identifier; the actual work runs in the background. Pair this call with the ltx-get-task endpoint (GET /v1/tasks/:task_id) — poll that until the status reaches a terminal state to retrieve the result. Extract the job id from task_id.

Notes: Image-to-video with LTX-Video 13B (distilled) on a dedicated NVIDIA RTX 5080. Generates a ~5-second clip in ~20-40 seconds depending on quality/resolution tier.

▣ ENDPOINT 03 / 03
GET
Poll LTX video status (RTX 5080)
https://api.eu.apyhub.com/mastera-ai/ltx-video-rtx-5080/v1/tasks/:task_id

QUICKSTART

GUIDE

Quickstart

Check the status of a video-generation task by its task_id.

curl "https://api.eu.apyhub.com/mastera-ai/ltx-video-rtx-5080/v1/tasks/:task_id" \
  -H 'apy-token: $APY_TOKEN'  

What you'll get back

Returns a JSON object with these top-level fields when available: type (string), error (string), status (string), message (string), task_id (string), and output_url (string).

{
  "type": "ltx_t2v",
  "status": "completed",
  "task_id": "task-123",
  "output_url": "https://example.com/video.mp4"
}
TRY ITLIVE · 1 ATOM
Loading your default key…
The full key is used to call the gateway and stays in this tab — never sent to orbit or saved.

About this endpoint

What it does

Polls the status of an LTX text-to-video task using the task identifier in the path. The response reports the task’s current status and may include the finished video URL once the task is completed.

Path Parameter(s)

AttributeTypeMandatoryDescription
task_idStringYesIdentifies the video generation task.

Response

Returns a JSON object with type, error, status, message, task_id, and output_url fields. The status field indicates the current task state, and output_url is the URL to the finished MP4 when status is completed.

ParameterTypeMandatoryDescription
typeStringNoTask type.
errorStringNoError message, if present.
statusENUMNoCurrent task status. Allowed values: processing, generating, completed, error.
messageStringNoAdditional status message.
task_idStringNoTask identifier.
output_urlStringNoURL to the finished MP4, only when status is completed.
▣ COMMON ERRORS

Errors any endpoint can return

400bad_request

Required parameter missing or malformed body.

401unauthorized

API key missing, revoked, or not authorized for this service.

429rate_limited

Your plan's per-second rate exceeded. Retry with exponential backoff.

503upstream_busy

Backend temporarily unavailable. Try again in a few seconds.