Nxtpath MiniMax Video
Uses the standalone client scripts/nxtpath_minimax_video.py, fixed gateway https://api.nxtpath.ai/v1, default model minimax/minimax-h3. Parameters follow the Nxtpath H3 channel, not the MiniMax official direct API or Seedance parameters. Verified interfaces and scopes are documented in API Reference.
Configuration & Input
- Reuses the local
NXTPATH_API_KEY, environment variable takes precedence, otherwise reads~/.config/nxtpath/env;NXTPATH_ENV_FILEcan override the file path. Does not read Claude, Codex, or Grok chat credentials, and does not place the key on the command line or in task records. - Locates the client from this skill's actual directory. Prefers
~/.config/nxtpath/venv/bin/python; text or HTTPS image input only requires Python 3.9+. Local image hosting additionally requires boto3 fromscripts/requirements.txt; configuration details are in Configuration & Recovery. - First reads the target project's assets and privacy conventions. Each candidate uses a new task directory, defaulting to the project's ignored
tmp/artwork/generations/<run-id>/<asset-id>/<attempt-id>/; when no project exists, uses the current workspace's temp directory or user-specified location. Does not overwrite old tasks or automatically replace formal resources. - Default sample is 4 seconds, 720p, 16:9. Duration is an integer between 4–12 seconds, resolution only 720p / 960p / 2k, aspect ratio 21:9 / 16:9 / 4:3 / 1:1 / 3:4 / 9:16.
- Three input modes: text-only;
--first-frameand/or--last-frame(max one each); repeatable--ref-imagefor ordinary reference images. First/last frames and ordinary reference images cannot be mixed; reference audio or reference video are not supported. Ordinary reference images do not have the role of first/last frames. - Images use HTTPS URL, or local PNG/JPEG/WebP (max 20 MiB each). Rejects data URLs. Overly large images require saving a reduced copy first without modifying the user's original.
Generation & Resumption
When the user explicitly requests video generation, complete one candidate; batch and rework counts follow the current convention. Merely checking configuration, researching interfaces, or creating a skill does not authorize paid generation. Without an agreed-upon extra attempt, do not automatically regenerate failed tasks or switch models.
- Use
doctor --check-apito read-only verify credentials,model_available, andmodel_supported; if any model check is false, stop submission and verify the directory or configuration. - According to the user's request, organize action, shot, duration, and any characters/props to maintain; write the prompt into a UTF-8 file. Use
prepareto freeze the prompt, parameters, and input snapshot; this command runs offline and does not generate video. - If local images exist, run
host, using the configured private R2, reuse content-hash objects, issue a 24-hour GET and verify the download hash. This operation sends the input to R2 and the video provider; stop on hosting failure, do not automatically switch to a public image host or account. Text-only or existing HTTPS images can skip this step. - Run
submitonce. It persists an exclusive submission record and idempotency key before the paid POST; then uses a separatestatusquery. Service status:Pending/Running/Success/Failure/Expired. While waiting, use host-interruptible waiting with progress communication, do not poll for minutes in a long shell call. - On
Success, usedownloadto download and verify the MP4. Retry only the download on failure;Failure/Expiredare terminal states for the task—report the result and do not automatically create a new paid task. - For cross-conversation resumption, use the original job path, first
inspect, thenstatus/download. Do not re-POST when a submission record exists, on timeout, disconnection, or missing task ID; if the result is uncertain, check with the provider using private records, do not bypass with a new attempt.
Command examples (PY, CLIENT, JOB, PROMPT_FILE and image variables refer to actual paths; JOB must not already exist):
"$PY" "$CLIENT" doctor --check-api
"$PY" "$CLIENT" prepare --job "$JOB" --prompt-file "$PROMPT_FILE" --first-frame "$FIRST_FRAME" --last-frame "$LAST_FRAME" --duration 4 --resolution 720p --ratio 16:9
"$PY" "$CLIENT" host --job "$JOB"
"$PY" "$CLIENT" submit --job "$JOB"
"$PY" "$CLIENT" status --job "$JOB"
"$PY" "$CLIENT" download --job "$JOB"
Omit --last-frame when only the first frame is provided; use --ref-image instead of both frame parameters for ordinary reference images; omit all image parameters and host for text-to-video. The local NXTPATH_MINIMAX_MODEL or explicit --model can only select supported H3 IDs, and does not fall back to other channels.
Delivery
Deliver a playable local video.mp4 and the task directory, displaying the video with absolute path. State the actual parameters, and whether the original speed, motion, and first/last frames were reviewed; HTTP success does not guarantee visual quality or character consistency. The interface supporting first/last frames does not imply pixel-perfect assurance; the result is subject to the actual video.
The prompt, signed image URLs, task handle, and response are stored in records readable only by the current user; do not paste the entire record into chat or submit to Git. The console shows only the task handle fingerprint. Video bearer tokens are sent only to this gateway's corresponding artifact handle; subsequent HTTPS media downloads use anonymous requests.