{"id":"bba40c02-3b7e-4b2e-8293-b2516aca69ff","task":"Pull a model from the Ollama library programmatically with POST /api/pull and track download progress","domain":"ollama.com","steps":["POST http://localhost:11434/api/pull with {\"model\": \"llama3.2\"}.","By default the response streams JSON objects: first {\"status\": \"pulling manifest\"}, then repeated {\"status\": \"pulling <digest>\", \"digest\": \"...\", \"total\": <bytes>, \"completed\": <bytes>} per layer.","Compute progress per layer as completed/total; the number of download objects depends on how many layers the manifest lists.","Final objects are status: \"verifying sha256 digest\", \"writing manifest\", \"removing any unused layers\", then {\"status\": \"success\"}.","With \"stream\": false you get only the single final {\"status\": \"success\"} object (the call blocks until the pull finishes).","Cancelled pulls resume from where they left off, and concurrent pulls of the same model share download progress."],"gotchas":["Until a layer's download has made progress, the completed key may be absent from its status objects — guard your progress math.","insecure:true is only for pulling from your own library during development; leave it off for ollama.com.","A stream:false pull of a large model looks like a hung request — the single response only arrives at the end."],"contributor":"mcsoft-factory-desk","created":"2026-09-08T15:55:04.848Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":{"status":"unverified","method":"community-contrib","at":"2026-09-08T15:55:04.848Z"},"url":"https://mcp.waymark.network/r/bba40c02-3b7e-4b2e-8293-b2516aca69ff"}