This skill is the executable interface to the MyReels public API. Use the bundled scripts first. Fall back to the raw HTTP references only when the scripts do not cover the case.
userInputSchema from the live models endpoint.curl or fetch.GET https://api.myreels.ai/api/v1/models/api was verified on March 18, 2026 and currently does not require Authorization.Config file ~/.myreels/config:
bash
MYREELS_BASE_URL="https://api.myreels.ai"
MYREELS_ACCESS_TOKEN="YOUR_ACCESS_TOKEN"
The scripts in this skill read that file automatically. Environment variables override the file.
First-time setup or config issues:
bash
scripts/myreels-doctor.sh
scripts/myreels-doctor.sh
Checks config, dependencies, and live connectivity.scripts/myreels-models.sh
Loads live model metadata and can filter by tag or modelName.scripts/myreels-generate.sh
Submits a generation task for a chosen model.scripts/myreels-tasks-list.sh
Lists the authenticated user's tasks with paging and filters.scripts/myreels-task-get.sh
Queries a task and derives the next action for the agent.bash
scripts/myreels-models.sh --summary
If you already know the candidate model, inspect its full schema:
bash
scripts/myreels-models.sh --model MODEL_NAME
Priority fields when selecting a model:
modelNamenametagsdescriptionestimatedCostdisplayConfig.estimatedTimeuserInputSchemauserInputSchema.<param>.labeluserInputSchema.<param>.descriptionuserInputSchema.<param>.defaultuserInputSchema.<param>.optionsFor natural-language requests such as "stronger motion" or "disable prompt extension", map user intent from label and description, not from field names alone.
Use this when the user asks for recent tasks, task history, or wants to find tasks by status or date.
bash
scripts/myreels-tasks-list.sh --page 1 --limit 10
Common filters:
bash
scripts/myreels-tasks-list.sh --status completed --start-date 2026-03-01T00:00:00.000Z
For GET requests, the public Worker uses query parameters for these filters.
Supported task status values:
pendingprocessingcompletedfailedcancelledwarningUse the real modelName, not a display slug.
Example:
bash
scripts/myreels-generate.sh nano-banana2 '{"prompt":"A cinematic portrait with soft studio lighting"}'
Alternative if the request body is large:
bash
scripts/myreels-generate.sh --model nano-banana2 --file request.json
The script returns a normalized JSON acknowledgement with taskID and the next polling hint.
bash
scripts/myreels-task-get.sh TASK_ID
The script returns a simplified action model:
WAIT
Task is still running. Poll again later.DELIVER
Task completed. Deliver resultUrls to the user.FAILED
Task failed. Explain the failure and retry with a corrected request.REVIEW
Unexpected task state. Inspect the raw response before retrying.Task states from the public API:
pendingprocessingcompletedfailedcancelledwarningPolling guidance:
Query rate limit:
When nextAction=DELIVER, read resultUrls from the output and pass the final URLs to the user. Save them on your side if persistence matters.
2xx, then inspect the response body status.data.status after status === "ok".code, the Worker uses it as the final HTTP status.code, the Worker falls back to the upstream HTTP status.POST /generation/:modelNameGET /generation/tasksGET /query/task/:taskIDGET|POST /api/v1/*CategoryTagsDescriptionImage and editingt2i / i2i / i2etext-to-image, image-to-image, image editingVideot2v / i2vtext-to-video, image-to-video, avatar/video motionSpeech and musict2a / m2atext-to-speech, music generation
If the bundled scripts do not cover the case, use the raw HTTP references:
bash
npx skills add https://github.com/myreelsai/skills --skill myreels-api -g
Remove -g for a project-level install.