template.json 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. {
  2. "steps": {
  3. ":original": {
  4. "robot": "/upload/handle"
  5. },
  6. "images": {
  7. "use": [
  8. ":original"
  9. ],
  10. "robot": "/file/filter",
  11. "result": true,
  12. "accepts": [
  13. ["${file.mime}", "regex", "image/"]
  14. ]
  15. },
  16. "videos": {
  17. "use": [
  18. ":original"
  19. ],
  20. "robot": "/file/filter",
  21. "result": true,
  22. "accepts": [
  23. ["${file.mime}", "regex", "video/"]
  24. ]
  25. },
  26. "audios": {
  27. "use": [
  28. ":original"
  29. ],
  30. "robot": "/file/filter",
  31. "result": true,
  32. "accepts": [
  33. ["${file.mime}", "regex", "audio/"]
  34. ]
  35. },
  36. "others": {
  37. "use": [
  38. ":original"
  39. ],
  40. "robot": "/file/filter",
  41. "result": true,
  42. "rejects": [
  43. ["${file.mime}", "regex", "image/"],
  44. ["${file.mime}", "regex", "video/"],
  45. ["${file.mime}", "regex", "audio/"]
  46. ]
  47. },
  48. "audio_thumbnails": {
  49. "use": [
  50. "audios"
  51. ],
  52. "robot": "/audio/artwork",
  53. "ffmpeg_stack": "v3.3.3"
  54. },
  55. "resized_thumbnails": {
  56. "use": [
  57. "images",
  58. "audio_thumbnails"
  59. ],
  60. "robot": "/image/resize",
  61. "imagemagick_stack": "v1.0.0",
  62. "width": 400,
  63. "height": 300,
  64. "resize_strategy": "fit",
  65. "zoom": false
  66. },
  67. "video_thumbnails": {
  68. "use": [
  69. "videos"
  70. ],
  71. "robot": "/video/thumbs",
  72. "ffmpeg_stack": "v3.3.3",
  73. "count": 1,
  74. "offsets": [
  75. "50%"
  76. ],
  77. "format": "jpeg",
  78. "width": 400,
  79. "height": 300,
  80. "resize_strategy": "fit"
  81. },
  82. "thumbnails": {
  83. "use": [
  84. "resized_thumbnails",
  85. "video_thumbnails"
  86. ],
  87. "robot": "/image/optimize",
  88. "result": true
  89. }
  90. }
  91. }