تحميل صورة الحركة
tong_motion_image_uploadتحقق من أصل موجود تملكه لهذا المسار. استخدم نقطة التحميل عند البدء بملف محلي.
/v1/tools/tong_motion_image_upload/operationsمثال طلب#
curl -X POST 'https://platform.tongai.io/v1/tools/tong_motion_image_upload/operations' \ -H "Authorization: Bearer $TONG_API_KEY" \ -H "Content-Type: application/json" \ -H "Idempotency-Key: 45be69f1-c266-4a09-a82c-bf3c6303eb03" \ -d '{ "input": { "body": { "assetId": "aaaaaaaaaaaaaaaaaaaaaaaa" } }}'الإعدادات
curl --versionالأذونات#
استخدم مفتاح API على الخادم لحسابك، أو OAuth لحساب كل عميل. لا ترسل المفاتيح في المطالبات أو وسيطات الأدوات.
assets:writeمحتوى الطلب#
تغلّف طلبات REST معاملات الأداة داخل input. ترسل استدعاءات MCP المعاملات نفسها مباشرة.
bodyobjectمطلوبعرض الحقول المتداخلة
assetIdstringمطلوباستخدم معرّف أصل يملكه الحساب المصرح له.
معرّف سداسي عشري من 24 محرفًا.
"aaaaaaaaaaaaaaaaaaaaaaaa"ترويسات الطلب#
Authorization: Bearer $TONG_API_KEYContent-Type: application/jsonIdempotency-Key: 45be69f1-c266-4a09-a82c-bf3c6303eb03احتفظ بمعرّف UUID واحد لكل إجراء وأعد استخدامه بعد انتهاء المهلة أو إعادة المحاولة. تُرفض المدخلات المختلفة بالمعرّف نفسه.
حقول الاستجابة#
قبول الطلب لا يعني اكتمال التوليد. تابع المهمة المحفوظة حتى تصبح النتيجة جاهزة.
القبول يعني حفظ الطلب. اقرأ عمليته لمتابعة التنفيذ.
{ "id": "e8aa0a87-6cd9-42eb-975a-b72bf43218c8", "tool": "tong_motion_image_upload", "category": "attachments", "channel": "api", "state": "queued", "status": "accepted", "stage": "admission", "dispatch_status": "pending", "created_at": "2026-10-22T09:00:00.000Z", "updated_at": "2026-10-22T09:00:00.000Z", "detail_expires_at": null, "detail_expired": false, "timing": { "dispatch_started_at": null, "acknowledged_at": null, "completed_at": null, "dispatch_acknowledgement_ms": null, "end_to_end_ms": null }, "review": null, "result": null, "error": null, "billing": { "status": "pending", "usage_credits": "0.000000", "wallet_debited_credits": "0.000000" }}idstringمطلوبالمعرّف الفريد للعملية المحفوظة.
معرّف UUID، مثل e8aa0a87-6cd9-42eb-975a-b72bf43218c8.
toolstringمطلوبcategorystringمطلوبchannelstringمطلوب"api""mcp"statestringمطلوبحالة التنفيذ الحالية للعمل المحفوظ.
"queued""running""waiting""needs_review""paused""reconciling""succeeded""failed""cancelled"statusstringمطلوبالحالة العامة المستخدمة لتتبع العملية.
"accepted""running""needs_review""paused""reconciling""succeeded""failed""cancelled"stagestringمطلوبالمرحلة الحالية للعملية.
"admission""dispatch""review""generation""reconciliation""complete"dispatch_statusstringمطلوبما إذا كانت الأداة قد قبلت الطلب. لا يعني الإقرار أن التوليد اكتمل.
"pending""unknown""acknowledged"created_atstringمطلوبتاريخ ووقت بتنسيق ISO 8601، مثل 2026-10-22T09:00:00Z.
updated_atstringمطلوبتاريخ ووقت بتنسيق ISO 8601، مثل 2026-10-22T09:00:00Z.
detail_expires_atstring | nullمطلوبموعد انتهاء صلاحية تفاصيل العملية المحفوظة. تعني القيمة null أنه لا يوجد انتهاء محدد حاليًا.
تاريخ ووقت بتنسيق ISO 8601، مثل 2026-10-22T09:00:00Z.
detail_expiredbooleanمطلوبما إذا كانت صلاحية تفاصيل العملية المحفوظة قد انتهت.
timingobjectمطلوبالطوابع الزمنية والمدد المنقضية لتتبع هذه العملية.
عرض الحقول المتداخلة
dispatch_started_atstring | nullمطلوبتاريخ ووقت بتنسيق ISO 8601، مثل 2026-10-22T09:00:00Z.
acknowledged_atstring | nullمطلوبتاريخ ووقت بتنسيق ISO 8601، مثل 2026-10-22T09:00:00Z.
completed_atstring | nullمطلوبتاريخ ووقت بتنسيق ISO 8601، مثل 2026-10-22T09:00:00Z.
dispatch_acknowledgement_msnumber | nullمطلوبالحد الأدنى: 0.
end_to_end_msnumber | nullمطلوبالحد الأدنى: 0.
reviewJSON | nullمطلوبمعلومات المراجعة عندما تحتاج العملية إلى تدخل بشري؛ وإلا تكون null.
resultJSON | nullمطلوبالمخرجات التي تعيدها هذه الأداة، أو null عندما لا تتوفر مخرجات.
errorobject | nullمطلوبرمز الخطأ العام إذا فشلت العملية؛ وإلا تكون null.
عرض الحقول المتداخلة
codestringمطلوبbillingobjectمطلوباستخدام أرصدة العميل ورسوم المحفظة. جاهزية المخرجات وتسوية الفوترة حالتان منفصلتان.
عرض الحقول المتداخلة
statusstringمطلوب"none""pending""settled""released""reconciling"usage_creditsstringمطلوبسلسلة عشرية بست منازل عشرية، مثل 1.250000.
wallet_debited_creditsstringمطلوبسلسلة عشرية بست منازل عشرية، مثل 1.250000.
released_creditsstringاختياريسلسلة عشرية بست منازل عشرية، مثل 1.250000.
refunded_creditsstringاختياريسلسلة عشرية بست منازل عشرية، مثل 1.250000.
unfunded_creditsstringاختياريسلسلة عشرية بست منازل عشرية، مثل 1.250000.
pending_creditsstringاختياريسلسلة عشرية بست منازل عشرية، مثل 1.250000.
tokensobjectاختياريعرض الحقول المتداخلة
inputnumberاختياريالحد الأدنى: 0.
outputnumberاختياريالحد الأدنى: 0.
cachednumberاختياريالحد الأدنى: 0.
cache_writenumberاختياريالحد الأدنى: 0.
componentsobject[]اختياريعرض الحقول المتداخلة
idstringاختياريsource_idstringمطلوبtoolstringمطلوبmodelstring | nullمطلوبchannelstringمطلوب"api""mcp"credential_idstringمطلوبkindstringمطلوب"text_pool""reasoning""generation"usage_creditsstringمطلوبسلسلة عشرية بست منازل عشرية، مثل 1.250000.
wallet_debited_creditsstringمطلوبسلسلة عشرية بست منازل عشرية، مثل 1.250000.
evidence_atstringاختياريتاريخ ووقت بتنسيق ISO 8601، مثل 2026-10-22T09:00:00Z.
updated_atstringاختياريتاريخ ووقت بتنسيق ISO 8601، مثل 2026-10-22T09:00:00Z.
quoteobjectاختياريالإعدادات والسعر وقيم الإرسال عند توفر عرض سعر.
عرض الحقول المتداخلة
idstringمطلوبمعرّف UUID، مثل e8aa0a87-6cd9-42eb-975a-b72bf43218c8.
operation_idstringمطلوبمعرّف UUID، مثل e8aa0a87-6cd9-42eb-975a-b72bf43218c8.
toolstringمطلوبoperationstring | nullمطلوبmodelstring | nullمطلوبconfigurationobjectمطلوبsubmit_valuestringمطلوبsubmit_fieldstringمطلوبquoted_creditsstring | nullمطلوبسلسلة عشرية بست منازل عشرية، مثل 1.250000.
expires_atstring | nullمطلوبتاريخ ووقت بتنسيق ISO 8601، مثل 2026-10-22T09:00:00Z.
استدعاء MCP#
{ "jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "name": "tong_motion_image_upload", "arguments": { "body": { "assetId": "aaaaaaaaaaaaaaaaaaaaaaaa" } }, "_meta": { "io.tongai/idempotency-key": "45be69f1-c266-4a09-a82c-bf3c6303eb03" } }}تغلّف طلبات REST معاملات الأداة داخل input. ترسل استدعاءات MCP المعاملات نفسها مباشرة.
الاستجابة
{ "jsonrpc": "2.0", "id": 1, "result": { "structuredContent": { "id": "e8aa0a87-6cd9-42eb-975a-b72bf43218c8", "tool": "tong_motion_image_upload", "category": "attachments", "channel": "mcp", "state": "queued", "status": "accepted", "stage": "admission", "dispatch_status": "pending", "created_at": "2026-10-22T09:00:00.000Z", "updated_at": "2026-10-22T09:00:00.000Z", "detail_expires_at": null, "detail_expired": false, "timing": { "dispatch_started_at": null, "acknowledged_at": null, "completed_at": null, "dispatch_acknowledgement_ms": null, "end_to_end_ms": null }, "review": null, "result": null, "error": null, "billing": { "status": "pending", "usage_credits": "0.000000", "wallet_debited_credits": "0.000000" } }, "content": [ { "type": "text", "text": "{\"id\":\"e8aa0a87-6cd9-42eb-975a-b72bf43218c8\",\"tool\":\"tong_motion_image_upload\",\"category\":\"attachments\",\"channel\":\"mcp\",\"state\":\"queued\",\"status\":\"accepted\",\"stage\":\"admission\",\"dispatch_status\":\"pending\",\"created_at\":\"2026-10-22T09:00:00.000Z\",\"updated_at\":\"2026-10-22T09:00:00.000Z\",\"detail_expires_at\":null,\"detail_expired\":false,\"timing\":{\"dispatch_started_at\":null,\"acknowledged_at\":null,\"completed_at\":null,\"dispatch_acknowledgement_ms\":null,\"end_to_end_ms\":null},\"review\":null,\"result\":null,\"error\":null,\"billing\":{\"status\":\"pending\",\"usage_credits\":\"0.000000\",\"wallet_debited_credits\":\"0.000000\"}}" } ] }}الأخطاء والحدود#
| HTTP | الخطأ | الاستئناف |
|---|---|---|
400 | طلب غير صالحREQUEST_INVALID | صحح الحقول المشار إليها في الخطأ قبل إعادة المحاولة. |
401 | بيانات اعتماد غير صالحةCREDENTIAL_INVALID | تحقق من بيانات الاعتماد وانتهائها وما إذا أُلغيت. |
402 | أرصدة غير كافيةINSUFFICIENT_CREDITS | أضف أرصدة إلى الحساب المالك لبيانات الاعتماد ثم تابع العمل المحفوظ. |
403 | الإذن مرفوضSCOPE_REQUIRED | استخدم بيانات اعتماد بالأذونات المطلوبة والوصول إلى المورد المحدد. |
404 | المورد غير متاحRESOURCE_UNAVAILABLE | تحقق من معرّف المورد وملكيته للحساب المصرح له. |
409 | تعارض القصدIDEMPOTENCY_CONFLICT | أعد استخدام القصد مع طلبه الأصلي فقط. استخدم UUID جديدًا لإجراء مختلف. |
429 | تم بلوغ حد الطلباتRATE_LIMITED | انتظر المدة المحددة في Retry-After قبل إعادة الطلب نفسه. |
503 | غير متاح مؤقتًاDEPENDENCY_UNAVAILABLE | انتظر Retry-After وأعد المحاولة بالقصد نفسه. تحقق من العملية المحفوظة بعد انتهاء مهلة. |