Loading...
Loading...
Comprehensive creation via Xiaoyunque's AI capabilities, supporting generation and editing of images/videos. Covered scenarios include: Generation (text-to-image, text-to-video, image-to-video, animation creation, draw xxx, create xxx clip), Editing & Revision (replace xxx with yyy, remove xxx, add xxx, change to xxx, adjust xxx, local modification, lens adjustment), Style Transfer (style migration, repainting, style change), video continuation, video/TVC/promotional video replication, short drama/short comic drama generation, music MV creation, product advertisement/demo video production, storyboard design, educational video/short video production. This skill should also be triggered when users mention Xiaoyunque, xyq, uploading reference images/videos, or checking generation progress. Key Judgment: This skill must be triggered whenever the user's request involves AI video creation, generation, editing, or revision, regardless of the wording (e.g., "draw a cat", "make a poster", "create a video", "help me revise this video", "help me replicate this video", "make an MV with this song", "generate a short drama with one sentence")
npx skill4agent add pippit-dev/pippit-skills xyq-nest-skillthread_idrun_idafter_seqsingle imagesingle video fileasset_idexport XYQ_ACCESS_KEY="your-access-key"XYQ_OPENAPI_BASEXYQ_BASE_URLhttps://xyq.jianying.com# Create a new session and send "Generate an anime video"
python3 {baseDir}/scripts/submit_run.py --message "Generate an anime video"
# Send a message to an existing session
python3 {baseDir}/scripts/submit_run.py --message "Generate another story video" --thread-id THREAD_ID# Query session message list
python3 {baseDir}/scripts/get_thread.py --thread-id THREAD_ID --run-id RUN_ID --after-seq SEQUENCEis returned byrun_idand used to specify the result of a specific run.submit_run
# Upload image
python3 {baseDir}/scripts/upload_file.py /path/to/image.png
# Upload video
python3 {baseDir}/scripts/upload_file.py /path/to/video.mp4# Download by specifying URL list, output directory, and filename prefix (e.g., artifact_01.png, artifact_02.png ...)
python3 {baseDir}/scripts/download_results.py --urls URL1 URL2 URL3 --output-dir ./xyq_output --prefix "artifact"1. submit_run.py --message "User's description" → Obtain thread_id, run_id, and web_thread_link
2. **Immediately** display `web_thread_link` to the user (e.g., "Task submitted, view progress here: {web_thread_link}")
3. Call get_thread.py --thread-id THREAD_ID --run-id RUN_ID --after-seq SEQUENCE every `10` seconds for polling
4. Check messages:
- When the task is still in progress:
- Display process updates to the user and continue polling
- When the task is completed (run ends):
- If intent confirmation/process interruption is involved (e.g., "Please answer the following question"):
→ Display the question to the user and wait for a reply
→ Resubmit the task using `thread_id` (maintain the same session, generate a new run_id)
→ Return to step 2 to continue polling (may require multiple rounds until no more intent confirmation)
- If content contains artifact URLs:
→ Display information → Download artifacts → Show results
5. Auto-download: download_results.py --urls URL1 URL2 URL3 --output-dir output-directory --prefix meaningful-prefix
6. Display to user: Process updates and list of downloaded local files1. upload_file.py /path/to/video.mp4 → Obtain asset_id
2. submit_run.py --message "Create a new video referencing this one" --asset-ids asset_id → Obtain thread_id, run_id, web_thread_link
3. Follow steps 2-6 in Scenario 11. upload_file.py /path/to/ref1.png → Obtain asset_id1
2. upload_file.py /path/to/ref2.mp4 → Obtain asset_id2
3. Upload all files until all asset_ids are obtained
4. submit_run.py --message "Generate xxx based on reference images and videos" --asset-ids asset_id1 asset_id2, ... → Obtain thread_id, run_id, web_thread_link
5. Follow steps 2-6 in Scenario 11. submit_run.py --message "New description" --thread-id THREAD_ID → Obtain thread_id, run_id, web_thread_link
2. Follow steps 2-6 in Scenario 148 hours{
"thread_id": "90f05e0c-...",
"run_id": "abc123-...",
"web_thread_link": "https://xyq.jianying.com/..."
}{
"messages": [
{"id": "1", "role": "user", "content": "Generate an anime video"},
{"id": "2", "role": "assistant", "content": [
{
"type": "{type}",
"subtype": "{sub_type}",
"data": {...}
}
]},
{"id": "3", "role": "assistant", "content": [
{
"type": "{type}",
"subtype": "{sub_type}",
"data": {..., "url": "{url}"....}
}
]}
]
}{
"asset_id": "{asset_id}"
}{
"output_dir": "./xyq_output",
"downloaded": ["./xyq_output/01.png", "..."],
"total": 10
}web_thread_linkthread_idupload_file.pysubmit_run.pyget_thread.pyget_thread.pyUser says: "Create a science popularization story video based on multiple reference images"
User provides reference images: /path/to/ref1.png, /path/to/ref2.png, /path/to/ref3.png
→ upload_file.py /path/to/ref1.png → Get asset_id1
→ upload_file.py /path/to/ref2.png → Get asset_id2
→ upload_file.py /path/to/ref3.png → Get asset_id3
→ submit_run.py --message "Generate xxx based on reference images and videos" --asset-ids asset_id1 asset_id2, asset_id3 → Obtain web_thread_link and display it to the user immediately
→ Polling ─┬─ Intent confirmation → User confirms → Resubmit using thread_id → Continue polling
└─ No intent confirmation → Display updates → Download artifacts → Show results❌ User-side creates a 9-grid storyboard list (confrontation, clash, crisis...)
❌ Then sends self-written descriptions to the backend
❌ Or splits into 9 separate submit_run callsAuthorization: Bearer <XYQ_ACCESS_KEY>message